1 /*
2 * Copyright (c) 2018-2023 The strace developers.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7
8 /*
9 * There is nothing to do here if <asm-generic/fcntl.h> is already included,
10 * so use the same guard as <asm-generic/fcntl.h> does.
11 */
12 #ifndef _ASM_GENERIC_FCNTL_H
13
14 # undef f_owner_ex
15 # define f_owner_ex kernel_f_owner_ex
16 # undef flock
17 # define flock kernel_flock
18 # undef flock64
19 # define flock64 kernel_flock64
20
21 /*
22 * sed -En 's/^#define[[:space:]]+([^[:space:]]+)[[:space:]].*$/# undef \1/p' \
23 * include/uapi/asm-generic/fcntl.h
24 */
25 # undef O_ACCMODE
26 # undef O_RDONLY
27 # undef O_WRONLY
28 # undef O_RDWR
29 # undef O_CREAT
30 # undef O_EXCL
31 # undef O_NOCTTY
32 # undef O_TRUNC
33 # undef O_APPEND
34 # undef O_NONBLOCK
35 # undef O_DSYNC
36 # undef FASYNC
37 # undef O_DIRECT
38 # undef O_LARGEFILE
39 # undef O_DIRECTORY
40 # undef O_NOFOLLOW
41 # undef O_NOATIME
42 # undef O_CLOEXEC
43 # undef __O_SYNC
44 # undef O_SYNC
45 # undef O_PATH
46 # undef __O_TMPFILE
47 # undef O_TMPFILE
48 # undef O_TMPFILE_MASK
49 # undef O_NDELAY
50 # undef F_DUPFD
51 # undef F_GETFD
52 # undef F_SETFD
53 # undef F_GETFL
54 # undef F_SETFL
55 # undef F_GETLK
56 # undef F_SETLK
57 # undef F_SETLKW
58 # undef F_SETOWN
59 # undef F_GETOWN
60 # undef F_SETSIG
61 # undef F_GETSIG
62 # undef F_GETLK64
63 # undef F_SETLK64
64 # undef F_SETLKW64
65 # undef F_SETOWN_EX
66 # undef F_GETOWN_EX
67 # undef F_GETOWNER_UIDS
68 # undef F_OFD_GETLK
69 # undef F_OFD_SETLK
70 # undef F_OFD_SETLKW
71 # undef F_OWNER_TID
72 # undef F_OWNER_PID
73 # undef F_OWNER_PGRP
74 # undef FD_CLOEXEC
75 # undef F_RDLCK
76 # undef F_WRLCK
77 # undef F_UNLCK
78 # undef F_EXLCK
79 # undef F_SHLCK
80 # undef LOCK_SH
81 # undef LOCK_EX
82 # undef LOCK_NB
83 # undef LOCK_UN
84 # undef LOCK_MAND
85 # undef LOCK_READ
86 # undef LOCK_WRITE
87 # undef LOCK_RW
88 # undef F_LINUX_SPECIFIC_BASE
89
90 # include <asm/fcntl.h>
91
92 # undef f_owner_ex
93 # undef flock
94 # undef flock64
95
96 #endif /* !_ASM_GENERIC_FCNTL_H */
97
98 /*
99 * On sparc32 O_NDELAY is erroneously defined to (0x0004 | O_NONBLOCK).
100 * On many architectures O_NDELAY is defined to O_NONBLOCK.
101 * Both cases are wrong and have to be fixed.
102 */
103 #undef O_NDELAY