Home | History | Annotate | Download | only in asm-generic
      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 
    117 struct 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 
    138 struct 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