summaryrefslogtreecommitdiffstats
path: root/gl/fcntl.in.h
diff options
context:
space:
mode:
Diffstat (limited to 'gl/fcntl.in.h')
-rw-r--r--gl/fcntl.in.h279
1 files changed, 0 insertions, 279 deletions
diff --git a/gl/fcntl.in.h b/gl/fcntl.in.h
deleted file mode 100644
index 8fb7852..0000000
--- a/gl/fcntl.in.h
+++ /dev/null
@@ -1,279 +0,0 @@
1/* Like <fcntl.h>, but with non-working flags defined to 0.
2
3 Copyright (C) 2006-2010 Free Software Foundation, Inc.
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18/* written by Paul Eggert */
19
20#if __GNUC__ >= 3
21@PRAGMA_SYSTEM_HEADER@
22#endif
23
24#if defined __need_system_fcntl_h
25/* Special invocation convention. */
26
27#include <sys/types.h>
28#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */
29# include <sys/stat.h>
30#endif
31#@INCLUDE_NEXT@ @NEXT_FCNTL_H@
32
33#else
34/* Normal invocation convention. */
35
36#ifndef _GL_FCNTL_H
37
38#include <sys/types.h>
39#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */
40# include <sys/stat.h>
41#endif
42/* The include_next requires a split double-inclusion guard. */
43#@INCLUDE_NEXT@ @NEXT_FCNTL_H@
44
45#ifndef _GL_FCNTL_H
46#define _GL_FCNTL_H
47
48#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */
49# include <unistd.h>
50#endif
51
52
53/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
54
55/* The definition of _GL_ARG_NONNULL is copied here. */
56
57/* The definition of _GL_WARN_ON_USE is copied here. */
58
59
60/* Declare overridden functions. */
61
62#if @GNULIB_FCNTL@
63# if @REPLACE_FCNTL@
64# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
65# undef fcntl
66# define fcntl rpl_fcntl
67# endif
68_GL_FUNCDECL_RPL (fcntl, int, (int fd, int action, ...));
69_GL_CXXALIAS_RPL (fcntl, int, (int fd, int action, ...));
70# else
71# if !@HAVE_FCNTL@
72_GL_FUNCDECL_SYS (fcntl, int, (int fd, int action, ...));
73# endif
74_GL_CXXALIAS_SYS (fcntl, int, (int fd, int action, ...));
75# endif
76_GL_CXXALIASWARN (fcntl);
77#elif defined GNULIB_POSIXCHECK
78# undef fcntl
79# if HAVE_RAW_DECL_FCNTL
80_GL_WARN_ON_USE (fcntl, "fcntl is not always POSIX compliant - "
81 "use gnulib module fcntl for portability");
82# endif
83#endif
84
85#if @GNULIB_OPEN@
86# if @REPLACE_OPEN@
87# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
88# undef open
89# define open rpl_open
90# endif
91_GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
92 _GL_ARG_NONNULL ((1)));
93_GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
94# else
95_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
96# endif
97_GL_CXXALIASWARN (open);
98#elif defined GNULIB_POSIXCHECK
99# undef open
100/* Assume open is always declared. */
101_GL_WARN_ON_USE (open, "open is not always POSIX compliant - "
102 "use gnulib module open for portability");
103#endif
104
105#if @GNULIB_OPENAT@
106# if @REPLACE_OPENAT@
107# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
108# undef openat
109# define openat rpl_openat
110# endif
111_GL_FUNCDECL_RPL (openat, int,
112 (int fd, char const *file, int flags, /* mode_t mode */ ...)
113 _GL_ARG_NONNULL ((2)));
114_GL_CXXALIAS_RPL (openat, int,
115 (int fd, char const *file, int flags, /* mode_t mode */ ...));
116# else
117# if !@HAVE_OPENAT@
118_GL_FUNCDECL_SYS (openat, int,
119 (int fd, char const *file, int flags, /* mode_t mode */ ...)
120 _GL_ARG_NONNULL ((2)));
121# endif
122_GL_CXXALIAS_SYS (openat, int,
123 (int fd, char const *file, int flags, /* mode_t mode */ ...));
124# endif
125_GL_CXXALIASWARN (openat);
126#elif defined GNULIB_POSIXCHECK
127# undef openat
128# if HAVE_RAW_DECL_OPENAT
129_GL_WARN_ON_USE (openat, "openat is not portable - "
130 "use gnulib module openat for portability");
131# endif
132#endif
133
134
135/* Fix up the FD_* macros, only known to be missing on mingw. */
136
137#ifndef FD_CLOEXEC
138# define FD_CLOEXEC 1
139#endif
140
141/* Fix up the supported F_* macros. Intentionally leave other F_*
142 macros undefined. Only known to be missing on mingw. */
143
144#ifndef F_DUPFD_CLOEXEC
145# define F_DUPFD_CLOEXEC 0x40000000
146/* Witness variable: 1 if gnulib defined F_DUPFD_CLOEXEC, 0 otherwise. */
147# define GNULIB_defined_F_DUPFD_CLOEXEC 1
148#else
149# define GNULIB_defined_F_DUPFD_CLOEXEC 0
150#endif
151
152#ifndef F_DUPFD
153# define F_DUPFD 1
154#endif
155
156#ifndef F_GETFD
157# define F_GETFD 2
158#endif
159
160/* Fix up the O_* macros. */
161
162#if !defined O_DIRECT && defined O_DIRECTIO
163/* Tru64 spells it `O_DIRECTIO'. */
164# define O_DIRECT O_DIRECTIO
165#endif
166
167#if !defined O_CLOEXEC && defined O_NOINHERIT
168/* Mingw spells it `O_NOINHERIT'. Intentionally leave it
169 undefined if not available. */
170# define O_CLOEXEC O_NOINHERIT
171#endif
172
173#ifndef O_DIRECT
174# define O_DIRECT 0
175#endif
176
177#ifndef O_DIRECTORY
178# define O_DIRECTORY 0
179#endif
180
181#ifndef O_DSYNC
182# define O_DSYNC 0
183#endif
184
185#ifndef O_NDELAY
186# define O_NDELAY 0
187#endif
188
189#ifndef O_NOATIME
190# define O_NOATIME 0
191#endif
192
193#ifndef O_NONBLOCK
194# define O_NONBLOCK O_NDELAY
195#endif
196
197#ifndef O_NOCTTY
198# define O_NOCTTY 0
199#endif
200
201#ifndef O_NOFOLLOW
202# define O_NOFOLLOW 0
203#endif
204
205#ifndef O_NOLINKS
206# define O_NOLINKS 0
207#endif
208
209#ifndef O_RSYNC
210# define O_RSYNC 0
211#endif
212
213#ifndef O_SYNC
214# define O_SYNC 0
215#endif
216
217#ifndef O_TTY_INIT
218# define O_TTY_INIT 0
219#endif
220
221/* For systems that distinguish between text and binary I/O.
222 O_BINARY is usually declared in fcntl.h */
223#if !defined O_BINARY && defined _O_BINARY
224 /* For MSC-compatible compilers. */
225# define O_BINARY _O_BINARY
226# define O_TEXT _O_TEXT
227#endif
228
229#if defined __BEOS__ || defined __HAIKU__
230 /* BeOS 5 and Haiku have O_BINARY and O_TEXT, but they have no effect. */
231# undef O_BINARY
232# undef O_TEXT
233#endif
234
235#ifndef O_BINARY
236# define O_BINARY 0
237# define O_TEXT 0
238#endif
239
240/* Fix up the AT_* macros. */
241
242/* Work around a bug in Solaris 9 and 10: AT_FDCWD is positive. Its
243 value exceeds INT_MAX, so its use as an int doesn't conform to the
244 C standard, and GCC and Sun C complain in some cases. If the bug
245 is present, undef AT_FDCWD here, so it can be redefined below. */
246#if 0 < AT_FDCWD && AT_FDCWD == 0xffd19553
247# undef AT_FDCWD
248#endif
249
250/* Use the same bit pattern as Solaris 9, but with the proper
251 signedness. The bit pattern is important, in case this actually is
252 Solaris with the above workaround. */
253#ifndef AT_FDCWD
254# define AT_FDCWD (-3041965)
255#endif
256
257/* Use the same values as Solaris 9. This shouldn't matter, but
258 there's no real reason to differ. */
259#ifndef AT_SYMLINK_NOFOLLOW
260# define AT_SYMLINK_NOFOLLOW 4096
261#endif
262
263#ifndef AT_REMOVEDIR
264# define AT_REMOVEDIR 1
265#endif
266
267/* Solaris 9 lacks these two, so just pick unique values. */
268#ifndef AT_SYMLINK_FOLLOW
269# define AT_SYMLINK_FOLLOW 2
270#endif
271
272#ifndef AT_EACCESS
273# define AT_EACCESS 4
274#endif
275
276
277#endif /* _GL_FCNTL_H */
278#endif /* _GL_FCNTL_H */
279#endif