xref: /openbmc/qemu/linux-user/mips/target_fcntl.h (revision 2e1cacfb)
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License version 2 as
4  * published by the Free Software Foundation, or (at your option) any
5  * later version. See the COPYING file in the top-level directory.
6  */
7 
8 #ifndef MIPS_TARGET_FCNTL_H
9 #define MIPS_TARGET_FCNTL_H
10 
11 #define TARGET_O_APPEND         0x0008
12 #define TARGET_O_DSYNC          0x0010
13 #define TARGET_O_NONBLOCK       0x0080
14 #define TARGET_O_CREAT          0x0100  /* not fcntl */
15 #define TARGET_O_TRUNC          0x0200  /* not fcntl */
16 #define TARGET_O_EXCL           0x0400  /* not fcntl */
17 #define TARGET_O_NOCTTY         0x0800  /* not fcntl */
18 #define TARGET_FASYNC           0x1000  /* fcntl, for BSD compatibility */
19 #define TARGET_O_LARGEFILE      0x2000  /* allow large file opens */
20 #define TARGET___O_SYNC         0x4000
21 #define TARGET_O_DIRECT         0x8000  /* direct disk access hint */
22 
23 #define TARGET_F_GETLK         14
24 #define TARGET_F_SETLK         6
25 #define TARGET_F_SETLKW        7
26 
27 #define TARGET_F_SETOWN        24       /*  for sockets. */
28 #define TARGET_F_GETOWN        23       /*  for sockets. */
29 
30 #if (TARGET_ABI_BITS == 32)
31 
32 struct target_flock {
33     short l_type;
34     short l_whence;
35     abi_long l_start;
36     abi_long l_len;
37     abi_long l_sysid;
38     int l_pid;
39     abi_long pad[4];
40 };
41 
42 #define TARGET_HAVE_ARCH_STRUCT_FLOCK
43 
44 #endif
45 
46 #define TARGET_F_GETLK64       33      /*  using 'struct flock64' */
47 #define TARGET_F_SETLK64       34
48 #define TARGET_F_SETLKW64      35
49 
50 #include "../generic/fcntl.h"
51 #endif
52