vscode: Add configurations to run the executables under the debugger
[lttng-tools.git] / src / common / lttng-kernel.hpp
index 2de7ef81067cdbbb3a3e61820a815b56ed1cf15f..ad8d03acfc38f4f92fbbd9cabd2cf0dbe77bfa9b 100644 (file)
@@ -9,16 +9,18 @@
 #ifndef _LTTNG_KERNEL_H
 #define _LTTNG_KERNEL_H
 
-#include <stdint.h>
 #include <common/compiler.hpp>
 #include <common/macros.hpp>
+
 #include <lttng/constant.h>
 #include <lttng/event.h>
 
-#define LTTNG_KERNEL_ABI_SYM_NAME_LEN  256
-#define LTTNG_KERNEL_ABI_MAX_UPROBE_NUM  32
-#define LTTNG_KERNEL_ABI_SESSION_NAME_LEN      256
-#define LTTNG_KERNEL_ABI_SESSION_CREATION_TIME_ISO8601_LEN     26
+#include <stdint.h>
+
+#define LTTNG_KERNEL_ABI_SYM_NAME_LEN                     256
+#define LTTNG_KERNEL_ABI_MAX_UPROBE_NUM                           32
+#define LTTNG_KERNEL_ABI_SESSION_NAME_LEN                 256
+#define LTTNG_KERNEL_ABI_SESSION_CREATION_TIME_ISO8601_LEN 26
 
 /*
  * LTTng DebugFS ABI structures.
  */
 
 enum lttng_kernel_abi_instrumentation {
-       LTTNG_KERNEL_ABI_ALL           = -1,   /* Used within lttng-tools */
-       LTTNG_KERNEL_ABI_TRACEPOINT    = 0,
-       LTTNG_KERNEL_ABI_KPROBE        = 1,
-       LTTNG_KERNEL_ABI_FUNCTION      = 2,
-       LTTNG_KERNEL_ABI_KRETPROBE     = 3,
-       LTTNG_KERNEL_ABI_NOOP          = 4,    /* not hooked */
-       LTTNG_KERNEL_ABI_SYSCALL       = 5,
-       LTTNG_KERNEL_ABI_UPROBE        = 6,
+       LTTNG_KERNEL_ABI_ALL = -1, /* Used within lttng-tools */
+       LTTNG_KERNEL_ABI_TRACEPOINT = 0,
+       LTTNG_KERNEL_ABI_KPROBE = 1,
+       LTTNG_KERNEL_ABI_FUNCTION = 2,
+       LTTNG_KERNEL_ABI_KRETPROBE = 3,
+       LTTNG_KERNEL_ABI_NOOP = 4, /* not hooked */
+       LTTNG_KERNEL_ABI_SYSCALL = 5,
+       LTTNG_KERNEL_ABI_UPROBE = 6,
 };
 
 enum lttng_kernel_abi_context_type {
-       LTTNG_KERNEL_ABI_CONTEXT_PID            = 0,
+       LTTNG_KERNEL_ABI_CONTEXT_PID = 0,
        LTTNG_KERNEL_ABI_CONTEXT_PERF_CPU_COUNTER = 1,
-       LTTNG_KERNEL_ABI_CONTEXT_PROCNAME       = 2,
-       LTTNG_KERNEL_ABI_CONTEXT_PRIO           = 3,
-       LTTNG_KERNEL_ABI_CONTEXT_NICE           = 4,
-       LTTNG_KERNEL_ABI_CONTEXT_VPID           = 5,
-       LTTNG_KERNEL_ABI_CONTEXT_TID            = 6,
-       LTTNG_KERNEL_ABI_CONTEXT_VTID           = 7,
-       LTTNG_KERNEL_ABI_CONTEXT_PPID           = 8,
-       LTTNG_KERNEL_ABI_CONTEXT_VPPID          = 9,
-       LTTNG_KERNEL_ABI_CONTEXT_HOSTNAME       = 10,
-       LTTNG_KERNEL_ABI_CONTEXT_CPU_ID         = 11,
-       LTTNG_KERNEL_ABI_CONTEXT_INTERRUPTIBLE  = 12,
-       LTTNG_KERNEL_ABI_CONTEXT_PREEMPTIBLE    = 13,
+       LTTNG_KERNEL_ABI_CONTEXT_PROCNAME = 2,
+       LTTNG_KERNEL_ABI_CONTEXT_PRIO = 3,
+       LTTNG_KERNEL_ABI_CONTEXT_NICE = 4,
+       LTTNG_KERNEL_ABI_CONTEXT_VPID = 5,
+       LTTNG_KERNEL_ABI_CONTEXT_TID = 6,
+       LTTNG_KERNEL_ABI_CONTEXT_VTID = 7,
+       LTTNG_KERNEL_ABI_CONTEXT_PPID = 8,
+       LTTNG_KERNEL_ABI_CONTEXT_VPPID = 9,
+       LTTNG_KERNEL_ABI_CONTEXT_HOSTNAME = 10,
+       LTTNG_KERNEL_ABI_CONTEXT_CPU_ID = 11,
+       LTTNG_KERNEL_ABI_CONTEXT_INTERRUPTIBLE = 12,
+       LTTNG_KERNEL_ABI_CONTEXT_PREEMPTIBLE = 13,
        LTTNG_KERNEL_ABI_CONTEXT_NEED_RESCHEDULE = 14,
-       LTTNG_KERNEL_ABI_CONTEXT_MIGRATABLE     = 15,
+       LTTNG_KERNEL_ABI_CONTEXT_MIGRATABLE = 15,
        LTTNG_KERNEL_ABI_CONTEXT_CALLSTACK_KERNEL = 16,
-       LTTNG_KERNEL_ABI_CONTEXT_CALLSTACK_USER   = 17,
-       LTTNG_KERNEL_ABI_CONTEXT_CGROUP_NS      = 18,
-       LTTNG_KERNEL_ABI_CONTEXT_IPC_NS         = 19,
-       LTTNG_KERNEL_ABI_CONTEXT_MNT_NS         = 20,
-       LTTNG_KERNEL_ABI_CONTEXT_NET_NS         = 21,
-       LTTNG_KERNEL_ABI_CONTEXT_PID_NS         = 22,
-       LTTNG_KERNEL_ABI_CONTEXT_USER_NS        = 23,
-       LTTNG_KERNEL_ABI_CONTEXT_UTS_NS         = 24,
-       LTTNG_KERNEL_ABI_CONTEXT_UID            = 25,
-       LTTNG_KERNEL_ABI_CONTEXT_EUID           = 26,
-       LTTNG_KERNEL_ABI_CONTEXT_SUID           = 27,
-       LTTNG_KERNEL_ABI_CONTEXT_GID            = 28,
-       LTTNG_KERNEL_ABI_CONTEXT_EGID           = 29,
-       LTTNG_KERNEL_ABI_CONTEXT_SGID           = 30,
-       LTTNG_KERNEL_ABI_CONTEXT_VUID           = 31,
-       LTTNG_KERNEL_ABI_CONTEXT_VEUID          = 32,
-       LTTNG_KERNEL_ABI_CONTEXT_VSUID          = 33,
-       LTTNG_KERNEL_ABI_CONTEXT_VGID           = 34,
-       LTTNG_KERNEL_ABI_CONTEXT_VEGID          = 35,
-       LTTNG_KERNEL_ABI_CONTEXT_VSGID          = 36,
-       LTTNG_KERNEL_ABI_CONTEXT_TIME_NS        = 37,
+       LTTNG_KERNEL_ABI_CONTEXT_CALLSTACK_USER = 17,
+       LTTNG_KERNEL_ABI_CONTEXT_CGROUP_NS = 18,
+       LTTNG_KERNEL_ABI_CONTEXT_IPC_NS = 19,
+       LTTNG_KERNEL_ABI_CONTEXT_MNT_NS = 20,
+       LTTNG_KERNEL_ABI_CONTEXT_NET_NS = 21,
+       LTTNG_KERNEL_ABI_CONTEXT_PID_NS = 22,
+       LTTNG_KERNEL_ABI_CONTEXT_USER_NS = 23,
+       LTTNG_KERNEL_ABI_CONTEXT_UTS_NS = 24,
+       LTTNG_KERNEL_ABI_CONTEXT_UID = 25,
+       LTTNG_KERNEL_ABI_CONTEXT_EUID = 26,
+       LTTNG_KERNEL_ABI_CONTEXT_SUID = 27,
+       LTTNG_KERNEL_ABI_CONTEXT_GID = 28,
+       LTTNG_KERNEL_ABI_CONTEXT_EGID = 29,
+       LTTNG_KERNEL_ABI_CONTEXT_SGID = 30,
+       LTTNG_KERNEL_ABI_CONTEXT_VUID = 31,
+       LTTNG_KERNEL_ABI_CONTEXT_VEUID = 32,
+       LTTNG_KERNEL_ABI_CONTEXT_VSUID = 33,
+       LTTNG_KERNEL_ABI_CONTEXT_VGID = 34,
+       LTTNG_KERNEL_ABI_CONTEXT_VEGID = 35,
+       LTTNG_KERNEL_ABI_CONTEXT_VSGID = 36,
+       LTTNG_KERNEL_ABI_CONTEXT_TIME_NS = 37,
 };
 
 /* Perf counter attributes */
@@ -86,8 +88,8 @@ struct lttng_kernel_abi_perf_counter_ctx {
 } LTTNG_PACKED;
 
 /* Event/Channel context */
-#define LTTNG_KERNEL_ABI_CONTEXT_PADDING1  16
-#define LTTNG_KERNEL_ABI_CONTEXT_PADDING2  ((LTTNG_KERNEL_ABI_SYM_NAME_LEN + 32))
+#define LTTNG_KERNEL_ABI_CONTEXT_PADDING1 16
+#define LTTNG_KERNEL_ABI_CONTEXT_PADDING2 ((LTTNG_KERNEL_ABI_SYM_NAME_LEN + 32))
 struct lttng_kernel_abi_context {
        enum lttng_kernel_abi_context_type ctx;
        char padding[LTTNG_KERNEL_ABI_CONTEXT_PADDING1];
@@ -130,28 +132,28 @@ struct lttng_kernel_abi_event_callsite {
 } LTTNG_PACKED;
 
 enum lttng_kernel_abi_syscall_entryexit {
-       LTTNG_KERNEL_ABI_SYSCALL_ENTRYEXIT      = 0,
-       LTTNG_KERNEL_ABI_SYSCALL_ENTRY  = 1,
-       LTTNG_KERNEL_ABI_SYSCALL_EXIT   = 2,
+       LTTNG_KERNEL_ABI_SYSCALL_ENTRYEXIT = 0,
+       LTTNG_KERNEL_ABI_SYSCALL_ENTRY = 1,
+       LTTNG_KERNEL_ABI_SYSCALL_EXIT = 2,
 };
 
 enum lttng_kernel_abi_syscall_abi {
-       LTTNG_KERNEL_ABI_SYSCALL_ABI_ALL        = 0,
+       LTTNG_KERNEL_ABI_SYSCALL_ABI_ALL = 0,
        LTTNG_KERNEL_ABI_SYSCALL_ABI_NATIVE = 1,
        LTTNG_KERNEL_ABI_SYSCALL_ABI_COMPAT = 2,
 };
 
 enum lttng_kernel_abi_syscall_match {
        LTTNG_KERNEL_ABI_SYSCALL_MATCH_NAME = 0,
-       LTTNG_KERNEL_ABI_SYSCALL_MATCH_NR       = 1,
+       LTTNG_KERNEL_ABI_SYSCALL_MATCH_NR = 1,
 };
 
 struct lttng_kernel_abi_syscall {
-       uint8_t entryexit;      /* enum lttng_kernel_abi_syscall_entryexit */
-       uint8_t abi;            /* enum lttng_kernel_abi_syscall_abi */
-       uint8_t match;          /* enum lttng_kernel_abi_syscall_match */
+       uint8_t entryexit; /* enum lttng_kernel_abi_syscall_entryexit */
+       uint8_t abi; /* enum lttng_kernel_abi_syscall_abi */
+       uint8_t match; /* enum lttng_kernel_abi_syscall_match */
        uint8_t padding;
-       uint32_t nr;            /* For LTTNG_SYSCALL_MATCH_NR */
+       uint32_t nr; /* For LTTNG_SYSCALL_MATCH_NR */
 } LTTNG_PACKED;
 
 /* Function tracer */
@@ -159,8 +161,8 @@ struct lttng_kernel_abi_function {
        char symbol_name[LTTNG_KERNEL_ABI_SYM_NAME_LEN];
 } LTTNG_PACKED;
 
-#define LTTNG_KERNEL_ABI_EVENT_PADDING1    8
-#define LTTNG_KERNEL_ABI_EVENT_PADDING2    ((LTTNG_KERNEL_ABI_SYM_NAME_LEN + 32))
+#define LTTNG_KERNEL_ABI_EVENT_PADDING1 8
+#define LTTNG_KERNEL_ABI_EVENT_PADDING2 ((LTTNG_KERNEL_ABI_SYM_NAME_LEN + 32))
 struct lttng_kernel_abi_event {
        char name[LTTNG_KERNEL_ABI_SYM_NAME_LEN];
        enum lttng_kernel_abi_instrumentation instrumentation;
@@ -178,7 +180,7 @@ struct lttng_kernel_abi_event {
        } u;
 } LTTNG_PACKED;
 
-#define LTTNG_KERNEL_ABI_EVENT_NOTIFIER_PADDING        32
+#define LTTNG_KERNEL_ABI_EVENT_NOTIFIER_PADDING 32
 struct lttng_kernel_abi_event_notifier {
        struct lttng_kernel_abi_event event;
        uint64_t error_counter_idx;
@@ -186,7 +188,7 @@ struct lttng_kernel_abi_event_notifier {
        char padding[LTTNG_KERNEL_ABI_EVENT_NOTIFIER_PADDING];
 } LTTNG_PACKED;
 
-#define LTTNG_KERNEL_ABI_COUNTER_DIMENSION_MAX      4
+#define LTTNG_KERNEL_ABI_COUNTER_DIMENSION_MAX 4
 
 enum lttng_kernel_abi_counter_arithmetic {
        LTTNG_KERNEL_ABI_COUNTER_ARITHMETIC_MODULAR = 0,
@@ -205,10 +207,10 @@ struct lttng_kernel_abi_counter_dimension {
        uint8_t has_overflow;
 } LTTNG_PACKED;
 
-#define LTTNG_KERNEL_ABI_COUNTER_CONF_PADDING1      67
+#define LTTNG_KERNEL_ABI_COUNTER_CONF_PADDING1 67
 struct lttng_kernel_abi_counter_conf {
-       uint32_t arithmetic;    /* enum lttng_kernel_abi_counter_arithmetic */
-       uint32_t bitness;       /* enum lttng_kernel_abi_counter_bitness */
+       uint32_t arithmetic; /* enum lttng_kernel_abi_counter_arithmetic */
+       uint32_t bitness; /* enum lttng_kernel_abi_counter_bitness */
        uint32_t number_dimensions;
        int64_t global_sum_step;
        struct lttng_kernel_abi_counter_dimension dimensions[LTTNG_KERNEL_ABI_COUNTER_DIMENSION_MAX];
@@ -230,15 +232,15 @@ struct lttng_kernel_abi_counter_value {
 #define LTTNG_KERNEL_ABI_COUNTER_READ_PADDING 32
 struct lttng_kernel_abi_counter_read {
        struct lttng_kernel_abi_counter_index index;
-       int32_t cpu;    /* -1 for global counter, >= 0 for specific cpu. */
-       struct lttng_kernel_abi_counter_value value;    /* output */
+       int32_t cpu; /* -1 for global counter, >= 0 for specific cpu. */
+       struct lttng_kernel_abi_counter_value value; /* output */
        char padding[LTTNG_KERNEL_ABI_COUNTER_READ_PADDING];
 } LTTNG_PACKED;
 
 #define LTTNG_KERNEL_ABI_COUNTER_AGGREGATE_PADDING 32
 struct lttng_kernel_abi_counter_aggregate {
        struct lttng_kernel_abi_counter_index index;
-       struct lttng_kernel_abi_counter_value value;    /* output */
+       struct lttng_kernel_abi_counter_value value; /* output */
        char padding[LTTNG_KERNEL_ABI_COUNTER_AGGREGATE_PADDING];
 } LTTNG_PACKED;
 
@@ -255,7 +257,7 @@ struct lttng_kernel_abi_event_notifier_notification {
        char padding[LTTNG_KERNEL_ABI_EVENT_NOTIFIER_NOTIFICATION_PADDING];
 } LTTNG_PACKED;
 
-#define LTTNG_KERNEL_ABI_CAPTURE_BYTECODE_MAX_LEN              65536
+#define LTTNG_KERNEL_ABI_CAPTURE_BYTECODE_MAX_LEN 65536
 struct lttng_kernel_abi_capture_bytecode {
        uint32_t len;
        uint32_t reloc_offset;
@@ -275,7 +277,7 @@ struct lttng_kernel_abi_tracer_abi_version {
 } LTTNG_PACKED;
 
 struct lttng_kernel_abi_syscall_mask {
-       uint32_t len;   /* in bits */
+       uint32_t len; /* in bits */
        char mask[LTTNG_FLEXIBLE_ARRAY_MEMBER_LENGTH];
 } LTTNG_PACKED;
 
@@ -284,17 +286,17 @@ struct lttng_kernel_abi_syscall_mask {
  */
 #define LTTNG_KERNEL_ABI_CHANNEL_PADDING1 ((LTTNG_SYMBOL_NAME_LEN + 32))
 struct lttng_kernel_abi_channel {
-       uint64_t subbuf_size;               /* bytes */
-       uint64_t num_subbuf;                /* power of 2 */
+       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 */
+       unsigned int read_timer_interval; /* usec */
+       enum lttng_event_output output; /* splice, mmap */
 
-       int overwrite;                      /* 1: overwrite, 0: discard */
+       int overwrite; /* 1: overwrite, 0: discard */
        char padding[LTTNG_KERNEL_ABI_CHANNEL_PADDING1];
 } LTTNG_PACKED;
 
-#define KERNEL_FILTER_BYTECODE_MAX_LEN         65536
+#define KERNEL_FILTER_BYTECODE_MAX_LEN 65536
 struct lttng_kernel_abi_filter_bytecode {
        uint32_t len;
        uint32_t reloc_offset;
@@ -317,14 +319,14 @@ struct lttng_kernel_abi_session_creation_time {
 } LTTNG_PACKED;
 
 enum lttng_kernel_abi_tracker_type {
-       LTTNG_KERNEL_ABI_TRACKER_UNKNOWN                = -1,
-
-       LTTNG_KERNEL_ABI_TRACKER_PID            = 0,
-       LTTNG_KERNEL_ABI_TRACKER_VPID           = 1,
-       LTTNG_KERNEL_ABI_TRACKER_UID            = 2,
-       LTTNG_KERNEL_ABI_TRACKER_VUID           = 3,
-       LTTNG_KERNEL_ABI_TRACKER_GID            = 4,
-       LTTNG_KERNEL_ABI_TRACKER_VGID           = 5,
+       LTTNG_KERNEL_ABI_TRACKER_UNKNOWN = -1,
+
+       LTTNG_KERNEL_ABI_TRACKER_PID = 0,
+       LTTNG_KERNEL_ABI_TRACKER_VPID = 1,
+       LTTNG_KERNEL_ABI_TRACKER_UID = 2,
+       LTTNG_KERNEL_ABI_TRACKER_VUID = 3,
+       LTTNG_KERNEL_ABI_TRACKER_GID = 4,
+       LTTNG_KERNEL_ABI_TRACKER_VGID = 5,
 };
 
 struct lttng_kernel_abi_tracker_args {
This page took 0.028173 seconds and 4 git commands to generate.