X-Git-Url: http://git.lttng.org/?p=lttng-ust.git;a=blobdiff_plain;f=include%2Flttng%2Fust-events.h;h=b892fbf84f7190e273ad866fcd54b30870d70ac0;hp=9508e7664f8601e112017bf0746032cce6c2e84c;hb=bf5ff35ed0a3a7f60e92d654a5b97e73b94da852;hpb=e92f3e285939848f248af08f11a39a04a7fcf852 diff --git a/include/lttng/ust-events.h b/include/lttng/ust-events.h index 9508e766..b892fbf8 100644 --- a/include/lttng/ust-events.h +++ b/include/lttng/ust-events.h @@ -21,13 +21,14 @@ #include #include -#include #include #include #include -#include +#include #include +#define LTTNG_UST_UUID_LEN 16 + struct ltt_channel; struct ltt_session; struct lttng_ust_lib_ring_buffer_ctx; @@ -84,7 +85,7 @@ struct lttng_enum_entry { .size = sizeof(_type) * CHAR_BIT, \ .alignment = lttng_alignof(_type) * CHAR_BIT, \ .signedness = lttng_is_signed_type(_type), \ - .reverse_byte_order = _byte_order != __BYTE_ORDER, \ + .reverse_byte_order = _byte_order != BYTE_ORDER, \ .base = _base, \ .encoding = lttng_encode_##_encoding, \ }, \ @@ -119,7 +120,7 @@ struct lttng_integer_type { - _float_mant_dig(_type), \ .mant_dig = _float_mant_dig(_type), \ .alignment = lttng_alignof(_type) * CHAR_BIT, \ - .reverse_byte_order = __BYTE_ORDER != __FLOAT_WORD_ORDER, \ + .reverse_byte_order = BYTE_ORDER != FLOAT_WORD_ORDER, \ }, \ } \ @@ -211,7 +212,7 @@ struct lttng_ctx { #define LTTNG_UST_EVENT_DESC_PADDING 40 struct lttng_event_desc { const char *name; - void *probe_callback; + void (*probe_callback)(void); const struct lttng_event_ctx *ctx; /* context */ const struct lttng_event_field *fields; /* event payload */ unsigned int nr_fields; @@ -271,6 +272,7 @@ struct lttng_ust_tracepoint_list { }; struct ust_pending_probe; +struct ltt_event; /* * ltt_event structure is referred to by the tracing fast path. It must be @@ -281,7 +283,7 @@ struct ltt_event { struct ltt_channel *chan; int enabled; const struct lttng_event_desc *desc; - void *filter; + void (*filter)(struct ltt_event *event); struct lttng_ctx *ctx; enum lttng_ust_instrumentation instrumentation; union { @@ -301,13 +303,15 @@ struct ltt_channel_ops { size_t subbuf_size, size_t num_subbuf, unsigned int switch_timer_interval, unsigned int read_timer_interval, - int **shm_fd, int **wait_fd, + int **shm_fd, char **shm_path, + int **wait_fd, char **wait_pipe_path, uint64_t **memory_map_size, struct ltt_channel *chan_priv_init); void (*channel_destroy)(struct ltt_channel *ltt_chan); struct lttng_ust_lib_ring_buffer *(*buffer_read_open)(struct channel *chan, struct lttng_ust_shm_handle *handle, - int **shm_fd, int **wait_fd, + int **shm_fd, char **shm_path, + int **wait_fd, char **wait_pipe_path, uint64_t **memory_map_size); void (*buffer_read_close)(struct lttng_ust_lib_ring_buffer *buf, struct lttng_ust_shm_handle *handle); @@ -354,7 +358,7 @@ struct ltt_channel { /* Channel ID, available for consumer too */ unsigned int id; /* Copy of session UUID for consumer (availability through shm) */ - uuid_t uuid; /* Trace session unique ID */ + unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */ }; struct ltt_session { @@ -367,7 +371,7 @@ struct ltt_session { struct cds_list_head wildcards; /* Wildcard list head */ struct cds_list_head list; /* Session list */ unsigned int free_chan_id; /* Next chan ID to allocate */ - uuid_t uuid; /* Trace session unique ID */ + unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */ unsigned int metadata_dumped:1; }; @@ -388,7 +392,8 @@ struct ltt_channel *ltt_channel_create(struct ltt_session *session, size_t subbuf_size, size_t num_subbuf, unsigned int switch_timer_interval, unsigned int read_timer_interval, - int **shm_fd, int **wait_fd, + int **shm_fd, char **shm_path, + int **wait_fd, char **wait_pipe_path, uint64_t **memory_map_size, struct ltt_channel *chan_priv_init); struct ltt_channel *ltt_global_channel_create(struct ltt_session *session, @@ -396,12 +401,13 @@ struct ltt_channel *ltt_global_channel_create(struct ltt_session *session, size_t subbuf_size, size_t num_subbuf, unsigned int switch_timer_interval, unsigned int read_timer_interval, - int **shm_fd, int **wait_fd, + int **shm_fd, char **shm_path, + int **wait_fd, char **wait_pipe_path, uint64_t **memory_map_size); int ltt_event_create(struct ltt_channel *chan, struct lttng_ust_event *event_param, - void *filter, + void (*filter)(struct ltt_event *event), struct ltt_event **event); int ltt_channel_enable(struct ltt_channel *channel); @@ -433,9 +439,9 @@ int lttng_add_procname_to_ctx(struct lttng_ctx **ctx); void lttng_context_vtid_reset(void); void lttng_context_vpid_reset(void); -const struct lttng_ust_lib_ring_buffer_client_cb *lttng_client_callbacks_metadata; -const struct lttng_ust_lib_ring_buffer_client_cb *lttng_client_callbacks_discard; -const struct lttng_ust_lib_ring_buffer_client_cb *lttng_client_callbacks_overwrite; +extern const struct lttng_ust_lib_ring_buffer_client_cb *lttng_client_callbacks_metadata; +extern const struct lttng_ust_lib_ring_buffer_client_cb *lttng_client_callbacks_discard; +extern const struct lttng_ust_lib_ring_buffer_client_cb *lttng_client_callbacks_overwrite; struct ltt_transport *ltt_transport_find(const char *name);