X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fabi.h;h=f8af1dd04f8ce09f0cf5d3ffcb0e24dc594bb76e;hb=4f32efe70b618c4721bf197692fc9d709d352528;hp=5a5ad753800afb3c639f718d501092dbc4004055;hpb=606828e401c405619a0c7249e8c7e3291cc1cb45;p=lttng-modules.git diff --git a/include/lttng/abi.h b/include/lttng/abi.h index 5a5ad753..f8af1dd0 100644 --- a/include/lttng/abi.h +++ b/include/lttng/abi.h @@ -22,6 +22,13 @@ #define LTTNG_KERNEL_ABI_SYM_NAME_LEN 256 #define LTTNG_KERNEL_ABI_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_ABI_SESSION_CREATION_TIME_ISO8601_LEN 26 enum lttng_kernel_abi_instrumentation { @@ -318,7 +325,7 @@ struct lttng_kernel_abi_filter_bytecode { uint32_t len; uint32_t reloc_offset; uint64_t seqnum; - char data[0]; + char data[]; } __attribute__((packed)); #define LTTNG_KERNEL_ABI_CAPTURE_BYTECODE_MAX_LEN 65536 @@ -326,7 +333,7 @@ struct lttng_kernel_abi_capture_bytecode { uint32_t len; uint32_t reloc_offset; uint64_t seqnum; - char data[0]; + char data[]; } __attribute__((packed)); enum lttng_kernel_abi_tracker_type { @@ -368,9 +375,9 @@ struct lttng_kernel_abi_tracker_args { #define LTTNG_KERNEL_ABI_SESSION_START _IO(0xF6, 0x56) #define LTTNG_KERNEL_ABI_SESSION_STOP _IO(0xF6, 0x57) #define LTTNG_KERNEL_ABI_SESSION_TRACK_PID \ - _IOR(0xF6, 0x58, int32_t) + _IOW(0xF6, 0x58, int32_t) #define LTTNG_KERNEL_ABI_SESSION_UNTRACK_PID \ - _IOR(0xF6, 0x59, int32_t) + _IOW(0xF6, 0x59, int32_t) /* * ioctl 0x58 and 0x59 are duplicated here. It works, since _IOR vs _IO @@ -383,9 +390,9 @@ struct lttng_kernel_abi_tracker_args { /* lttng/abi-old.h reserve 0x5A and 0x5B. */ #define LTTNG_KERNEL_ABI_SESSION_STATEDUMP _IO(0xF6, 0x5C) #define LTTNG_KERNEL_ABI_SESSION_SET_NAME \ - _IOR(0xF6, 0x5D, struct lttng_kernel_abi_session_name) + _IOW(0xF6, 0x5D, struct lttng_kernel_abi_session_name) #define LTTNG_KERNEL_ABI_SESSION_SET_CREATION_TIME \ - _IOR(0xF6, 0x5E, struct lttng_kernel_abi_session_creation_time) + _IOW(0xF6, 0x5E, struct lttng_kernel_abi_session_creation_time) /* Channel FD ioctl */ /* lttng/abi-old.h reserve 0x60 and 0x61. */ @@ -415,11 +422,11 @@ struct lttng_kernel_abi_tracker_args { /* Session FD ioctl (continued) */ #define LTTNG_KERNEL_ABI_SESSION_LIST_TRACKER_IDS \ - _IOR(0xF6, 0xA0, struct lttng_kernel_abi_tracker_args) + _IOW(0xF6, 0xA0, struct lttng_kernel_abi_tracker_args) #define LTTNG_KERNEL_ABI_SESSION_TRACK_ID \ - _IOR(0xF6, 0xA1, struct lttng_kernel_abi_tracker_args) + _IOW(0xF6, 0xA1, struct lttng_kernel_abi_tracker_args) #define LTTNG_KERNEL_ABI_SESSION_UNTRACK_ID \ - _IOR(0xF6, 0xA2, struct lttng_kernel_abi_tracker_args) + _IOW(0xF6, 0xA2, struct lttng_kernel_abi_tracker_args) /* Event notifier group file descriptor ioctl */ #define LTTNG_KERNEL_ABI_EVENT_NOTIFIER_CREATE \ @@ -465,6 +472,25 @@ struct lttng_kernel_abi_tracker_args { /* returns the stream instance id (invariant for the stream) */ #define LTTNG_KERNEL_ABI_RING_BUFFER_INSTANCE_ID _IOR(0xF6, 0x28, uint64_t) +/* + * Those ioctl numbers use the wrong direction, but are kept for ABI backward + * compatibility. + */ +#define LTTNG_KERNEL_ABI_OLD_SESSION_SET_NAME \ + _IOR(0xF6, 0x5D, struct lttng_kernel_abi_session_name) +#define LTTNG_KERNEL_ABI_OLD_SESSION_SET_CREATION_TIME \ + _IOR(0xF6, 0x5E, struct lttng_kernel_abi_session_creation_time) +#define LTTNG_KERNEL_ABI_OLD_SESSION_TRACK_PID \ + _IOR(0xF6, 0x58, int32_t) +#define LTTNG_KERNEL_ABI_OLD_SESSION_UNTRACK_PID \ + _IOR(0xF6, 0x59, int32_t) +#define LTTNG_KERNEL_ABI_OLD_SESSION_LIST_TRACKER_IDS \ + _IOR(0xF6, 0xA0, struct lttng_kernel_abi_tracker_args) +#define LTTNG_KERNEL_ABI_OLD_SESSION_TRACK_ID \ + _IOR(0xF6, 0xA1, struct lttng_kernel_abi_tracker_args) +#define LTTNG_KERNEL_ABI_OLD_SESSION_UNTRACK_ID \ + _IOR(0xF6, 0xA2, struct lttng_kernel_abi_tracker_args) + #ifdef CONFIG_COMPAT /* returns the timestamp begin of the current sub-buffer */ #define LTTNG_KERNEL_ABI_RING_BUFFER_COMPAT_GET_TIMESTAMP_BEGIN \