X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-abi.h;h=1fb8d8810788e84e41aeef6a69f2d912016be6ba;hb=1c1968450409b3c159a3000f9e1a968ff1e5f7e8;hp=fe2535668f674c66806b9e1384a2032e18e149e7;hpb=fd17d7cecd427479c035cd99cb2b2fb622bb3a38;p=lttng-ust.git diff --git a/include/lttng/ust-abi.h b/include/lttng/ust-abi.h index fe253566..1fb8d881 100644 --- a/include/lttng/ust-abi.h +++ b/include/lttng/ust-abi.h @@ -1,8 +1,8 @@ +// SPDX-FileCopyrightText: 2010-2012 Mathieu Desnoyers +// +// SPDX-License-Identifier: MIT + /* - * SPDX-License-Identifier: MIT - * - * Copyright (C) 2010-2012 Mathieu Desnoyers - * * LTTng-UST ABI header */ @@ -12,15 +12,6 @@ #include #include -#ifndef LTTNG_PACKED -#error "LTTNG_PACKED should be defined" -#endif - -#ifndef __ust_stringify -#define __ust_stringify1(x) #x -#define __ust_stringify(x) __ust_stringify1(x) -#endif /* __ust_stringify */ - #define LTTNG_UST_ABI_SYM_NAME_LEN 256 #define LTTNG_UST_ABI_PROCNAME_LEN 16 @@ -28,7 +19,7 @@ #define LTTNG_UST_ABI_COMM_MAGIC 0xC57C57C5 /* Version for ABI between liblttng-ust, sessiond, consumerd */ -#define LTTNG_UST_ABI_MAJOR_VERSION 9 +#define LTTNG_UST_ABI_MAJOR_VERSION 10 #define LTTNG_UST_ABI_MAJOR_VERSION_OLDEST_COMPATIBLE 8 #define LTTNG_UST_ABI_MINOR_VERSION 0 @@ -57,7 +48,7 @@ struct lttng_ust_abi_tracer_version { uint32_t major; uint32_t minor; uint32_t patchlevel; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_CHANNEL_PADDING (LTTNG_UST_ABI_SYM_NAME_LEN + 32) /* @@ -72,7 +63,7 @@ struct lttng_ust_abi_channel { int32_t type; /* enum lttng_ust_abi_chan_type */ char padding[LTTNG_UST_ABI_CHANNEL_PADDING]; char data[]; /* variable sized data */ -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_STREAM_PADDING1 (LTTNG_UST_ABI_SYM_NAME_LEN + 32) struct lttng_ust_abi_stream { @@ -83,7 +74,7 @@ struct lttng_ust_abi_stream { * shm_fd and wakeup_fd are send over unix socket as file * descriptors after this structure. */ -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_COUNTER_DIMENSION_MAX 4 @@ -103,24 +94,24 @@ struct lttng_ust_abi_counter_dimension { uint64_t overflow_index; uint8_t has_underflow; uint8_t has_overflow; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_COUNTER_CONF_PADDING1 67 struct lttng_ust_abi_counter_conf { - uint32_t arithmetic; /* enum lttng_ust_counter_arithmetic */ - uint32_t bitness; /* enum lttng_ust_counter_bitness */ + uint32_t arithmetic; /* enum lttng_ust_abi_counter_arithmetic */ + uint32_t bitness; /* enum lttng_ust_abi_counter_bitness */ uint32_t number_dimensions; int64_t global_sum_step; struct lttng_ust_abi_counter_dimension dimensions[LTTNG_UST_ABI_COUNTER_DIMENSION_MAX]; uint8_t coalesce_hits; char padding[LTTNG_UST_ABI_COUNTER_CONF_PADDING1]; -} LTTNG_PACKED; +} __attribute__((packed)); struct lttng_ust_abi_counter_value { uint32_t number_dimensions; uint64_t dimension_indexes[LTTNG_UST_ABI_COUNTER_DIMENSION_MAX]; int64_t value; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_EVENT_PADDING1 8 #define LTTNG_UST_ABI_EVENT_PADDING2 (LTTNG_UST_ABI_SYM_NAME_LEN + 32) @@ -137,21 +128,21 @@ struct lttng_ust_abi_event { union { char padding[LTTNG_UST_ABI_EVENT_PADDING2]; } u; -} LTTNG_PACKED; +} __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]; -} LTTNG_PACKED; +} __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]; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_COUNTER_PADDING1 (LTTNG_UST_ABI_SYM_NAME_LEN + 32) #define LTTNG_UST_ABI_COUNTER_DATA_MAX_LEN 4096U @@ -159,20 +150,20 @@ struct lttng_ust_abi_counter { uint64_t len; char padding[LTTNG_UST_ABI_COUNTER_PADDING1]; char data[]; /* variable sized data */ -} LTTNG_PACKED; +} __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]; -} LTTNG_PACKED; +} __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]; -} LTTNG_PACKED; +} __attribute__((packed)); enum lttng_ust_abi_field_type { LTTNG_UST_ABI_FIELD_OTHER = 0, @@ -190,7 +181,7 @@ struct lttng_ust_abi_field_iter { int loglevel; /* event loglevel */ int nowrite; char padding[LTTNG_UST_ABI_FIELD_ITER_PADDING]; -} LTTNG_PACKED; +} __attribute__((packed)); enum lttng_ust_abi_context_type { LTTNG_UST_ABI_CONTEXT_VTID = 0, @@ -221,7 +212,7 @@ struct lttng_ust_abi_perf_counter_ctx { uint32_t type; uint64_t config; char name[LTTNG_UST_ABI_SYM_NAME_LEN]; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_CONTEXT_PADDING1 16 #define LTTNG_UST_ABI_CONTEXT_PADDING2 (LTTNG_UST_ABI_SYM_NAME_LEN + 32) @@ -238,7 +229,7 @@ struct lttng_ust_abi_context { } app_ctx; char padding[LTTNG_UST_ABI_CONTEXT_PADDING2]; } u; -} LTTNG_PACKED; +} __attribute__((packed)); /* * Tracer channel attributes. @@ -257,14 +248,14 @@ struct lttng_ust_abi_channel_attr { } s; char padding[LTTNG_UST_ABI_CHANNEL_ATTR_PADDING]; } u; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_TRACEPOINT_ITER_PADDING 16 struct lttng_ust_abi_tracepoint_iter { char name[LTTNG_UST_ABI_SYM_NAME_LEN]; /* provider:name */ int loglevel; char padding[LTTNG_UST_ABI_TRACEPOINT_ITER_PADDING]; -} LTTNG_PACKED; +} __attribute__((packed)); enum lttng_ust_abi_object_type { LTTNG_UST_ABI_OBJECT_TYPE_UNKNOWN = -1, @@ -310,22 +301,22 @@ struct lttng_ust_abi_object_data { } counter_cpu; char padding2[LTTNG_UST_ABI_OBJECT_DATA_PADDING2]; } u; -} LTTNG_PACKED; +} __attribute__((packed)); -enum lttng_ust_calibrate_type { +enum lttng_ust_abi_calibrate_type { LTTNG_UST_ABI_CALIBRATE_TRACEPOINT, }; #define LTTNG_UST_ABI_CALIBRATE_PADDING1 16 #define LTTNG_UST_ABI_CALIBRATE_PADDING2 (LTTNG_UST_ABI_SYM_NAME_LEN + 32) struct lttng_ust_abi_calibrate { - enum lttng_ust_calibrate_type type; /* type (input) */ + enum lttng_ust_abi_calibrate_type type; /* type (input) */ char padding[LTTNG_UST_ABI_CALIBRATE_PADDING1]; union { char padding[LTTNG_UST_ABI_CALIBRATE_PADDING2]; } u; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_FILTER_BYTECODE_MAX_LEN 65536 #define LTTNG_UST_ABI_FILTER_PADDING 32 @@ -335,7 +326,7 @@ struct lttng_ust_abi_filter_bytecode { uint64_t seqnum; char padding[LTTNG_UST_ABI_FILTER_PADDING]; char data[0]; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_CAPTURE_BYTECODE_MAX_LEN 65536 #define LTTNG_UST_ABI_CAPTURE_PADDING 32 @@ -345,14 +336,14 @@ struct lttng_ust_abi_capture_bytecode { uint64_t seqnum; char padding[LTTNG_UST_ABI_CAPTURE_PADDING]; char data[0]; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_EXCLUSION_PADDING 32 struct lttng_ust_abi_event_exclusion { uint32_t count; char padding[LTTNG_UST_ABI_EXCLUSION_PADDING]; char names[LTTNG_UST_ABI_SYM_NAME_LEN][0]; -} LTTNG_PACKED; +} __attribute__((packed)); #define LTTNG_UST_ABI_CMD(minor) (minor) #define LTTNG_UST_ABI_CMDR(minor, type) (minor)