-struct lttng_domain {
- enum lttng_domain_type type;
- union {
- pid_t pid;
- char exec_name[NAME_MAX];
- } attr;
-};
-
-/* Perf counter attributes */
-struct lttng_event_perf_counter_ctx {
- uint32_t type;
- uint64_t config;
- char name[LTTNG_SYMBOL_NAME_LEN];
-};
-
-/* Event/Channel context */
-struct lttng_event_context {
- enum lttng_event_context_type ctx;
- union {
- struct lttng_event_perf_counter_ctx perf_counter;
- } u;
-};
-
-/*
- * Event probe.
- *
- * Either addr is used or symbol_name and offset.
- */
-struct lttng_event_probe_attr {
- uint64_t addr;
-
- uint64_t offset;
- char symbol_name[LTTNG_SYMBOL_NAME_LEN];
-};
-
-/*
- * Function tracer
- */
-struct lttng_event_function_attr {
- char symbol_name[LTTNG_SYMBOL_NAME_LEN];
-};
-
-/*
- * Generic lttng event
- */
-struct lttng_event {
- enum lttng_event_type type;
- char name[LTTNG_SYMBOL_NAME_LEN];
-
- enum lttng_loglevel_type loglevel_type;
- char loglevel[LTTNG_SYMBOL_NAME_LEN];
- int64_t loglevel_value; /* for printing */
-
- uint32_t enabled;
- pid_t pid;
- /* Per event type configuration */
- union {
- struct lttng_event_probe_attr probe;
- struct lttng_event_function_attr ftrace;
- } attr;
-};
-
-/*
- * Tracer channel attributes. For both kernel and user-space.
- */
-struct lttng_channel_attr {
- int overwrite; /* 1: overwrite, 0: discard */
- uint64_t subbuf_size; /* bytes */
- uint64_t num_subbuf; /* power of 2 */
- unsigned int switch_timer_interval; /* usec */
- unsigned int read_timer_interval; /* usec */
- enum lttng_event_output output; /* splice, mmap */
-};
-
-/*
- * Channel information structure. For both kernel and user-space.
- */
-struct lttng_channel {
- char name[LTTNG_SYMBOL_NAME_LEN];
- uint32_t enabled;
- struct lttng_channel_attr attr;
-};
-