X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fevents.h;h=a145024969b0dd41758446cd0113c5638010a915;hb=717c38f658248bc04ccfc6e7fdf5d03040c2a846;hp=bf3367b7528d58c851e8a520b2edd28de06a38fb;hpb=5defa7746a21c5afdce5ac0f6a4c34795a61a272;p=lttng-ust.git diff --git a/src/common/events.h b/src/common/events.h index bf3367b7..a1450249 100644 --- a/src/common/events.h +++ b/src/common/events.h @@ -18,6 +18,13 @@ #include "common/macros.h" #include "common/ust-context-provider.h" +/* + * The context procname length is part of the LTTng-UST ABI. + * TODO: At the next breaking protocol bump, all users of this macro + * should instead use LTTNG_UST_ABI_PROCNAME_LEN. + */ +#define LTTNG_UST_CONTEXT_PROCNAME_LEN 17 + struct lttng_ust_abi_obj; struct lttng_event_notifier_group; @@ -240,7 +247,12 @@ struct lttng_event_notifier_group { void *owner; int notification_fd; struct cds_list_head node; /* Event notifier group handle list */ - struct cds_list_head enablers_head; + + /* List of non-synchronized enablers */ + struct cds_list_head unsync_enablers_head; + /* List of synchronized enablers */ + struct cds_list_head sync_enablers_head; + struct cds_list_head event_notifiers_head; /* list of event_notifiers */ struct lttng_ust_event_notifier_ht event_notifiers_ht; /* hashtable of event_notifiers */ struct lttng_ust_ctx *ctx; /* contexts for filters. */ @@ -253,7 +265,7 @@ struct lttng_transport { const char *name; struct cds_list_head node; struct lttng_ust_channel_buffer_ops ops; - const struct lttng_ust_lib_ring_buffer_config *client_config; + const struct lttng_ust_ring_buffer_config *client_config; }; struct lttng_counter_transport { @@ -305,6 +317,7 @@ struct lttng_ust_bytecode_runtime { int link_failed; int (*interpreter_func)(struct lttng_ust_bytecode_runtime *bytecode_runtime, const char *interpreter_stack_data, + struct lttng_ust_probe_ctx *probe_ctx, void *ctx); struct cds_list_head node; /* list of bytecode runtime in event */ /* @@ -323,13 +336,16 @@ struct lttng_ust_session_private { struct cds_list_head events_head; /* list of events */ struct cds_list_head node; /* Session list */ - /* List of enablers */ - struct cds_list_head enablers_head; + /* List of non-synchronized enablers */ + struct cds_list_head unsync_enablers_head; + /* List of synchronized enablers */ + struct cds_list_head sync_enablers_head; + struct lttng_ust_event_ht events_ht; /* ht of events */ void *owner; /* object owner */ - int tstate:1; /* Transient enable state */ + unsigned int tstate:1; /* Transient enable state */ - int statedump_pending:1; + unsigned int statedump_pending:1; struct lttng_ust_enum_ht enums_ht; /* ht of enumerations */ struct cds_list_head enums_head; @@ -377,7 +393,7 @@ struct lttng_ust_channel_common_private { struct lttng_ust_channel_common *pub; /* Public channel interface */ int objd; /* Object associated with channel. */ - int tstate:1; /* Transient enable state */ + unsigned int tstate:1; /* Transient enable state */ }; struct lttng_ust_channel_buffer_private { @@ -389,7 +405,7 @@ struct lttng_ust_channel_buffer_private { unsigned int id; /* Channel ID */ enum lttng_ust_abi_chan_type type; struct lttng_ust_ctx *ctx; - struct lttng_ust_lib_ring_buffer_channel *rb_chan; /* Ring buffer channel */ + struct lttng_ust_ring_buffer_channel *rb_chan; /* Ring buffer channel */ unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */ }; @@ -407,10 +423,13 @@ struct lttng_ust_abi_channel_config { void *unused3; void *unused4; int unused5; + unsigned int _deprecated1; + unsigned int _deprecated2; struct cds_list_head unused6; void *unused7; int unused8; void *unused9; + unsigned int _deprecated3:1; /* Channel ID */ unsigned int id; @@ -441,10 +460,13 @@ struct lttng_ust_registered_probe { struct lttng_ust_ctx_field { const struct lttng_ust_event_field *event_field; - size_t (*get_size)(void *priv, size_t offset); - void (*record)(void *priv, struct lttng_ust_lib_ring_buffer_ctx *ctx, - struct lttng_ust_channel_buffer *chan); - void (*get_value)(void *priv, struct lttng_ust_ctx_value *value); + size_t (*get_size)(void *priv, struct lttng_ust_probe_ctx *probe_ctx, + size_t offset); + void (*record)(void *priv, struct lttng_ust_probe_ctx *probe_ctx, + struct lttng_ust_ring_buffer_ctx *ctx, + struct lttng_ust_channel_buffer *chan); + void (*get_value)(void *priv, struct lttng_ust_probe_ctx *probe_ctx, + struct lttng_ust_ctx_value *value); void (*destroy)(void *priv); void *priv; }; @@ -514,7 +536,7 @@ const struct lttng_ust_type_struct *lttng_ust_get_type_struct(const struct lttng .size = (_size), \ .alignment = (_alignment), \ .signedness = (_signedness), \ - .reverse_byte_order = (_byte_order) != BYTE_ORDER, \ + .reverse_byte_order = (_byte_order) != LTTNG_UST_BYTE_ORDER, \ .base = (_base), \ })) @@ -529,7 +551,7 @@ const struct lttng_ust_type_struct *lttng_ust_get_type_struct(const struct lttng .encoding = lttng_ust_string_encoding_UTF8, \ .elem_type = lttng_ust_static_type_integer(sizeof(char) * CHAR_BIT, \ lttng_ust_rb_alignof(char) * CHAR_BIT, lttng_ust_is_signed_type(char), \ - BYTE_ORDER, 10), \ + LTTNG_UST_BYTE_ORDER, 10), \ })) #define lttng_ust_static_event_field(_name, _type, _nowrite, _nofilter) \ @@ -567,9 +589,6 @@ struct lttng_enabler *lttng_event_notifier_enabler_as_enabler( -/* This is ABI between liblttng-ust and liblttng-ust-ctl */ -struct lttng_transport *lttng_ust_transport_find(const char *name); - /* This is ABI between liblttng-ust and liblttng-ust-dl */ void lttng_ust_dl_update(void *ip);