Signed-off-by: David Goulet <dgoulet@efficios.com>
#define _LTTNG_KERNEL_H
#include <stdint.h>
#define _LTTNG_KERNEL_H
#include <stdint.h>
+#include <common/macros.h>
#define LTTNG_KERNEL_SYM_NAME_LEN 256
#define LTTNG_KERNEL_SYM_NAME_LEN 256
uint32_t type;
uint64_t config;
char name[LTTNG_KERNEL_SYM_NAME_LEN];
uint32_t type;
uint64_t config;
char name[LTTNG_KERNEL_SYM_NAME_LEN];
-}__attribute__((packed));
/* Event/Channel context */
#define LTTNG_KERNEL_CONTEXT_PADDING1 16
/* Event/Channel context */
#define LTTNG_KERNEL_CONTEXT_PADDING1 16
struct lttng_kernel_perf_counter_ctx perf_counter;
char padding[LTTNG_KERNEL_CONTEXT_PADDING2];
} u;
struct lttng_kernel_perf_counter_ctx perf_counter;
char padding[LTTNG_KERNEL_CONTEXT_PADDING2];
} u;
-}__attribute__((packed));
struct lttng_kernel_kretprobe {
uint64_t addr;
uint64_t offset;
char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
struct lttng_kernel_kretprobe {
uint64_t addr;
uint64_t offset;
char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
-}__attribute__((packed));
/*
* Either addr is used, or symbol_name and offset.
/*
* Either addr is used, or symbol_name and offset.
uint64_t offset;
char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
uint64_t offset;
char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
-}__attribute__((packed));
/* Function tracer */
struct lttng_kernel_function {
char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
/* Function tracer */
struct lttng_kernel_function {
char symbol_name[LTTNG_KERNEL_SYM_NAME_LEN];
-}__attribute__((packed));
#define LTTNG_KERNEL_EVENT_PADDING1 16
#define LTTNG_KERNEL_EVENT_PADDING2 LTTNG_KERNEL_SYM_NAME_LEN + 32
#define LTTNG_KERNEL_EVENT_PADDING1 16
#define LTTNG_KERNEL_EVENT_PADDING2 LTTNG_KERNEL_SYM_NAME_LEN + 32
struct lttng_kernel_function ftrace;
char padding[LTTNG_KERNEL_EVENT_PADDING2];
} u;
struct lttng_kernel_function ftrace;
char padding[LTTNG_KERNEL_EVENT_PADDING2];
} u;
-}__attribute__((packed));
struct lttng_kernel_tracer_version {
uint32_t major;
uint32_t minor;
uint32_t patchlevel;
struct lttng_kernel_tracer_version {
uint32_t major;
uint32_t minor;
uint32_t patchlevel;
-}__attribute__((packed));
enum lttng_kernel_calibrate_type {
LTTNG_KERNEL_CALIBRATE_KRETPROBE,
enum lttng_kernel_calibrate_type {
LTTNG_KERNEL_CALIBRATE_KRETPROBE,
struct lttng_kernel_calibrate {
enum lttng_kernel_calibrate_type type; /* type (input) */
struct lttng_kernel_calibrate {
enum lttng_kernel_calibrate_type type; /* type (input) */
-}__attribute__((packed));
int overwrite; /* 1: overwrite, 0: discard */
char padding[LTTNG_KERNEL_CHANNEL_PADDING1];
int overwrite; /* 1: overwrite, 0: discard */
char padding[LTTNG_KERNEL_CHANNEL_PADDING1];
-}__attribute__((packed));
#endif /* _LTTNG_KERNEL_H */
#endif /* _LTTNG_KERNEL_H */