Merge remote-tracking branch 'remotes/rth/tags/pull-arm-20211021' into staging
[qemu.git] / linux-user / mips / target_fcntl.h
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