diff options
Diffstat (limited to 'gl/fcntl.in.h')
-rw-r--r-- | gl/fcntl.in.h | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/gl/fcntl.in.h b/gl/fcntl.in.h new file mode 100644 index 00000000..fd7520e8 --- /dev/null +++ b/gl/fcntl.in.h | |||
@@ -0,0 +1,144 @@ | |||
1 | /* Like <fcntl.h>, but with non-working flags defined to 0. | ||
2 | |||
3 | Copyright (C) 2006-2008 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 | #include <sys/stat.h> | ||
29 | #include <unistd.h> | ||
30 | #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ | ||
31 | |||
32 | #else | ||
33 | /* Normal invocation convention. */ | ||
34 | |||
35 | #ifndef _GL_FCNTL_H | ||
36 | |||
37 | #include <sys/types.h> | ||
38 | #include <sys/stat.h> | ||
39 | #include <unistd.h> | ||
40 | /* The include_next requires a split double-inclusion guard. */ | ||
41 | #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ | ||
42 | |||
43 | #ifndef _GL_FCNTL_H | ||
44 | #define _GL_FCNTL_H | ||
45 | |||
46 | |||
47 | /* Declare overridden functions. */ | ||
48 | |||
49 | #ifdef __cplusplus | ||
50 | extern "C" { | ||
51 | #endif | ||
52 | |||
53 | #if @GNULIB_OPEN@ | ||
54 | # if @REPLACE_OPEN@ | ||
55 | # undef open | ||
56 | # define open rpl_open | ||
57 | extern int open (const char *filename, int flags, ...); | ||
58 | # endif | ||
59 | #endif | ||
60 | |||
61 | #ifdef FCHDIR_REPLACEMENT | ||
62 | /* gnulib internal function. */ | ||
63 | extern void _gl_register_fd (int fd, const char *filename); | ||
64 | #endif | ||
65 | |||
66 | #ifdef __cplusplus | ||
67 | } | ||
68 | #endif | ||
69 | |||
70 | |||
71 | /* Fix up the O_* macros. */ | ||
72 | |||
73 | #if !defined O_DIRECT && defined O_DIRECTIO | ||
74 | /* Tru64 spells it `O_DIRECTIO'. */ | ||
75 | # define O_DIRECT O_DIRECTIO | ||
76 | #endif | ||
77 | |||
78 | #ifndef O_DIRECT | ||
79 | # define O_DIRECT 0 | ||
80 | #endif | ||
81 | |||
82 | #ifndef O_DIRECTORY | ||
83 | # define O_DIRECTORY 0 | ||
84 | #endif | ||
85 | |||
86 | #ifndef O_DSYNC | ||
87 | # define O_DSYNC 0 | ||
88 | #endif | ||
89 | |||
90 | #ifndef O_NDELAY | ||
91 | # define O_NDELAY 0 | ||
92 | #endif | ||
93 | |||
94 | #ifndef O_NOATIME | ||
95 | # define O_NOATIME 0 | ||
96 | #endif | ||
97 | |||
98 | #ifndef O_NONBLOCK | ||
99 | # define O_NONBLOCK O_NDELAY | ||
100 | #endif | ||
101 | |||
102 | #ifndef O_NOCTTY | ||
103 | # define O_NOCTTY 0 | ||
104 | #endif | ||
105 | |||
106 | #ifndef O_NOFOLLOW | ||
107 | # define O_NOFOLLOW 0 | ||
108 | #endif | ||
109 | |||
110 | #ifndef O_NOLINKS | ||
111 | # define O_NOLINKS 0 | ||
112 | #endif | ||
113 | |||
114 | #ifndef O_RSYNC | ||
115 | # define O_RSYNC 0 | ||
116 | #endif | ||
117 | |||
118 | #ifndef O_SYNC | ||
119 | # define O_SYNC 0 | ||
120 | #endif | ||
121 | |||
122 | /* For systems that distinguish between text and binary I/O. | ||
123 | O_BINARY is usually declared in fcntl.h */ | ||
124 | #if !defined O_BINARY && defined _O_BINARY | ||
125 | /* For MSC-compatible compilers. */ | ||
126 | # define O_BINARY _O_BINARY | ||
127 | # define O_TEXT _O_TEXT | ||
128 | #endif | ||
129 | |||
130 | #if defined __BEOS__ || defined __HAIKU__ | ||
131 | /* BeOS 5 and Haiku have O_BINARY and O_TEXT, but they have no effect. */ | ||
132 | # undef O_BINARY | ||
133 | # undef O_TEXT | ||
134 | #endif | ||
135 | |||
136 | #ifndef O_BINARY | ||
137 | # define O_BINARY 0 | ||
138 | # define O_TEXT 0 | ||
139 | #endif | ||
140 | |||
141 | |||
142 | #endif /* _GL_FCNTL_H */ | ||
143 | #endif /* _GL_FCNTL_H */ | ||
144 | #endif | ||