1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _ASM_GENERIC_FCNTL_H
20 #define _ASM_GENERIC_FCNTL_H
21 #include <linux/types.h>
22 #define O_ACCMODE 00000003
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define O_RDONLY 00000000
25 #define O_WRONLY 00000001
26 #define O_RDWR 00000002
27 #ifndef O_CREAT
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define O_CREAT 00000100
30 #endif
31 #ifndef O_EXCL
32 #define O_EXCL 00000200
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #endif
35 #ifndef O_NOCTTY
36 #define O_NOCTTY 00000400
37 #endif
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #ifndef O_TRUNC
40 #define O_TRUNC 00001000
41 #endif
42 #ifndef O_APPEND
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define O_APPEND 00002000
45 #endif
46 #ifndef O_NONBLOCK
47 #define O_NONBLOCK 00004000
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #endif
50 #ifndef O_DSYNC
51 #define O_DSYNC 00010000
52 #endif
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #ifndef FASYNC
55 #define FASYNC 00020000
56 #endif
57 #ifndef O_DIRECT
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define O_DIRECT 00040000
60 #endif
61 #ifndef O_LARGEFILE
62 #define O_LARGEFILE 00100000
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #endif
65 #ifndef O_DIRECTORY
66 #define O_DIRECTORY 00200000
67 #endif
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #ifndef O_NOFOLLOW
70 #define O_NOFOLLOW 00400000
71 #endif
72 #ifndef O_NOATIME
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 #define O_NOATIME 01000000
75 #endif
76 #ifndef O_CLOEXEC
77 #define O_CLOEXEC 02000000
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 #endif
80 #ifndef O_SYNC
81 #define __O_SYNC 04000000
82 #define O_SYNC (__O_SYNC | O_DSYNC)
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 #endif
85 #ifndef O_PATH
86 #define O_PATH 010000000
87 #endif
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 #ifndef __O_TMPFILE
90 #define __O_TMPFILE 020000000
91 #endif
92 #define O_TMPFILE (__O_TMPFILE | O_DIRECTORY)
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 #define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT)
95 #ifndef O_NDELAY
96 #define O_NDELAY O_NONBLOCK
97 #endif
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 #define F_DUPFD 0
100 #define F_GETFD 1
101 #define F_SETFD 2
102 #define F_GETFL 3
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 #define F_SETFL 4
105 #ifndef F_GETLK
106 #define F_GETLK 5
107 #define F_SETLK 6
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #define F_SETLKW 7
110 #endif
111 #ifndef F_SETOWN
112 #define F_SETOWN 8
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 #define F_GETOWN 9
115 #endif
116 #ifndef F_SETSIG
117 #define F_SETSIG 10
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 #define F_GETSIG 11
120 #endif
121 #ifndef __LP64__
122 #ifndef F_GETLK64
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 #define F_GETLK64 12
125 #define F_SETLK64 13
126 #define F_SETLKW64 14
127 #endif
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 #endif
130 #ifndef F_SETOWN_EX
131 #define F_SETOWN_EX 15
132 #define F_GETOWN_EX 16
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 #endif
135 #ifndef F_GETOWNER_UIDS
136 #define F_GETOWNER_UIDS 17
137 #endif
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 #define F_OFD_GETLK 36
140 #define F_OFD_SETLK 37
141 #define F_OFD_SETLKW 38
142 #define F_OWNER_TID 0
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 #define F_OWNER_PID 1
145 #define F_OWNER_PGRP 2
146 struct f_owner_ex {
147   int type;
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   __kernel_pid_t pid;
150 };
151 #define FD_CLOEXEC 1
152 #ifndef F_RDLCK
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 #define F_RDLCK 0
155 #define F_WRLCK 1
156 #define F_UNLCK 2
157 #endif
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 #ifndef F_EXLCK
160 #define F_EXLCK 4
161 #define F_SHLCK 8
162 #endif
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 #define LOCK_SH 1
165 #define LOCK_EX 2
166 #define LOCK_NB 4
167 #define LOCK_UN 8
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 #define LOCK_MAND 32
170 #define LOCK_READ 64
171 #define LOCK_WRITE 128
172 #define LOCK_RW 192
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 #define F_LINUX_SPECIFIC_BASE 1024
175 #ifndef HAVE_ARCH_STRUCT_FLOCK
176 #ifndef __ARCH_FLOCK_PAD
177 #define __ARCH_FLOCK_PAD
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 #endif
180 struct flock {
181   short l_type;
182   short l_whence;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184   __kernel_off_t l_start;
185   __kernel_off_t l_len;
186   __kernel_pid_t l_pid;
187   __ARCH_FLOCK_PAD
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 };
190 #endif
191 #ifndef HAVE_ARCH_STRUCT_FLOCK64
192 #ifndef __ARCH_FLOCK64_PAD
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 #define __ARCH_FLOCK64_PAD
195 #endif
196 struct flock64 {
197   short l_type;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199   short l_whence;
200   __kernel_loff_t l_start;
201   __kernel_loff_t l_len;
202   __kernel_pid_t l_pid;
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   __ARCH_FLOCK64_PAD
205 };
206 #endif
207 #endif
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209