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