X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-abi.h;h=9d6595f72c0b3eeb57173958262bb41ca0f7c3e9;hb=d92127bf7371a958a8979665f52b933a9c239ba0;hp=1d356ab17440806ee9a3f0a8ac94eee759e6a978;hpb=911ae48dfdce356dbc7e1e2169e9c6b29a826ba8;p=lttng-modules.git diff --git a/lttng-abi.h b/lttng-abi.h index 1d356ab1..9d6595f7 100644 --- a/lttng-abi.h +++ b/lttng-abi.h @@ -21,6 +21,13 @@ #define LTTNG_KERNEL_SYM_NAME_LEN 256 #define LTTNG_KERNEL_SESSION_NAME_LEN 256 + +/* + * The expected iso8601 time formats are either: + * + * - YYYYmmddTHHMMSS+HHMM (20 characters + \0) + * - YYYY-mm-ddTHH:MM:SS+HH:MM (25 characters + \0) + */ #define LTTNG_KERNEL_SESSION_CREATION_TIME_ISO8601_LEN 26 enum lttng_kernel_instrumentation { @@ -90,6 +97,31 @@ struct lttng_kernel_event_callsite { } u; } __attribute__((packed)); +enum lttng_kernel_syscall_entryexit { + LTTNG_KERNEL_SYSCALL_ENTRYEXIT = 0, + LTTNG_KERNEL_SYSCALL_ENTRY = 1, /* Not implemented. */ + LTTNG_KERNEL_SYSCALL_EXIT = 2, /* Not implemented. */ +}; + +enum lttng_kernel_syscall_abi { + LTTNG_KERNEL_SYSCALL_ABI_ALL = 0, + LTTNG_KERNEL_SYSCALL_ABI_NATIVE = 1, /* Not implemented. */ + LTTNG_KERNEL_SYSCALL_ABI_COMPAT = 2, /* Not implemented. */ +}; + +enum lttng_kernel_syscall_match { + LTTNG_SYSCALL_MATCH_NAME = 0, + LTTNG_SYSCALL_MATCH_NR = 1, /* Not implemented. */ +}; + +struct lttng_kernel_syscall { + uint8_t entryexit; /* enum lttng_kernel_syscall_entryexit */ + uint8_t abi; /* enum lttng_kernel_syscall_abi */ + uint8_t match; /* enum lttng_kernel_syscall_match */ + uint8_t padding; + uint32_t nr; /* For LTTNG_SYSCALL_MATCH_NR */ +} __attribute__((packed)); + /* * For syscall tracing, name = "*" means "enable all". */ @@ -106,6 +138,7 @@ struct lttng_kernel_event { struct lttng_kernel_kprobe kprobe; struct lttng_kernel_function_tracer ftrace; struct lttng_kernel_uprobe uprobe; + struct lttng_kernel_syscall syscall; char padding[LTTNG_KERNEL_EVENT_PADDING2]; } u; } __attribute__((packed));