-} LTTNG_PACKED;
-
-enum lttng_ust_field_type {
- LTTNG_UST_FIELD_OTHER = 0,
- LTTNG_UST_FIELD_INTEGER = 1,
- LTTNG_UST_FIELD_ENUM = 2,
- LTTNG_UST_FIELD_FLOAT = 3,
- LTTNG_UST_FIELD_STRING = 4,
+} __attribute__((packed));
+
+#define LTTNG_UST_ABI_EVENT_NOTIFIER_PADDING 32
+struct lttng_ust_abi_event_notifier {
+ struct lttng_ust_abi_event event;
+ uint64_t error_counter_index;
+ char padding[LTTNG_UST_ABI_EVENT_NOTIFIER_PADDING];
+} __attribute__((packed));
+
+#define LTTNG_UST_ABI_EVENT_NOTIFIER_NOTIFICATION_PADDING 32
+struct lttng_ust_abi_event_notifier_notification {
+ uint64_t token;
+ uint16_t capture_buf_size;
+ char padding[LTTNG_UST_ABI_EVENT_NOTIFIER_NOTIFICATION_PADDING];
+} __attribute__((packed));
+
+#define LTTNG_UST_ABI_COUNTER_PADDING1 (LTTNG_UST_ABI_SYM_NAME_LEN + 32)
+#define LTTNG_UST_ABI_COUNTER_DATA_MAX_LEN 4096U
+struct lttng_ust_abi_counter {
+ uint64_t len;
+ char padding[LTTNG_UST_ABI_COUNTER_PADDING1];
+ char data[]; /* variable sized data */
+} __attribute__((packed));
+
+#define LTTNG_UST_ABI_COUNTER_GLOBAL_PADDING1 (LTTNG_UST_ABI_SYM_NAME_LEN + 32)
+struct lttng_ust_abi_counter_global {
+ uint64_t len; /* shm len */
+ char padding[LTTNG_UST_ABI_COUNTER_GLOBAL_PADDING1];
+} __attribute__((packed));
+
+#define LTTNG_UST_ABI_COUNTER_CPU_PADDING1 (LTTNG_UST_ABI_SYM_NAME_LEN + 32)
+struct lttng_ust_abi_counter_cpu {
+ uint64_t len; /* shm len */
+ uint32_t cpu_nr;
+ char padding[LTTNG_UST_ABI_COUNTER_CPU_PADDING1];
+} __attribute__((packed));
+
+enum lttng_ust_abi_field_type {
+ LTTNG_UST_ABI_FIELD_OTHER = 0,
+ LTTNG_UST_ABI_FIELD_INTEGER = 1,
+ LTTNG_UST_ABI_FIELD_ENUM = 2,
+ LTTNG_UST_ABI_FIELD_FLOAT = 3,
+ LTTNG_UST_ABI_FIELD_STRING = 4,