X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=include%2Flttng%2Fust-events.h;h=18e4cd5541cf69985182c9006dbb58dd37ab18cf;hb=daacdbfc04fe07ecff0a0d1878b4f48d38912c78;hp=809c056d660662b5ac537e6798811a85c939e940;hpb=cbba5e044240cd4e5b90b1a312cb1cd692e027ea;p=lttng-ust.git diff --git a/include/lttng/ust-events.h b/include/lttng/ust-events.h index 809c056d..18e4cd55 100644 --- a/include/lttng/ust-events.h +++ b/include/lttng/ust-events.h @@ -246,59 +246,6 @@ struct lttng_ust_event_field { /* End of base ABI. Fields below should be used after checking struct_size. */ }; -enum lttng_ust_dynamic_type { - LTTNG_UST_DYNAMIC_TYPE_NONE, - LTTNG_UST_DYNAMIC_TYPE_S8, - LTTNG_UST_DYNAMIC_TYPE_S16, - LTTNG_UST_DYNAMIC_TYPE_S32, - LTTNG_UST_DYNAMIC_TYPE_S64, - LTTNG_UST_DYNAMIC_TYPE_U8, - LTTNG_UST_DYNAMIC_TYPE_U16, - LTTNG_UST_DYNAMIC_TYPE_U32, - LTTNG_UST_DYNAMIC_TYPE_U64, - LTTNG_UST_DYNAMIC_TYPE_FLOAT, - LTTNG_UST_DYNAMIC_TYPE_DOUBLE, - LTTNG_UST_DYNAMIC_TYPE_STRING, - _NR_LTTNG_UST_DYNAMIC_TYPES, -}; - -struct lttng_ctx_value { - enum lttng_ust_dynamic_type sel; - union { - int64_t s64; - uint64_t u64; - const char *str; - double d; - } u; -}; - -struct lttng_perf_counter_field; - -#define LTTNG_UST_CTX_FIELD_PADDING 40 -struct lttng_ctx_field { - struct lttng_ust_event_field event_field; - size_t (*get_size)(struct lttng_ctx_field *field, size_t offset); - void (*record)(struct lttng_ctx_field *field, - struct lttng_ust_lib_ring_buffer_ctx *ctx, - struct lttng_channel *chan); - void (*get_value)(struct lttng_ctx_field *field, - struct lttng_ctx_value *value); - union { - struct lttng_perf_counter_field *perf_counter; - char padding[LTTNG_UST_CTX_FIELD_PADDING]; - } u; - void (*destroy)(struct lttng_ctx_field *field); - char *field_name; /* Has ownership, dynamically allocated. */ -}; - -#define LTTNG_UST_CTX_PADDING 20 -struct lttng_ctx { - struct lttng_ctx_field *fields; - unsigned int nr_fields; - unsigned int allocated_fields; - unsigned int largest_align; - char padding[LTTNG_UST_CTX_PADDING]; -}; /* * IMPORTANT: this structure is part of the ABI between the probe and @@ -396,6 +343,7 @@ struct lttng_ust_bytecode_runtime { * removed. */ +struct lttng_ust_ctx; struct lttng_ust_event_common_private; enum lttng_ust_event_type { @@ -456,7 +404,7 @@ struct lttng_ust_event_recorder { unsigned int id; struct lttng_channel *chan; - struct lttng_ctx *ctx; + struct lttng_ust_ctx *ctx; /* End of base ABI. Fields below should be used after checking struct_size. */ }; @@ -490,7 +438,7 @@ struct lttng_ust_event_notifier { /* End of base ABI. Fields below should be used after checking struct_size. */ }; -struct channel; +struct lttng_ust_lib_ring_buffer_channel; struct lttng_ust_shm_handle; /* @@ -525,11 +473,12 @@ struct lttng_ust_channel_ops { * packet. Note that the size returned is only a hint, since it * may change due to concurrent writes. */ - size_t (*packet_avail_size)(struct channel *chan, + size_t (*packet_avail_size)(struct lttng_ust_lib_ring_buffer_channel *chan, struct lttng_ust_shm_handle *handle); - int (*is_finalized)(struct channel *chan); - int (*is_disabled)(struct channel *chan); - int (*flush_buffer)(struct channel *chan, struct lttng_ust_shm_handle *handle); + int (*is_finalized)(struct lttng_ust_lib_ring_buffer_channel *chan); + int (*is_disabled)(struct lttng_ust_lib_ring_buffer_channel *chan); + int (*flush_buffer)(struct lttng_ust_lib_ring_buffer_channel *chan, + struct lttng_ust_shm_handle *handle); void (*event_strcpy)(struct lttng_ust_lib_ring_buffer_ctx *ctx, const char *src, size_t len); @@ -548,9 +497,9 @@ struct lttng_channel { * consumer process is designed to be allowed to do is to read * and perform subbuffer flush. */ - struct channel *chan; /* Channel buffers */ + struct lttng_ust_lib_ring_buffer_channel *chan; /* Channel buffers */ int enabled; - struct lttng_ctx *ctx; + struct lttng_ust_ctx *ctx; /* Event ID management */ struct lttng_session *session; int objd; /* Object associated to channel */ @@ -579,8 +528,8 @@ struct lttng_ust_stack_ctx { uint32_t struct_size; /* Size of this structure */ struct lttng_ust_event_recorder *event_recorder; - struct lttng_ctx *chan_ctx; /* RCU dereferenced. */ - struct lttng_ctx *event_ctx; /* RCU dereferenced. */ + struct lttng_ust_ctx *chan_ctx; /* RCU dereferenced. */ + struct lttng_ust_ctx *event_ctx; /* RCU dereferenced. */ /* End of base ABI. Fields below should be used after checking struct_size. */ };