uint32_t cmd;
char padding[USTCOMM_MSG_PADDING1];
union {
- struct lttng_ust_event_notifier event_notifier;
struct lttng_ust_channel channel;
struct lttng_ust_stream stream;
struct lttng_ust_event event;
uint32_t reloc_offset;
uint64_t seqnum;
} LTTNG_PACKED capture;
+ struct lttng_ust_counter counter;
+ struct lttng_ust_counter_global counter_global;
+ struct lttng_ust_counter_cpu counter_cpu;
+ /*
+ * For LTTNG_UST_EVENT_NOTIFIER_CREATE, a struct
+ * lttng_ust_event_notifier implicitly follows struct
+ * ustcomm_ust_msg.
+ */
+ struct {
+ /* Length of struct lttng_ust_event_notifier */
+ uint32_t len;
+ } event_notifier;
char padding[USTCOMM_MSG_PADDING2];
} u;
} LTTNG_PACKED;
ssize_t ustcomm_recv_event_notifier_notif_fd_from_sessiond(int sock,
int *event_notifier_notif_fd);
+ssize_t ustcomm_recv_counter_from_sessiond(int sock,
+ void **counter_data, uint64_t len);
+int ustcomm_recv_counter_shm_from_sessiond(int sock,
+ int *shm_fd);
+
/*
* Returns 0 on success, negative error value on error.
* Returns -EPIPE or -ECONNRESET if other end has hung up.