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
28#define __LINUX__AIO_ABI_H28#define __LINUX__AIO_ABI_H
29 29
30#include <linux/types.h>30#include <linux/types.h>
31#include <linux/fs.h>
31#include <asm/byteorder.h>32#include <asm/byteorder.h>
32 33
33typedef __kernel_ulong_t aio_context_t;34typedef __kernel_ulong_t aio_context_t;
@@ -62,14 +63,6 @@ struct io_event { · 28 unmodified lines
62 __s64 res2; /* secondary result */63 __s64 res2; /* secondary result */
63};64};
64 65
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
73/*66/*
74 * we always use a 64bit off_t when communicating67 * we always use a 64bit off_t when communicating
75 * with userland. its up to libraries to do the68 * with userland. its up to libraries to do the
@@ -79,8 +72,16 @@ struct io_event { · 3 unmodified lines
79struct iocb {72struct iocb {
80 /* these are internal to the kernel/libc. */73 /* these are internal to the kernel/libc. */
81 __u64 aio_data; /* data to be returned in event's data */74 __u64 aio_data; /* data to be returned in event's data */
82 __u32 PADDED(aio_key, aio_rw_flags);75
83 /* the kernel sets aio_key to the req # */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
84 85
85 /* common fields */86 /* common fields */
86 __u16 aio_lio_opcode; /* see IOCB_CMD_ above */87 __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
358#define SYNC_FILE_RANGE_WRITE 2358#define SYNC_FILE_RANGE_WRITE 2
359#define SYNC_FILE_RANGE_WAIT_AFTER 4359#define SYNC_FILE_RANGE_WAIT_AFTER 4
360 360
361/* flags for preadv2/pwritev2: */361/*
362#define RWF_HIPRI 0x00000001 /* high priority request, poll if possible */362 * Flags for preadv2/pwritev2:
363#define RWF_DSYNC 0x00000002 /* per-IO O_DSYNC */363 */
364#define RWF_SYNC 0x00000004 /* per-IO O_SYNC */364
365#define RWF_NOWAIT 0x00000008 /* per-IO, return -EAGAIN if operation would block */365typedef int __bitwise __kernel_rwf_t;
366 366
367#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC |\367/* high priority request, poll if possible */
368 RWF_NOWAIT)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)
369 381
370#endif /* _UAPI_LINUX_FS_H */382#endif /* _UAPI_LINUX_FS_H */