History

annotate RWF_... flags

[AV: added missing annotations in syscalls.h/compat.h]

Christoph Hellwig committed 9 years ago

Commit ddef7ed1 parent 4f59c717 files · +80 −53Browse files

Showing the changes to include/uapi/linux (2 of 7 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/aio_abi.h +11 −10
  2. include/uapi/linux/fs.h +20 −8
include/uapi/linux/aio_abi.h+11−10
@@ -28,6 +28,7 @@ · 27 unmodified lines
2828 #define __LINUX__AIO_ABI_H
2929
3030 #include <linux/types.h>
31+#include <linux/fs.h>
3132 #include <asm/byteorder.h>
3233
3334 typedef __kernel_ulong_t aio_context_t;
@@ -62,14 +63,6 @@ struct io_event { · 28 unmodified lines
6263 __s64 res2; /* secondary result */
6364 };
6465
65−#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
66−#define PADDED(x,y) x, y
67−#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
68−#define PADDED(x,y) y, x
69−#else
70−#error edit for your odd byteorder.
71−#endif
72−
7366 /*
7467 * we always use a 64bit off_t when communicating
7568 * with userland. its up to libraries to do the
@@ -79,8 +72,16 @@ struct io_event { · 3 unmodified lines
7972 struct iocb {
8073 /* these are internal to the kernel/libc. */
8174 __u64 aio_data; /* data to be returned in event's data */
82− __u32 PADDED(aio_key, aio_rw_flags);
83− /* the kernel sets aio_key to the req # */
75+
76+#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
77+ __u32 aio_key; /* the kernel sets aio_key to the req # */
78+ __kernel_rwf_t aio_rw_flags; /* RWF_* flags */
79+#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
80+ __kernel_rwf_t aio_rw_flags; /* RWF_* flags */
81+ __u32 aio_key; /* the kernel sets aio_key to the req # */
82+#else
83+#error edit for your odd byteorder.
84+#endif
8485
8586 /* common fields */
8687 __u16 aio_lio_opcode; /* see IOCB_CMD_ above */
include/uapi/linux/fs.h+20−8
@@ -358,13 +358,25 @@ struct fscrypt_key { · 357 unmodified lines
358358 #define SYNC_FILE_RANGE_WRITE 2
359359 #define SYNC_FILE_RANGE_WAIT_AFTER 4
360360
361−/* flags for preadv2/pwritev2: */
362−#define RWF_HIPRI 0x00000001 /* high priority request, poll if possible */
363−#define RWF_DSYNC 0x00000002 /* per-IO O_DSYNC */
364−#define RWF_SYNC 0x00000004 /* per-IO O_SYNC */
365−#define RWF_NOWAIT 0x00000008 /* per-IO, return -EAGAIN if operation would block */
366−
367−#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC |\
368− RWF_NOWAIT)
361+/*
362+ * Flags for preadv2/pwritev2:
363+ */
364+
365+typedef int __bitwise __kernel_rwf_t;
366+
367+/* high priority request, poll if possible */
368+#define RWF_HIPRI ((__force __kernel_rwf_t)0x00000001)
369+
370+/* per-IO O_DSYNC */
371+#define RWF_DSYNC ((__force __kernel_rwf_t)0x00000002)
372+
373+/* per-IO O_SYNC */
374+#define RWF_SYNC ((__force __kernel_rwf_t)0x00000004)
375+
376+/* per-IO, return -EAGAIN if operation would block */
377+#define RWF_NOWAIT ((__force __kernel_rwf_t)0x00000008)
378+
379+/* mask of flags supported by the kernel */
380+#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT)
369381
370382 #endif /* _UAPI_LINUX_FS_H */