} u;
} LTTNG_PACKED;
+#define LTTNG_UST_EVENT_NOTIFIER_PADDING 40
+struct lttng_ust_event_notifier {
+ struct lttng_ust_event event;
+ char padding[LTTNG_UST_EVENT_NOTIFIER_PADDING];
+} LTTNG_PACKED;
+
+#define LTTNG_UST_EVENT_NOTIFIER_NOTIFICATION_PADDING 34
+struct lttng_ust_event_notifier_notification {
+ uint64_t token;
+ char padding[LTTNG_UST_EVENT_NOTIFIER_NOTIFICATION_PADDING];
+} LTTNG_PACKED;
+
enum lttng_ust_field_type {
LTTNG_UST_FIELD_OTHER = 0,
LTTNG_UST_FIELD_INTEGER = 1,
#define LTTNG_UST_FILTER _UST_CMD(0xA0)
#define LTTNG_UST_EXCLUSION _UST_CMD(0xA1)
+#define LTTNG_UST_EVENT_NOTIFIER_SEND_FD _UST_CMD(0xB0)
+#define LTTNG_UST_EVENT_NOTIFIER_CREATE _UST_CMDW(0xB1, struct lttng_ust_event_notifier)
+
#define LTTNG_UST_ROOT_HANDLE 0
struct lttng_ust_obj;
int ustctl_start_session(int sock, int handle);
int ustctl_stop_session(int sock, int handle);
+int ustctl_create_event_notifier_group(int sock,
+ int pipe_fd,
+ struct lttng_ust_object_data **event_notifier_group_handle);
+int ustctl_create_event_notifier(int sock,
+ struct lttng_ust_event_notifier *event_notifier,
+ struct lttng_ust_object_data *event_notifier_group_handle,
+ struct lttng_ust_object_data **event_notifier_data);
+
/*
* ustctl_tracepoint_list returns a tracepoint list handle, or negative
* error value.