X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=include%2Flttng%2Fust-events.h;h=650784272ac3618abc03f930791b47c79ea16f25;hb=06e646e04714e0e0f7537841107ab0528ef33a52;hp=a13156b8b749d37d177058ee2a5a7136f54b78f4;hpb=65c48d6a4b532436c000f8b3b9b771cfe9c07491;p=lttng-ust.git diff --git a/include/lttng/ust-events.h b/include/lttng/ust-events.h index a13156b8..65078427 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_ctx; struct lttng_ust_event_common_private; enum lttng_ust_event_type { @@ -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,7 +497,7 @@ 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; /* Event ID management */ @@ -616,8 +565,6 @@ void lttng_ust_probe_unregister(struct lttng_ust_probe_desc *desc); */ void lttng_ust_context_procname_reset(void); -void lttng_ust_dl_update(void *ip); - #ifdef __cplusplus } #endif