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