From 1332bb04be7896f89c27da5eee9f149a357547ae Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 2 Feb 2012 11:19:27 -0500 Subject: [PATCH] UST comm ABI: Add padding, push version to 2.0 Signed-off-by: Mathieu Desnoyers --- include/lttng/ust-abi.h | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/include/lttng/ust-abi.h b/include/lttng/ust-abi.h index 2f21e49b..f726c8b5 100644 --- a/include/lttng/ust-abi.h +++ b/include/lttng/ust-abi.h @@ -22,8 +22,8 @@ #define LTTNG_UST_SYM_NAME_LEN 256 -#define LTTNG_UST_COMM_VERSION_MAJOR 0 -#define LTTNG_UST_COMM_VERSION_MINOR 1 +#define LTTNG_UST_COMM_VERSION_MAJOR 2 +#define LTTNG_UST_COMM_VERSION_MINOR 0 enum lttng_ust_instrumentation { LTTNG_UST_TRACEPOINT = 0, @@ -47,6 +47,7 @@ struct lttng_ust_tracer_version { uint32_t patchlevel; }; +#define LTTNG_UST_CHANNEL_PADDING LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_channel { int overwrite; /* 1: overwrite, 0: discard */ uint64_t subbuf_size; /* in bytes */ @@ -54,20 +55,32 @@ struct lttng_ust_channel { unsigned int switch_timer_interval; /* usecs */ unsigned int read_timer_interval; /* usecs */ enum lttng_ust_output output; /* output mode */ + char padding[LTTNG_UST_CHANNEL_PADDING]; }; +#define LTTNG_UST_STREAM_PADDING1 16 +#define LTTNG_UST_STREAM_PADDING2 LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_stream { + char padding[LTTNG_UST_STREAM_PADDING1]; + + union { + char padding[LTTNG_UST_STREAM_PADDING2]; + } u; }; +#define LTTNG_UST_EVENT_PADDING1 16 +#define LTTNG_UST_EVENT_PADDING2 LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_event { enum lttng_ust_instrumentation instrumentation; char name[LTTNG_UST_SYM_NAME_LEN]; /* event name */ enum lttng_ust_loglevel_type loglevel_type; int loglevel; /* value, -1: all */ + char padding[LTTNG_UST_EVENT_PADDING1]; /* Per instrumentation type configuration */ union { + char padding[LTTNG_UST_EVENT_PADDING2]; } u; }; @@ -78,15 +91,21 @@ enum lttng_ust_context_type { LTTNG_UST_CONTEXT_PROCNAME = 3, }; +#define LTTNG_UST_CONTEXT_PADDING1 16 +#define LTTNG_UST_CONTEXT_PADDING2 LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_context { enum lttng_ust_context_type ctx; + char padding[LTTNG_UST_CONTEXT_PADDING1]; + union { + char padding[LTTNG_UST_CONTEXT_PADDING2]; } u; }; /* * Tracer channel attributes. */ +#define LTTNG_UST_CHANNEL_ATTR_PADDING LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_channel_attr { int overwrite; /* 1: overwrite, 0: discard */ uint64_t subbuf_size; /* bytes */ @@ -94,26 +113,38 @@ struct lttng_ust_channel_attr { unsigned int switch_timer_interval; /* usec */ unsigned int read_timer_interval; /* usec */ enum lttng_ust_output output; /* splice, mmap */ + char padding[LTTNG_UST_CHANNEL_ATTR_PADDING]; }; +#define LTTNG_UST_TRACEPOINT_ITER_PADDING 16 struct lttng_ust_tracepoint_iter { char name[LTTNG_UST_SYM_NAME_LEN]; /* provider:name */ int loglevel; + char padding[LTTNG_UST_TRACEPOINT_ITER_PADDING]; }; +#define LTTNG_UST_OBJECT_DATA_PADDING LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_object_data { int handle; int shm_fd; int wait_fd; uint64_t memory_map_size; + char padding[LTTNG_UST_OBJECT_DATA_PADDING]; }; enum lttng_ust_calibrate_type { LTTNG_UST_CALIBRATE_TRACEPOINT, }; +#define LTTNG_UST_CALIBRATE_PADDING1 16 +#define LTTNG_UST_CALIBRATE_PADDING2 LTTNG_UST_SYM_NAME_LEN + 32 struct lttng_ust_calibrate { enum lttng_ust_calibrate_type type; /* type (input) */ + char padding[LTTNG_UST_CALIBRATE_PADDING1]; + + union { + char padding[LTTNG_UST_CALIBRATE_PADDING2]; + } u; }; #define _UST_CMD(minor) (minor) -- 2.34.1