#include <stdint.h>
-#define LTTNG_SYM_NAME_LEN 256
+#define LTTNG_KERNEL_SYM_NAME_LEN 256
/*
* LTTng DebugFS ABI structures.
struct lttng_kernel_perf_counter_ctx {
uint32_t type;
uint64_t config;
- char name[LTTNG_SYM_NAME_LEN];
+ char name[LTTNG_KERNEL_SYM_NAME_LEN];
};
/* Event/Channel context */
+#define LTTNG_KERNEL_CONTEXT_PADDING1 16
+#define LTTNG_KERNEL_CONTEXT_PADDING2 LTTNG_KERNEL_SYM_NAME_LEN + 32
struct lttng_kernel_context {
enum lttng_kernel_context_type ctx;
+ char padding[LTTNG_KERNEL_CONTEXT_PADDING1];
+
union {
struct lttng_kernel_perf_counter_ctx perf_counter;
+ char padding[LTTNG_KERNEL_CONTEXT_PADDING2];
} u;
};
uint64_t addr;
uint64_t offset;
- char symbol_name[LTTNG_SYM_NAME_LEN];
+ char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
};
/*
uint64_t addr;
uint64_t offset;
- char symbol_name[LTTNG_SYM_NAME_LEN];
+ char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
};
/* Function tracer */
struct lttng_kernel_function {
- char symbol_name[LTTNG_SYM_NAME_LEN];
+ char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
};
+#define LTTNG_KERNEL_EVENT_PADDING1 16
+#define LTTNG_KERNEL_EVENT_PADDING2 LTTNG_KERNEL_SYM_NAME_LEN + 32
struct lttng_kernel_event {
- char name[LTTNG_SYM_NAME_LEN];
+ char name[LTTNG_KERNEL_SYM_NAME_LEN];
enum lttng_kernel_instrumentation instrumentation;
+ char padding[LTTNG_KERNEL_EVENT_PADDING1];
+
/* Per instrumentation type configuration */
union {
struct lttng_kernel_kretprobe kretprobe;
struct lttng_kernel_kprobe kprobe;
struct lttng_kernel_function ftrace;
+ char padding[LTTNG_KERNEL_EVENT_PADDING2];
} u;
};
struct lttng_kernel_tracer_version {
- uint32_t version;
+ uint32_t major;
+ uint32_t minor;
uint32_t patchlevel;
- uint32_t sublevel;
};
enum lttng_kernel_calibrate_type {