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 **************************************************************************** 11 ****************************************************************************/ 12#ifndef _ASM_GENERIC_FCNTL_H 13#define _ASM_GENERIC_FCNTL_H 14 15#include <linux/types.h> 16 17#define O_ACCMODE 00000003 18#define O_RDONLY 00000000 19#define O_WRONLY 00000001 20#define O_RDWR 00000002 21#ifndef O_CREAT 22#define O_CREAT 00000100 23#endif 24#ifndef O_EXCL 25#define O_EXCL 00000200 26#endif 27#ifndef O_NOCTTY 28#define O_NOCTTY 00000400 29#endif 30#ifndef O_TRUNC 31#define O_TRUNC 00001000 32#endif 33#ifndef O_APPEND 34#define O_APPEND 00002000 35#endif 36#ifndef O_NONBLOCK 37#define O_NONBLOCK 00004000 38#endif 39#ifndef O_SYNC 40#define O_SYNC 00010000 41#endif 42#ifndef FASYNC 43#define FASYNC 00020000 44#endif 45#ifndef O_DIRECT 46#define O_DIRECT 00040000 47#endif 48#ifndef O_LARGEFILE 49#define O_LARGEFILE 00100000 50#endif 51#ifndef O_DIRECTORY 52#define O_DIRECTORY 00200000 53#endif 54#ifndef O_NOFOLLOW 55#define O_NOFOLLOW 00400000 56#endif 57#ifndef O_NOATIME 58#define O_NOATIME 01000000 59#endif 60#ifndef O_NDELAY 61#define O_NDELAY O_NONBLOCK 62#endif 63 64#define F_DUPFD 0 65#define F_GETFD 1 66#define F_SETFD 2 67#define F_GETFL 3 68#define F_SETFL 4 69#ifndef F_GETLK 70#define F_GETLK 5 71#define F_SETLK 6 72#define F_SETLKW 7 73#endif 74#ifndef F_SETOWN 75#define F_SETOWN 8 76#define F_GETOWN 9 77#endif 78#ifndef F_SETSIG 79#define F_SETSIG 10 80#define F_GETSIG 11 81#endif 82 83#define FD_CLOEXEC 1 84 85#ifndef F_RDLCK 86#define F_RDLCK 0 87#define F_WRLCK 1 88#define F_UNLCK 2 89#endif 90 91#ifndef F_EXLCK 92#define F_EXLCK 4 93#define F_SHLCK 8 94#endif 95 96#ifndef F_INPROGRESS 97#define F_INPROGRESS 16 98#endif 99 100#define LOCK_SH 1 101#define LOCK_EX 2 102#define LOCK_NB 4 103#define LOCK_UN 8 104 105#define LOCK_MAND 32 106#define LOCK_READ 64 107#define LOCK_WRITE 128 108#define LOCK_RW 192 109 110#define F_LINUX_SPECIFIC_BASE 1024 111 112#ifndef HAVE_ARCH_STRUCT_FLOCK 113#ifndef __ARCH_FLOCK_PAD 114#define __ARCH_FLOCK_PAD 115#endif 116 117struct flock { 118 short l_type; 119 short l_whence; 120 off_t l_start; 121 off_t l_len; 122 pid_t l_pid; 123 __ARCH_FLOCK_PAD 124}; 125#endif 126 127#ifndef F_GETLK64 128#define F_GETLK64 12 129#define F_SETLK64 13 130#define F_SETLKW64 14 131#endif 132 133#ifndef HAVE_ARCH_STRUCT_FLOCK64 134#ifndef __ARCH_FLOCK64_PAD 135#define __ARCH_FLOCK64_PAD 136#endif 137 138struct flock64 { 139 short l_type; 140 short l_whence; 141 loff_t l_start; 142 loff_t l_len; 143 pid_t l_pid; 144 __ARCH_FLOCK64_PAD 145}; 146#endif 147 148#endif 149