X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust%2Flttng-bytecode.h;h=ad3e3d0e5ffac15fc96c28aa1521cbf6fadd0a24;hb=ebedc67b171d18b372d9f90329a891a0e934e282;hp=4f1b88f1aa92a21ccda3d337eaebf631aebef14a;hpb=04aa13f8c2944839f6514e3841b93057b443a783;p=lttng-ust.git diff --git a/liblttng-ust/lttng-bytecode.h b/liblttng-ust/lttng-bytecode.h index 4f1b88f1..ad3e3d0e 100644 --- a/liblttng-ust/lttng-bytecode.h +++ b/liblttng-ust/lttng-bytecode.h @@ -112,6 +112,9 @@ enum object_type { OBJECT_TYPE_U32, OBJECT_TYPE_U64, + OBJECT_TYPE_SIGNED_ENUM, + OBJECT_TYPE_UNSIGNED_ENUM, + OBJECT_TYPE_DOUBLE, OBJECT_TYPE_STRING, OBJECT_TYPE_STRING_SEQUENCE, @@ -329,15 +332,34 @@ struct lttng_interpreter_output { } u; }; +/* Should be hidden but would break the ABI */ const char *print_op(enum bytecode_op op); +LTTNG_HIDDEN +void lttng_bytecode_filter_sync_state(struct lttng_bytecode_runtime *runtime); +LTTNG_HIDDEN +void lttng_bytecode_capture_sync_state(struct lttng_bytecode_runtime *runtime); + +LTTNG_HIDDEN int lttng_bytecode_validate(struct bytecode_runtime *bytecode); +LTTNG_HIDDEN int lttng_bytecode_specialize(const struct lttng_event_desc *event_desc, struct bytecode_runtime *bytecode); +LTTNG_HIDDEN uint64_t lttng_bytecode_filter_interpret_false(void *filter_data, const char *filter_stack_data); +LTTNG_HIDDEN uint64_t lttng_bytecode_filter_interpret(void *filter_data, const char *filter_stack_data); +LTTNG_HIDDEN +uint64_t lttng_bytecode_capture_interpret_false(void *capture_data, + const char *capture_stack_data, + struct lttng_interpreter_output *output); +LTTNG_HIDDEN +uint64_t lttng_bytecode_capture_interpret(void *capture_data, + const char *capture_stack_data, + struct lttng_interpreter_output *output); + #endif /* _LTTNG_BYTECODE_H */