Move bytecode structures to internal header
[lttng-modules.git] / include / lttng / events-internal.h
index b7fb2833916611e87e44314127a27eb1d6369ad0..df70273a5eaaa70ae3b2e988b64f060284f55722 100644 (file)
@@ -78,6 +78,38 @@ struct lttng_kernel_bytecode_filter_ctx {
        enum lttng_kernel_bytecode_filter_result result;
 };
 
+struct lttng_interpreter_output;
+
+enum lttng_kernel_bytecode_type {
+       LTTNG_KERNEL_BYTECODE_TYPE_FILTER,
+       LTTNG_KERNEL_BYTECODE_TYPE_CAPTURE,
+};
+
+struct lttng_kernel_bytecode_node {
+       enum lttng_kernel_bytecode_type type;
+       struct list_head node;
+       struct lttng_enabler *enabler;
+       struct {
+               uint32_t len;
+               uint32_t reloc_offset;
+               uint64_t seqnum;
+               char data[];
+       } bc;
+};
+
+struct lttng_kernel_bytecode_runtime {
+       /* Associated bytecode */
+       enum lttng_kernel_bytecode_type type;
+       struct lttng_kernel_bytecode_node *bc;
+       int (*interpreter_func)(struct lttng_kernel_bytecode_runtime *kernel_bytecode,
+                               const char *interpreter_stack_data,
+                               struct lttng_kernel_probe_ctx *lttng_probe_ctx,
+                               void *caller_ctx);
+       int link_failed;
+       struct list_head node;  /* list of bytecode runtime in event */
+       struct lttng_kernel_ctx *ctx;
+};
+
 /*
  * Enabler field, within whatever object is enabling an event. Target of
  * backward reference.
This page took 0.023022 seconds and 4 git commands to generate.