Mercurial > hg > octave-shane > gnulib-hg
annotate lib/fcntl.in.h @ 10655:8668b19a7032
Avoid gcc warnings because of #pragma GCC system_header on older gcc.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 18 Oct 2008 02:43:18 +0200 |
parents | 9559d8f05cdb |
children | ddc567d280d1 |
rev | line source |
---|---|
9247 | 1 /* Like <fcntl.h>, but with non-working flags defined to 0. |
2 | |
10375
f96e845fc36d
Avoid some "gcc -pedantic" warnings.
Bruno Haible <bruno@clisp.org>
parents:
9309
diff
changeset
|
3 Copyright (C) 2006-2008 Free Software Foundation, Inc. |
9247 | 4 |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
9299
diff
changeset
|
5 This program is free software: you can redistribute it and/or modify |
9247 | 6 it under the terms of the GNU General Public License as published by |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
9299
diff
changeset
|
7 the Free Software Foundation; either version 3 of the License, or |
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
9299
diff
changeset
|
8 (at your option) any later version. |
9247 | 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 | |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
9299
diff
changeset
|
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
9247 | 17 |
18 /* written by Paul Eggert */ | |
19 | |
10655
8668b19a7032
Avoid gcc warnings because of #pragma GCC system_header on older gcc.
Bruno Haible <bruno@clisp.org>
parents:
10608
diff
changeset
|
20 #if __GNUC__ >= 3 |
10533
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
21 @PRAGMA_SYSTEM_HEADER@ |
10655
8668b19a7032
Avoid gcc warnings because of #pragma GCC system_header on older gcc.
Bruno Haible <bruno@clisp.org>
parents:
10608
diff
changeset
|
22 #endif |
10533
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
23 |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
24 #if defined __need_system_fcntl_h |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
25 /* Special invocation convention. */ |
9247 | 26 |
10533
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
27 #include <sys/types.h> |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
28 #include <sys/stat.h> |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
29 #include <unistd.h> |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
30 #@INCLUDE_NEXT@ @NEXT_FCNTL_H@ |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
31 |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
32 #else |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
33 /* Normal invocation convention. */ |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
34 |
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
35 #ifndef _GL_FCNTL_H |
10375
f96e845fc36d
Avoid some "gcc -pedantic" warnings.
Bruno Haible <bruno@clisp.org>
parents:
9309
diff
changeset
|
36 |
9247 | 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 | |
10608
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
53 #if @GNULIB_OPEN@ |
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
54 # if @REPLACE_OPEN@ |
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
55 # undef open |
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
56 # define open rpl_open |
9299 | 57 extern int open (const char *filename, int flags, ...); |
10608
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
58 # endif |
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
59 #endif |
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
60 |
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
61 #ifdef FCHDIR_REPLACEMENT |
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
62 /* gnulib internal function. */ |
9559d8f05cdb
Merge the two replacements for open() into a single one.
Paolo Bonzini <bonzini@gnu.org>
parents:
10533
diff
changeset
|
63 extern void _gl_register_fd (int fd, const char *filename); |
9247 | 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 #ifdef __BEOS__ | |
131 /* BeOS 5 has 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 */ | |
10533
d4b37870fdc9
Override open more carefully.
Bruno Haible <bruno@clisp.org>
parents:
10528
diff
changeset
|
144 #endif |