X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Flttng-bytecode.h;h=cd0d8fbedc81542b55004e04826fbc29aaf5cda0;hb=09710b830767f6cc69fc68ea7e1903a1122d1045;hp=d2d5fea1d6f78cc8ee029836c1c47ce47f71dda3;hpb=a775608d0d1d6142c80c26b21ff79bf7e04d8e53;p=lttng-modules.git diff --git a/include/lttng/lttng-bytecode.h b/include/lttng/lttng-bytecode.h index d2d5fea1..cd0d8fbe 100644 --- a/include/lttng/lttng-bytecode.h +++ b/include/lttng/lttng-bytecode.h @@ -13,6 +13,7 @@ #include #include +#include #include /* Interpreter stack length, in number of entries */ @@ -34,9 +35,9 @@ do { \ } while (0) #endif -/* Linked bytecode. Child of struct lttng_bytecode_runtime. */ +/* Linked bytecode. Child of struct lttng_kernel_bytecode_runtime. */ struct bytecode_runtime { - struct lttng_bytecode_runtime p; + struct lttng_kernel_bytecode_runtime p; size_t data_len; size_t data_alloc_len; char *data; @@ -284,26 +285,19 @@ struct lttng_interpreter_output { const char *lttng_bytecode_print_op(enum bytecode_op op); -void lttng_bytecode_filter_sync_state(struct lttng_bytecode_runtime *runtime); -void lttng_bytecode_capture_sync_state(struct lttng_bytecode_runtime *runtime); +void lttng_bytecode_sync_state(struct lttng_kernel_bytecode_runtime *runtime); int lttng_bytecode_validate(struct bytecode_runtime *bytecode); int lttng_bytecode_specialize(const struct lttng_kernel_event_desc *event_desc, struct bytecode_runtime *bytecode); -uint64_t lttng_bytecode_filter_interpret_false(void *filter_data, - struct lttng_probe_ctx *lttng_probe_ctx, - const char *filter_stack_data); -uint64_t lttng_bytecode_filter_interpret(void *filter_data, - struct lttng_probe_ctx *lttng_probe_ctx, - const char *filter_stack_data); - -uint64_t lttng_bytecode_capture_interpret_false(void *capture_data, - const char *capture_stack_data, - struct lttng_probe_ctx *lttng_probe_ctx, - struct lttng_interpreter_output *output); -uint64_t lttng_bytecode_capture_interpret(void *capture_data, - const char *capture_stack_data, - struct lttng_probe_ctx *lttng_probe_ctx, - struct lttng_interpreter_output *output); +int lttng_bytecode_interpret_error(struct lttng_kernel_bytecode_runtime *bytecode_runtime, + const char *stack_data, + struct lttng_kernel_probe_ctx *probe_ctx, + void *ctx); + +int lttng_bytecode_interpret(struct lttng_kernel_bytecode_runtime *kernel_bytecode, + const char *interpreter_stack_data, + struct lttng_kernel_probe_ctx *lttng_probe_ctx, + void *caller_ctx); #endif /* _LTTNG_FILTER_H */