Blame view
include/asm-generic/fcntl.h
4.41 KB
9317259ea [PATCH] Create as... |
1 2 |
#ifndef _ASM_GENERIC_FCNTL_H #define _ASM_GENERIC_FCNTL_H |
5ac353f9b [PATCH] Clean up ... |
3 |
#include <linux/types.h> |
ecf081d1a vfs: introduce FM... |
4 5 |
/* * FMODE_EXEC is 0x20 |
12ed2e36c fanotify: FMODE_N... |
6 |
* FMODE_NONOTIFY is 0x1000000 |
ecf081d1a vfs: introduce FM... |
7 8 9 10 |
* These cannot be used by userspace O_* until internal and external open * flags are split. * -Eric Paris */ |
454eedb89 vfs: O_* bit numb... |
11 12 13 |
/* * When introducing new O_* bits, please check its uniqueness in fcntl_init(). */ |
e64ca97fd [PATCH] Clean up ... |
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#define O_ACCMODE 00000003 #define O_RDONLY 00000000 #define O_WRONLY 00000001 #define O_RDWR 00000002 #ifndef O_CREAT #define O_CREAT 00000100 /* not fcntl */ #endif #ifndef O_EXCL #define O_EXCL 00000200 /* not fcntl */ #endif #ifndef O_NOCTTY #define O_NOCTTY 00000400 /* not fcntl */ #endif #ifndef O_TRUNC #define O_TRUNC 00001000 /* not fcntl */ #endif #ifndef O_APPEND #define O_APPEND 00002000 #endif #ifndef O_NONBLOCK #define O_NONBLOCK 00004000 #endif |
6b2f3d1f7 vfs: Implement pr... |
36 37 |
#ifndef O_DSYNC #define O_DSYNC 00010000 /* used to be O_SYNC, see below */ |
e64ca97fd [PATCH] Clean up ... |
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
#endif #ifndef FASYNC #define FASYNC 00020000 /* fcntl, for BSD compatibility */ #endif #ifndef O_DIRECT #define O_DIRECT 00040000 /* direct disk access hint */ #endif #ifndef O_LARGEFILE #define O_LARGEFILE 00100000 #endif #ifndef O_DIRECTORY #define O_DIRECTORY 00200000 /* must be a directory */ #endif #ifndef O_NOFOLLOW #define O_NOFOLLOW 00400000 /* don't follow links */ #endif #ifndef O_NOATIME #define O_NOATIME 01000000 #endif |
f23513e8d Introduce O_CLOEXEC |
57 58 59 |
#ifndef O_CLOEXEC #define O_CLOEXEC 02000000 /* set close_on_exec */ #endif |
6b2f3d1f7 vfs: Implement pr... |
60 61 |
/* |
76b7e0058 fix up O_SYNC com... |
62 |
* Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using |
6b2f3d1f7 vfs: Implement pr... |
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
* the O_SYNC flag. We continue to use the existing numerical value * for O_DSYNC semantics now, but using the correct symbolic name for it. * This new value is used to request true Posix O_SYNC semantics. It is * defined in this strange way to make sure applications compiled against * new headers get at least O_DSYNC semantics on older kernels. * * This has the nice side-effect that we can simply test for O_DSYNC * wherever we do not care if O_DSYNC or O_SYNC is used. * * Note: __O_SYNC must never be used directly. */ #ifndef O_SYNC #define __O_SYNC 04000000 #define O_SYNC (__O_SYNC|O_DSYNC) #endif |
1abf0c718 New kind of open ... |
78 79 80 |
#ifndef O_PATH #define O_PATH 010000000 #endif |
e64ca97fd [PATCH] Clean up ... |
81 82 83 |
#ifndef O_NDELAY #define O_NDELAY O_NONBLOCK #endif |
9317259ea [PATCH] Create as... |
84 85 86 87 88 89 |
#define F_DUPFD 0 /* dup */ #define F_GETFD 1 /* get close_on_exec */ #define F_SETFD 2 /* set/clear close_on_exec */ #define F_GETFL 3 /* get file->f_flags */ #define F_SETFL 4 /* set file->f_flags */ |
1abf62afb [PATCH] Clean up ... |
90 91 92 93 94 95 96 97 98 99 100 101 102 |
#ifndef F_GETLK #define F_GETLK 5 #define F_SETLK 6 #define F_SETLKW 7 #endif #ifndef F_SETOWN #define F_SETOWN 8 /* for sockets. */ #define F_GETOWN 9 /* for sockets. */ #endif #ifndef F_SETSIG #define F_SETSIG 10 /* for sockets. */ #define F_GETSIG 11 /* for sockets. */ #endif |
71ccb83cf alpha: fix F_SETO... |
103 104 105 106 107 108 109 110 |
#ifndef CONFIG_64BIT #ifndef F_GETLK64 #define F_GETLK64 12 /* using 'struct flock64' */ #define F_SETLK64 13 #define F_SETLKW64 14 #endif #endif |
ba0a6c9f6 fcntl: add F_[SG]... |
111 |
#ifndef F_SETOWN_EX |
71ccb83cf alpha: fix F_SETO... |
112 113 |
#define F_SETOWN_EX 15 #define F_GETOWN_EX 16 |
ba0a6c9f6 fcntl: add F_[SG]... |
114 115 116 117 |
#endif #define F_OWNER_TID 0 #define F_OWNER_PID 1 |
978b4053a fcntl: rename F_O... |
118 |
#define F_OWNER_PGRP 2 |
ba0a6c9f6 fcntl: add F_[SG]... |
119 120 121 |
struct f_owner_ex { int type; |
269b8fd5d asm-generic: fcnt... |
122 |
__kernel_pid_t pid; |
ba0a6c9f6 fcntl: add F_[SG]... |
123 |
}; |
9317259ea [PATCH] Create as... |
124 125 126 |
/* for F_[GET|SET]FL */ #define FD_CLOEXEC 1 /* actually anything with low bit set goes */ |
1abf62afb [PATCH] Clean up ... |
127 128 129 130 131 132 133 134 135 136 137 138 |
/* for posix fcntl() and lockf() */ #ifndef F_RDLCK #define F_RDLCK 0 #define F_WRLCK 1 #define F_UNLCK 2 #endif /* for old implementation of bsd flock () */ #ifndef F_EXLCK #define F_EXLCK 4 /* or 3 */ #define F_SHLCK 8 /* or 4 */ #endif |
9317259ea [PATCH] Create as... |
139 140 141 142 143 144 145 146 147 148 149 150 151 |
/* operations for bsd flock(), also used by the kernel implementation */ #define LOCK_SH 1 /* shared lock */ #define LOCK_EX 2 /* exclusive lock */ #define LOCK_NB 4 /* or'd with one of the above to prevent blocking */ #define LOCK_UN 8 /* remove lock */ #define LOCK_MAND 32 /* This is a mandatory flock ... */ #define LOCK_READ 64 /* which allows concurrent read operations */ #define LOCK_WRITE 128 /* which allows concurrent write operations */ #define LOCK_RW 192 /* which allows concurrent read & write ops */ #define F_LINUX_SPECIFIC_BASE 1024 |
5ac353f9b [PATCH] Clean up ... |
152 153 154 155 156 157 158 159 |
#ifndef HAVE_ARCH_STRUCT_FLOCK #ifndef __ARCH_FLOCK_PAD #define __ARCH_FLOCK_PAD #endif struct flock { short l_type; short l_whence; |
85efde6f4 make exported hea... |
160 161 162 |
__kernel_off_t l_start; __kernel_off_t l_len; __kernel_pid_t l_pid; |
5ac353f9b [PATCH] Clean up ... |
163 164 165 |
__ARCH_FLOCK_PAD }; #endif |
8d286aa5e [PATCH] Clean up ... |
166 |
#ifndef CONFIG_64BIT |
8d286aa5e [PATCH] Clean up ... |
167 168 169 170 171 172 173 174 |
#ifndef HAVE_ARCH_STRUCT_FLOCK64 #ifndef __ARCH_FLOCK64_PAD #define __ARCH_FLOCK64_PAD #endif struct flock64 { short l_type; short l_whence; |
85efde6f4 make exported hea... |
175 176 177 |
__kernel_loff_t l_start; __kernel_loff_t l_len; __kernel_pid_t l_pid; |
8d286aa5e [PATCH] Clean up ... |
178 179 180 181 |
__ARCH_FLOCK64_PAD }; #endif #endif /* !CONFIG_64BIT */ |
9317259ea [PATCH] Create as... |
182 |
#endif /* _ASM_GENERIC_FCNTL_H */ |