Cygwin: Pass file paths instead of file descriptors over UNIX sockets
[lttng-ust.git] / include / lttng / ust-events.h
index 5e7821b5b85824755f8c535900d1213c049f9f17..b892fbf84f7190e273ad866fcd54b30870d70ac0 100644 (file)
 
 #include <urcu/list.h>
 #include <urcu/hlist.h>
-#include <uuid/uuid.h>
 #include <stdint.h>
 #include <lttng/ust-abi.h>
 #include <lttng/ust-tracer.h>
-#include <endian.h>
+#include <lttng/ust-endian.h>
 #include <float.h>
 
+#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);
This page took 0.024809 seconds and 4 git commands to generate.