fcntl.h revision 8cb52b056cfc302e05304d847c4228dff15715cf
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_NDELAY
90#define O_NDELAY O_NONBLOCK
91#endif
92#define F_DUPFD 0
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#define F_GETFD 1
95#define F_SETFD 2
96#define F_GETFL 3
97#define F_SETFL 4
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#ifndef F_GETLK
100#define F_GETLK 5
101#define F_SETLK 6
102#define F_SETLKW 7
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#endif
105#ifndef F_SETOWN
106#define F_SETOWN 8
107#define F_GETOWN 9
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#endif
110#ifndef F_SETSIG
111#define F_SETSIG 10
112#define F_GETSIG 11
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#endif
115#ifndef F_GETLK64
116#define F_GETLK64 12
117#define F_SETLK64 13
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define F_SETLKW64 14
120#endif
121#ifndef F_SETOWN_EX
122#define F_SETOWN_EX 15
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define F_GETOWN_EX 16
125#endif
126#ifndef F_GETOWNER_UIDS
127#define F_GETOWNER_UIDS 17
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#endif
130#define F_OWNER_TID 0
131#define F_OWNER_PID 1
132#define F_OWNER_PGRP 2
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134struct f_owner_ex {
135 int type;
136 __kernel_pid_t pid;
137};
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define FD_CLOEXEC 1
140#ifndef F_RDLCK
141#define F_RDLCK 0
142#define F_WRLCK 1
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144#define F_UNLCK 2
145#endif
146#ifndef F_EXLCK
147#define F_EXLCK 4
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149#define F_SHLCK 8
150#endif
151#define LOCK_SH 1
152#define LOCK_EX 2
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154#define LOCK_NB 4
155#define LOCK_UN 8
156#define LOCK_MAND 32
157#define LOCK_READ 64
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159#define LOCK_WRITE 128
160#define LOCK_RW 192
161#define F_LINUX_SPECIFIC_BASE 1024
162#ifndef HAVE_ARCH_STRUCT_FLOCK
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164#ifndef __ARCH_FLOCK_PAD
165#define __ARCH_FLOCK_PAD
166#endif
167struct flock {
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 short l_type;
170 short l_whence;
171 __kernel_off_t l_start;
172 __kernel_off_t l_len;
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 __kernel_pid_t l_pid;
175 __ARCH_FLOCK_PAD
176};
177#endif
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179#ifndef HAVE_ARCH_STRUCT_FLOCK64
180#ifndef __ARCH_FLOCK64_PAD
181#define __ARCH_FLOCK64_PAD
182#endif
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184struct flock64 {
185 short l_type;
186 short l_whence;
187 __kernel_loff_t l_start;
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 __kernel_loff_t l_len;
190 __kernel_pid_t l_pid;
191 __ARCH_FLOCK64_PAD
192};
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194#endif
195#endif
196