blob: 9c1881b59ad9346d307737f73b44c3466e2f8682 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 */
Christopher Ferris38062f92014-07-09 15:33:25 -070089#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)
Ben Cheng655a7c02013-10-16 16:09:24 -070095#ifndef O_NDELAY
96#define O_NDELAY O_NONBLOCK
97#endif
Elliott Hughes8cb52b02013-11-21 13:43:23 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070099#define F_DUPFD 0
Ben Cheng655a7c02013-10-16 16:09:24 -0700100#define F_GETFD 1
101#define F_SETFD 2
102#define F_GETFL 3
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700104#define F_SETFL 4
Ben Cheng655a7c02013-10-16 16:09:24 -0700105#ifndef F_GETLK
106#define F_GETLK 5
107#define F_SETLK 6
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700109#define F_SETLKW 7
Ben Cheng655a7c02013-10-16 16:09:24 -0700110#endif
111#ifndef F_SETOWN
112#define F_SETOWN 8
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700114#define F_GETOWN 9
Ben Cheng655a7c02013-10-16 16:09:24 -0700115#endif
116#ifndef F_SETSIG
117#define F_SETSIG 10
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700119#define F_GETSIG 11
Ben Cheng655a7c02013-10-16 16:09:24 -0700120#endif
Elliott Hughes9195a252014-04-08 10:15:06 -0700121#ifndef __LP64__
Ben Cheng655a7c02013-10-16 16:09:24 -0700122#ifndef F_GETLK64
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700124#define F_GETLK64 12
Elliott Hughes9195a252014-04-08 10:15:06 -0700125#define F_SETLK64 13
Ben Cheng655a7c02013-10-16 16:09:24 -0700126#define F_SETLKW64 14
127#endif
Elliott Hughes9195a252014-04-08 10:15:06 -0700128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700129#endif
Ben Cheng655a7c02013-10-16 16:09:24 -0700130#ifndef F_SETOWN_EX
Ben Cheng655a7c02013-10-16 16:09:24 -0700131#define F_SETOWN_EX 15
132#define F_GETOWN_EX 16
Elliott Hughes9195a252014-04-08 10:15:06 -0700133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700134#endif
Ben Cheng655a7c02013-10-16 16:09:24 -0700135#ifndef F_GETOWNER_UIDS
Ben Cheng655a7c02013-10-16 16:09:24 -0700136#define F_GETOWNER_UIDS 17
137#endif
Elliott Hughes9195a252014-04-08 10:15:06 -0700138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700139#define F_OFD_GETLK 36
140#define F_OFD_SETLK 37
141#define F_OFD_SETLKW 38
Christopher Ferris38062f92014-07-09 15:33:25 -0700142#define F_OWNER_TID 0
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700144#define F_OWNER_PID 1
Ben Cheng655a7c02013-10-16 16:09:24 -0700145#define F_OWNER_PGRP 2
146struct f_owner_ex {
Christopher Ferris38062f92014-07-09 15:33:25 -0700147 int type;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700149 __kernel_pid_t pid;
Ben Cheng655a7c02013-10-16 16:09:24 -0700150};
151#define FD_CLOEXEC 1
Christopher Ferris38062f92014-07-09 15:33:25 -0700152#ifndef F_RDLCK
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700154#define F_RDLCK 0
Ben Cheng655a7c02013-10-16 16:09:24 -0700155#define F_WRLCK 1
156#define F_UNLCK 2
Christopher Ferris38062f92014-07-09 15:33:25 -0700157#endif
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700159#ifndef F_EXLCK
Ben Cheng655a7c02013-10-16 16:09:24 -0700160#define F_EXLCK 4
161#define F_SHLCK 8
Christopher Ferris38062f92014-07-09 15:33:25 -0700162#endif
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700164#define LOCK_SH 1
Ben Cheng655a7c02013-10-16 16:09:24 -0700165#define LOCK_EX 2
166#define LOCK_NB 4
Christopher Ferris38062f92014-07-09 15:33:25 -0700167#define LOCK_UN 8
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700169#define LOCK_MAND 32
Ben Cheng655a7c02013-10-16 16:09:24 -0700170#define LOCK_READ 64
171#define LOCK_WRITE 128
Christopher Ferris38062f92014-07-09 15:33:25 -0700172#define LOCK_RW 192
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700174#define F_LINUX_SPECIFIC_BASE 1024
Ben Cheng655a7c02013-10-16 16:09:24 -0700175#ifndef HAVE_ARCH_STRUCT_FLOCK
176#ifndef __ARCH_FLOCK_PAD
Christopher Ferris38062f92014-07-09 15:33:25 -0700177#define __ARCH_FLOCK_PAD
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700179#endif
Ben Cheng655a7c02013-10-16 16:09:24 -0700180struct flock {
181 short l_type;
Christopher Ferris38062f92014-07-09 15:33:25 -0700182 short l_whence;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700184 __kernel_off_t l_start;
Ben Cheng655a7c02013-10-16 16:09:24 -0700185 __kernel_off_t l_len;
186 __kernel_pid_t l_pid;
Christopher Ferris38062f92014-07-09 15:33:25 -0700187 __ARCH_FLOCK_PAD
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700189};
Ben Cheng655a7c02013-10-16 16:09:24 -0700190#endif
Christopher Ferris38062f92014-07-09 15:33:25 -0700191#ifndef HAVE_ARCH_STRUCT_FLOCK64
Ben Cheng655a7c02013-10-16 16:09:24 -0700192#ifndef __ARCH_FLOCK64_PAD
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700194#define __ARCH_FLOCK64_PAD
Ben Cheng655a7c02013-10-16 16:09:24 -0700195#endif
Christopher Ferris38062f92014-07-09 15:33:25 -0700196struct flock64 {
Ben Cheng655a7c02013-10-16 16:09:24 -0700197 short l_type;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700199 short l_whence;
Ben Cheng655a7c02013-10-16 16:09:24 -0700200 __kernel_loff_t l_start;
Christopher Ferris38062f92014-07-09 15:33:25 -0700201 __kernel_loff_t l_len;
Ben Cheng655a7c02013-10-16 16:09:24 -0700202 __kernel_pid_t l_pid;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700204 __ARCH_FLOCK64_PAD
Ben Cheng655a7c02013-10-16 16:09:24 -0700205};
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700206#endif
207#endif
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */