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  ***   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 #define O_RDONLY 00000000
     24 #define O_WRONLY 00000001
     25 #define O_RDWR 00000002
     26 #ifndef O_CREAT
     27 #define O_CREAT 00000100
     28 #endif
     29 #ifndef O_EXCL
     30 #define O_EXCL 00000200
     31 #endif
     32 #ifndef O_NOCTTY
     33 #define O_NOCTTY 00000400
     34 #endif
     35 #ifndef O_TRUNC
     36 #define O_TRUNC 00001000
     37 #endif
     38 #ifndef O_APPEND
     39 #define O_APPEND 00002000
     40 #endif
     41 #ifndef O_NONBLOCK
     42 #define O_NONBLOCK 00004000
     43 #endif
     44 #ifndef O_DSYNC
     45 #define O_DSYNC 00010000
     46 #endif
     47 #ifndef FASYNC
     48 #define FASYNC 00020000
     49 #endif
     50 #ifndef O_DIRECT
     51 #define O_DIRECT 00040000
     52 #endif
     53 #ifndef O_LARGEFILE
     54 #define O_LARGEFILE 00100000
     55 #endif
     56 #ifndef O_DIRECTORY
     57 #define O_DIRECTORY 00200000
     58 #endif
     59 #ifndef O_NOFOLLOW
     60 #define O_NOFOLLOW 00400000
     61 #endif
     62 #ifndef O_NOATIME
     63 #define O_NOATIME 01000000
     64 #endif
     65 #ifndef O_CLOEXEC
     66 #define O_CLOEXEC 02000000
     67 #endif
     68 #ifndef O_SYNC
     69 #define __O_SYNC 04000000
     70 #define O_SYNC (__O_SYNC | O_DSYNC)
     71 #endif
     72 #ifndef O_PATH
     73 #define O_PATH 010000000
     74 #endif
     75 #ifndef __O_TMPFILE
     76 #define __O_TMPFILE 020000000
     77 #endif
     78 #define O_TMPFILE (__O_TMPFILE | O_DIRECTORY)
     79 #define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT)
     80 #ifndef O_NDELAY
     81 #define O_NDELAY O_NONBLOCK
     82 #endif
     83 #define F_DUPFD 0
     84 #define F_GETFD 1
     85 #define F_SETFD 2
     86 #define F_GETFL 3
     87 #define F_SETFL 4
     88 #ifndef F_GETLK
     89 #define F_GETLK 5
     90 #define F_SETLK 6
     91 #define F_SETLKW 7
     92 #endif
     93 #ifndef F_SETOWN
     94 #define F_SETOWN 8
     95 #define F_GETOWN 9
     96 #endif
     97 #ifndef F_SETSIG
     98 #define F_SETSIG 10
     99 #define F_GETSIG 11
    100 #endif
    101 #ifndef __LP64__
    102 #ifndef F_GETLK64
    103 #define F_GETLK64 12
    104 #define F_SETLK64 13
    105 #define F_SETLKW64 14
    106 #endif
    107 #endif
    108 #ifndef F_SETOWN_EX
    109 #define F_SETOWN_EX 15
    110 #define F_GETOWN_EX 16
    111 #endif
    112 #ifndef F_GETOWNER_UIDS
    113 #define F_GETOWNER_UIDS 17
    114 #endif
    115 #define F_OFD_GETLK 36
    116 #define F_OFD_SETLK 37
    117 #define F_OFD_SETLKW 38
    118 #define F_OWNER_TID 0
    119 #define F_OWNER_PID 1
    120 #define F_OWNER_PGRP 2
    121 struct f_owner_ex {
    122   int type;
    123   __kernel_pid_t pid;
    124 };
    125 #define FD_CLOEXEC 1
    126 #ifndef F_RDLCK
    127 #define F_RDLCK 0
    128 #define F_WRLCK 1
    129 #define F_UNLCK 2
    130 #endif
    131 #ifndef F_EXLCK
    132 #define F_EXLCK 4
    133 #define F_SHLCK 8
    134 #endif
    135 #define LOCK_SH 1
    136 #define LOCK_EX 2
    137 #define LOCK_NB 4
    138 #define LOCK_UN 8
    139 #define LOCK_MAND 32
    140 #define LOCK_READ 64
    141 #define LOCK_WRITE 128
    142 #define LOCK_RW 192
    143 #define F_LINUX_SPECIFIC_BASE 1024
    144 #ifndef HAVE_ARCH_STRUCT_FLOCK
    145 #ifndef __ARCH_FLOCK_PAD
    146 #define __ARCH_FLOCK_PAD
    147 #endif
    148 struct flock {
    149   short l_type;
    150   short l_whence;
    151   __kernel_off_t l_start;
    152   __kernel_off_t l_len;
    153   __kernel_pid_t l_pid;
    154   __ARCH_FLOCK_PAD
    155 };
    156 #endif
    157 #ifndef HAVE_ARCH_STRUCT_FLOCK64
    158 #ifndef __ARCH_FLOCK64_PAD
    159 #define __ARCH_FLOCK64_PAD
    160 #endif
    161 struct flock64 {
    162   short l_type;
    163   short l_whence;
    164   __kernel_loff_t l_start;
    165   __kernel_loff_t l_len;
    166   __kernel_pid_t l_pid;
    167   __ARCH_FLOCK64_PAD
    168 };
    169 #endif
    170 #endif
    171