summaryrefslogtreecommitdiffstats
path: root/gl/unistd.in.h
diff options
context:
space:
mode:
Diffstat (limited to 'gl/unistd.in.h')
-rw-r--r--gl/unistd.in.h510
1 files changed, 357 insertions, 153 deletions
diff --git a/gl/unistd.in.h b/gl/unistd.in.h
index 7914f228..2ea9af43 100644
--- a/gl/unistd.in.h
+++ b/gl/unistd.in.h
@@ -1,5 +1,5 @@
1/* Substitute for and wrapper around <unistd.h>. 1/* Substitute for and wrapper around <unistd.h>.
2 Copyright (C) 2003-2010 Free Software Foundation, Inc. 2 Copyright (C) 2003-2013 Free Software Foundation, Inc.
3 3
4 This program is free software; you can redistribute it and/or modify 4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by 5 it under the terms of the GNU General Public License as published by
@@ -12,30 +12,14 @@
12 GNU General Public License for more details. 12 GNU General Public License for more details.
13 13
14 You should have received a copy of the GNU General Public License 14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software Foundation, 15 along with this program; if not, see <http://www.gnu.org/licenses/>. */
16 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ 16
17#ifndef _@GUARD_PREFIX@_UNISTD_H
17 18
18#if __GNUC__ >= 3 19#if __GNUC__ >= 3
19@PRAGMA_SYSTEM_HEADER@ 20@PRAGMA_SYSTEM_HEADER@
20#endif 21#endif
21 22@PRAGMA_COLUMNS@
22/* Special invocation convention:
23 - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
24 but we need to ensure that both the system <unistd.h> and <winsock2.h>
25 are completely included before we replace gethostname. */
26#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
27 && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H
28/* <unistd.h> is being indirectly included for the first time from
29 <winsock2.h>; avoid declaring any overrides. */
30# if @HAVE_UNISTD_H@
31# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
32# else
33# error unexpected; report this to bug-gnulib@gnu.org
34# endif
35# define _GL_WINSOCK2_H_WITNESS
36
37/* Normal invocation. */
38#elif !defined _GL_UNISTD_H
39 23
40/* The include_next requires a split double-inclusion guard. */ 24/* The include_next requires a split double-inclusion guard. */
41#if @HAVE_UNISTD_H@ 25#if @HAVE_UNISTD_H@
@@ -50,8 +34,8 @@
50# undef _GL_INCLUDING_WINSOCK2_H 34# undef _GL_INCLUDING_WINSOCK2_H
51#endif 35#endif
52 36
53#if !defined _GL_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H 37#if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
54#define _GL_UNISTD_H 38#define _@GUARD_PREFIX@_UNISTD_H
55 39
56/* NetBSD 5.0 mis-defines NULL. Also get size_t. */ 40/* NetBSD 5.0 mis-defines NULL. Also get size_t. */
57#include <stddef.h> 41#include <stddef.h>
@@ -60,32 +44,66 @@
60/* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>. */ 44/* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>. */
61/* But avoid namespace pollution on glibc systems. */ 45/* But avoid namespace pollution on glibc systems. */
62#if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \ 46#if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
63 || (@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK)) \ 47 || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
48 && defined __CYGWIN__)) \
64 && ! defined __GLIBC__ 49 && ! defined __GLIBC__
65# include <stdio.h> 50# include <stdio.h>
66#endif 51#endif
67 52
68/* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>. */ 53/* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>. */
69/* But avoid namespace pollution on glibc systems. */ 54/* But avoid namespace pollution on glibc systems. */
70#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ 55#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \
56 && ! defined __GLIBC__
71# include <fcntl.h> 57# include <fcntl.h>
72#endif 58#endif
73 59
74/* mingw fails to declare _exit in <unistd.h>. */ 60/* mingw fails to declare _exit in <unistd.h>. */
75/* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */ 61/* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in
62 <unistd.h>. */
76/* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>. */ 63/* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>. */
64/* OSF Tru64 Unix cannot see gnulib rpl_strtod when system <stdlib.h> is
65 included here. */
77/* But avoid namespace pollution on glibc systems. */ 66/* But avoid namespace pollution on glibc systems. */
78#ifndef __GLIBC__ 67#if !defined __GLIBC__ && !defined __osf__
68# define __need_system_stdlib_h
79# include <stdlib.h> 69# include <stdlib.h>
70# undef __need_system_stdlib_h
80#endif 71#endif
81 72
82/* mingw declares getcwd in <io.h>, not in <unistd.h>. */ 73/* Native Windows platforms declare chdir, getcwd, rmdir in
83#if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \ 74 <io.h> and/or <direct.h>, not in <unistd.h>.
75 They also declare access(), chmod(), close(), dup(), dup2(), isatty(),
76 lseek(), read(), unlink(), write() in <io.h>. */
77#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
78 || defined GNULIB_POSIXCHECK) \
84 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) 79 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
80# include <io.h> /* mingw32, mingw64 */
81# include <direct.h> /* mingw64, MSVC 9 */
82#elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \
83 || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \
84 || defined GNULIB_POSIXCHECK) \
85 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
85# include <io.h> 86# include <io.h>
86#endif 87#endif
87 88
88#if (@GNULIB_WRITE@ || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ 89/* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
90 NonStop Kernel declares gethostname in <netdb.h>, not in <unistd.h>. */
91/* But avoid namespace pollution on glibc systems. */
92#if ((@GNULIB_GETDOMAINNAME@ && (defined _AIX || defined __osf__)) \
93 || (@GNULIB_GETHOSTNAME@ && defined __TANDEM)) \
94 && !defined __GLIBC__
95# include <netdb.h>
96#endif
97
98/* MSVC defines off_t in <sys/types.h>.
99 May also define off_t to a 64-bit type on native Windows. */
100#if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@
101/* Get off_t. */
102# include <sys/types.h>
103#endif
104
105#if (@GNULIB_READ@ || @GNULIB_WRITE@ \
106 || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
89 || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) 107 || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
90/* Get ssize_t. */ 108/* Get ssize_t. */
91# include <sys/types.h> 109# include <sys/types.h>
@@ -94,9 +112,15 @@
94/* Get getopt(), optarg, optind, opterr, optopt. 112/* Get getopt(), optarg, optind, opterr, optopt.
95 But avoid namespace pollution on glibc systems. */ 113 But avoid namespace pollution on glibc systems. */
96#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT 114#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
115# define __need_getopt
97# include <getopt.h> 116# include <getopt.h>
98#endif 117#endif
99 118
119_GL_INLINE_HEADER_BEGIN
120#ifndef _GL_UNISTD_INLINE
121# define _GL_UNISTD_INLINE _GL_INLINE
122#endif
123
100/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ 124/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
101 125
102/* The definition of _GL_ARG_NONNULL is copied here. */ 126/* The definition of _GL_ARG_NONNULL is copied here. */
@@ -104,78 +128,77 @@
104/* The definition of _GL_WARN_ON_USE is copied here. */ 128/* The definition of _GL_WARN_ON_USE is copied here. */
105 129
106 130
107#if @GNULIB_GETHOSTNAME@ 131/* Hide some function declarations from <winsock2.h>. */
108/* Get all possible declarations of gethostname(). */ 132
109# if @UNISTD_H_HAVE_WINSOCK2_H@ 133#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
110# if !defined _GL_SYS_SOCKET_H 134# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H
111# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 135# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
112# undef socket 136# undef socket
113# define socket socket_used_without_including_sys_socket_h 137# define socket socket_used_without_including_sys_socket_h
114# undef connect 138# undef connect
115# define connect connect_used_without_including_sys_socket_h 139# define connect connect_used_without_including_sys_socket_h
116# undef accept 140# undef accept
117# define accept accept_used_without_including_sys_socket_h 141# define accept accept_used_without_including_sys_socket_h
118# undef bind 142# undef bind
119# define bind bind_used_without_including_sys_socket_h 143# define bind bind_used_without_including_sys_socket_h
120# undef getpeername 144# undef getpeername
121# define getpeername getpeername_used_without_including_sys_socket_h 145# define getpeername getpeername_used_without_including_sys_socket_h
122# undef getsockname 146# undef getsockname
123# define getsockname getsockname_used_without_including_sys_socket_h 147# define getsockname getsockname_used_without_including_sys_socket_h
124# undef getsockopt 148# undef getsockopt
125# define getsockopt getsockopt_used_without_including_sys_socket_h 149# define getsockopt getsockopt_used_without_including_sys_socket_h
126# undef listen 150# undef listen
127# define listen listen_used_without_including_sys_socket_h 151# define listen listen_used_without_including_sys_socket_h
128# undef recv 152# undef recv
129# define recv recv_used_without_including_sys_socket_h 153# define recv recv_used_without_including_sys_socket_h
130# undef send 154# undef send
131# define send send_used_without_including_sys_socket_h 155# define send send_used_without_including_sys_socket_h
132# undef recvfrom 156# undef recvfrom
133# define recvfrom recvfrom_used_without_including_sys_socket_h 157# define recvfrom recvfrom_used_without_including_sys_socket_h
134# undef sendto 158# undef sendto
135# define sendto sendto_used_without_including_sys_socket_h 159# define sendto sendto_used_without_including_sys_socket_h
136# undef setsockopt 160# undef setsockopt
137# define setsockopt setsockopt_used_without_including_sys_socket_h 161# define setsockopt setsockopt_used_without_including_sys_socket_h
138# undef shutdown 162# undef shutdown
139# define shutdown shutdown_used_without_including_sys_socket_h 163# define shutdown shutdown_used_without_including_sys_socket_h
140# else 164# else
141 _GL_WARN_ON_USE (socket, 165 _GL_WARN_ON_USE (socket,
142 "socket() used without including <sys/socket.h>"); 166 "socket() used without including <sys/socket.h>");
143 _GL_WARN_ON_USE (connect, 167 _GL_WARN_ON_USE (connect,
144 "connect() used without including <sys/socket.h>"); 168 "connect() used without including <sys/socket.h>");
145 _GL_WARN_ON_USE (accept, 169 _GL_WARN_ON_USE (accept,
146 "accept() used without including <sys/socket.h>"); 170 "accept() used without including <sys/socket.h>");
147 _GL_WARN_ON_USE (bind, 171 _GL_WARN_ON_USE (bind,
148 "bind() used without including <sys/socket.h>"); 172 "bind() used without including <sys/socket.h>");
149 _GL_WARN_ON_USE (getpeername, 173 _GL_WARN_ON_USE (getpeername,
150 "getpeername() used without including <sys/socket.h>"); 174 "getpeername() used without including <sys/socket.h>");
151 _GL_WARN_ON_USE (getsockname, 175 _GL_WARN_ON_USE (getsockname,
152 "getsockname() used without including <sys/socket.h>"); 176 "getsockname() used without including <sys/socket.h>");
153 _GL_WARN_ON_USE (getsockopt, 177 _GL_WARN_ON_USE (getsockopt,
154 "getsockopt() used without including <sys/socket.h>"); 178 "getsockopt() used without including <sys/socket.h>");
155 _GL_WARN_ON_USE (listen, 179 _GL_WARN_ON_USE (listen,
156 "listen() used without including <sys/socket.h>"); 180 "listen() used without including <sys/socket.h>");
157 _GL_WARN_ON_USE (recv, 181 _GL_WARN_ON_USE (recv,
158 "recv() used without including <sys/socket.h>"); 182 "recv() used without including <sys/socket.h>");
159 _GL_WARN_ON_USE (send, 183 _GL_WARN_ON_USE (send,
160 "send() used without including <sys/socket.h>"); 184 "send() used without including <sys/socket.h>");
161 _GL_WARN_ON_USE (recvfrom, 185 _GL_WARN_ON_USE (recvfrom,
162 "recvfrom() used without including <sys/socket.h>"); 186 "recvfrom() used without including <sys/socket.h>");
163 _GL_WARN_ON_USE (sendto, 187 _GL_WARN_ON_USE (sendto,
164 "sendto() used without including <sys/socket.h>"); 188 "sendto() used without including <sys/socket.h>");
165 _GL_WARN_ON_USE (setsockopt, 189 _GL_WARN_ON_USE (setsockopt,
166 "setsockopt() used without including <sys/socket.h>"); 190 "setsockopt() used without including <sys/socket.h>");
167 _GL_WARN_ON_USE (shutdown, 191 _GL_WARN_ON_USE (shutdown,
168 "shutdown() used without including <sys/socket.h>"); 192 "shutdown() used without including <sys/socket.h>");
169# endif
170# endif 193# endif
171# if !defined _GL_SYS_SELECT_H 194# endif
172# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 195# if !defined _@GUARD_PREFIX@_SYS_SELECT_H
173# undef select 196# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
174# define select select_used_without_including_sys_select_h 197# undef select
175# else 198# define select select_used_without_including_sys_select_h
176 _GL_WARN_ON_USE (select, 199# else
177 "select() used without including <sys/select.h>"); 200 _GL_WARN_ON_USE (select,
178# endif 201 "select() used without including <sys/select.h>");
179# endif 202# endif
180# endif 203# endif
181#endif 204#endif
@@ -211,12 +234,24 @@ _GL_WARN_ON_USE (access, "the access function is a security risk - "
211#endif 234#endif
212 235
213 236
237#if @GNULIB_CHDIR@
238_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
239_GL_CXXALIASWARN (chdir);
240#elif defined GNULIB_POSIXCHECK
241# undef chdir
242# if HAVE_RAW_DECL_CHDIR
243_GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
244 "use gnulib module chdir for portability");
245# endif
246#endif
247
248
214#if @GNULIB_CHOWN@ 249#if @GNULIB_CHOWN@
215/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE 250/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
216 to GID (if GID is not -1). Follow symbolic links. 251 to GID (if GID is not -1). Follow symbolic links.
217 Return 0 if successful, otherwise -1 and errno set. 252 Return 0 if successful, otherwise -1 and errno set.
218 See the POSIX:2001 specification 253 See the POSIX:2008 specification
219 <http://www.opengroup.org/susv3xsh/chown.html>. */ 254 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html. */
220# if @REPLACE_CHOWN@ 255# if @REPLACE_CHOWN@
221# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 256# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
222# undef chown 257# undef chown
@@ -267,24 +302,32 @@ _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
267#endif 302#endif
268 303
269 304
270#if @REPLACE_DUP@ 305#if @GNULIB_DUP@
271# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 306# if @REPLACE_DUP@
272# define dup rpl_dup 307# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
273# endif 308# define dup rpl_dup
309# endif
274_GL_FUNCDECL_RPL (dup, int, (int oldfd)); 310_GL_FUNCDECL_RPL (dup, int, (int oldfd));
275_GL_CXXALIAS_RPL (dup, int, (int oldfd)); 311_GL_CXXALIAS_RPL (dup, int, (int oldfd));
276#else 312# else
277_GL_CXXALIAS_SYS (dup, int, (int oldfd)); 313_GL_CXXALIAS_SYS (dup, int, (int oldfd));
278#endif 314# endif
279_GL_CXXALIASWARN (dup); 315_GL_CXXALIASWARN (dup);
316#elif defined GNULIB_POSIXCHECK
317# undef dup
318# if HAVE_RAW_DECL_DUP
319_GL_WARN_ON_USE (dup, "dup is unportable - "
320 "use gnulib module dup for portability");
321# endif
322#endif
280 323
281 324
282#if @GNULIB_DUP2@ 325#if @GNULIB_DUP2@
283/* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if 326/* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if
284 NEWFD = OLDFD, otherwise close NEWFD first if it is open. 327 NEWFD = OLDFD, otherwise close NEWFD first if it is open.
285 Return newfd if successful, otherwise -1 and errno set. 328 Return newfd if successful, otherwise -1 and errno set.
286 See the POSIX:2001 specification 329 See the POSIX:2008 specification
287 <http://www.opengroup.org/susv3xsh/dup2.html>. */ 330 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>. */
288# if @REPLACE_DUP2@ 331# if @REPLACE_DUP2@
289# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 332# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
290# define dup2 rpl_dup2 333# define dup2 rpl_dup2
@@ -355,7 +398,7 @@ extern char **environ;
355# endif 398# endif
356#elif defined GNULIB_POSIXCHECK 399#elif defined GNULIB_POSIXCHECK
357# if HAVE_RAW_DECL_ENVIRON 400# if HAVE_RAW_DECL_ENVIRON
358static inline char *** 401_GL_UNISTD_INLINE char ***
359rpl_environ (void) 402rpl_environ (void)
360{ 403{
361 return &environ; 404 return &environ;
@@ -413,8 +456,8 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
413/* Change the process' current working directory to the directory on which 456/* Change the process' current working directory to the directory on which
414 the given file descriptor is open. 457 the given file descriptor is open.
415 Return 0 if successful, otherwise -1 and errno set. 458 Return 0 if successful, otherwise -1 and errno set.
416 See the POSIX:2001 specification 459 See the POSIX:2008 specification
417 <http://www.opengroup.org/susv3xsh/fchdir.html>. */ 460 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>. */
418# if ! @HAVE_FCHDIR@ 461# if ! @HAVE_FCHDIR@
419_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); 462_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
420 463
@@ -425,6 +468,10 @@ _GL_EXTERN_C void _gl_unregister_fd (int fd);
425_GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd); 468_GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd);
426_GL_EXTERN_C const char *_gl_directory_name (int fd); 469_GL_EXTERN_C const char *_gl_directory_name (int fd);
427 470
471# else
472# if !@HAVE_DECL_FCHDIR@
473_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
474# endif
428# endif 475# endif
429_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/)); 476_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
430_GL_CXXALIASWARN (fchdir); 477_GL_CXXALIASWARN (fchdir);
@@ -467,11 +514,30 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
467#endif 514#endif
468 515
469 516
470#if @GNULIB_FSYNC@ 517#if @GNULIB_FDATASYNC@
471/* Synchronize changes to a file. 518/* Synchronize changes to a file.
472 Return 0 if successful, otherwise -1 and errno set. 519 Return 0 if successful, otherwise -1 and errno set.
473 See POSIX:2001 specification 520 See POSIX:2008 specification
474 <http://www.opengroup.org/susv3xsh/fsync.html>. */ 521 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>. */
522# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
523_GL_FUNCDECL_SYS (fdatasync, int, (int fd));
524# endif
525_GL_CXXALIAS_SYS (fdatasync, int, (int fd));
526_GL_CXXALIASWARN (fdatasync);
527#elif defined GNULIB_POSIXCHECK
528# undef fdatasync
529# if HAVE_RAW_DECL_FDATASYNC
530_GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
531 "use gnulib module fdatasync for portability");
532# endif
533#endif
534
535
536#if @GNULIB_FSYNC@
537/* Synchronize changes, including metadata, to a file.
538 Return 0 if successful, otherwise -1 and errno set.
539 See POSIX:2008 specification
540 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>. */
475# if !@HAVE_FSYNC@ 541# if !@HAVE_FSYNC@
476_GL_FUNCDECL_SYS (fsync, int, (int fd)); 542_GL_FUNCDECL_SYS (fsync, int, (int fd));
477# endif 543# endif
@@ -489,12 +555,21 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - "
489#if @GNULIB_FTRUNCATE@ 555#if @GNULIB_FTRUNCATE@
490/* Change the size of the file to which FD is opened to become equal to LENGTH. 556/* Change the size of the file to which FD is opened to become equal to LENGTH.
491 Return 0 if successful, otherwise -1 and errno set. 557 Return 0 if successful, otherwise -1 and errno set.
492 See the POSIX:2001 specification 558 See the POSIX:2008 specification
493 <http://www.opengroup.org/susv3xsh/ftruncate.html>. */ 559 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>. */
494# if !@HAVE_FTRUNCATE@ 560# if @REPLACE_FTRUNCATE@
561# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
562# undef ftruncate
563# define ftruncate rpl_ftruncate
564# endif
565_GL_FUNCDECL_RPL (ftruncate, int, (int fd, off_t length));
566_GL_CXXALIAS_RPL (ftruncate, int, (int fd, off_t length));
567# else
568# if !@HAVE_FTRUNCATE@
495_GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length)); 569_GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
496# endif 570# endif
497_GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length)); 571_GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
572# endif
498_GL_CXXALIASWARN (ftruncate); 573_GL_CXXALIASWARN (ftruncate);
499#elif defined GNULIB_POSIXCHECK 574#elif defined GNULIB_POSIXCHECK
500# undef ftruncate 575# undef ftruncate
@@ -510,8 +585,8 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
510 of BUF. 585 of BUF.
511 Return BUF if successful, or NULL if the directory couldn't be determined 586 Return BUF if successful, or NULL if the directory couldn't be determined
512 or SIZE was too small. 587 or SIZE was too small.
513 See the POSIX:2001 specification 588 See the POSIX:2008 specification
514 <http://www.opengroup.org/susv3xsh/getcwd.html>. 589 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
515 Additionally, the gnulib module 'getcwd' guarantees the following GNU 590 Additionally, the gnulib module 'getcwd' guarantees the following GNU
516 extension: If BUF is NULL, an array is allocated with 'malloc'; the array 591 extension: If BUF is NULL, an array is allocated with 'malloc'; the array
517 is SIZE bytes long, unless SIZE == 0, in which case it is as big as 592 is SIZE bytes long, unless SIZE == 0, in which case it is as big as
@@ -548,13 +623,21 @@ _GL_WARN_ON_USE (getcwd, "getcwd is unportable - "
548 Null terminate it if the name is shorter than LEN. 623 Null terminate it if the name is shorter than LEN.
549 If the NIS domain name is longer than LEN, set errno = EINVAL and return -1. 624 If the NIS domain name is longer than LEN, set errno = EINVAL and return -1.
550 Return 0 if successful, otherwise set errno and return -1. */ 625 Return 0 if successful, otherwise set errno and return -1. */
551# if !@HAVE_GETDOMAINNAME@ 626# if @REPLACE_GETDOMAINNAME@
627# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
628# undef getdomainname
629# define getdomainname rpl_getdomainname
630# endif
631_GL_FUNCDECL_RPL (getdomainname, int, (char *name, size_t len)
632 _GL_ARG_NONNULL ((1)));
633_GL_CXXALIAS_RPL (getdomainname, int, (char *name, size_t len));
634# else
635# if !@HAVE_DECL_GETDOMAINNAME@
552_GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len) 636_GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len)
553 _GL_ARG_NONNULL ((1))); 637 _GL_ARG_NONNULL ((1)));
638# endif
639_GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len));
554# endif 640# endif
555/* Need to cast, because on MacOS X 10.5 systems, the second parameter is
556 int len. */
557_GL_CXXALIAS_SYS_CAST (getdomainname, int, (char *name, size_t len));
558_GL_CXXALIASWARN (getdomainname); 641_GL_CXXALIASWARN (getdomainname);
559#elif defined GNULIB_POSIXCHECK 642#elif defined GNULIB_POSIXCHECK
560# undef getdomainname 643# undef getdomainname
@@ -632,7 +715,8 @@ _GL_CXXALIAS_RPL (gethostname, int, (char *name, size_t len));
632_GL_FUNCDECL_SYS (gethostname, int, (char *name, size_t len) 715_GL_FUNCDECL_SYS (gethostname, int, (char *name, size_t len)
633 _GL_ARG_NONNULL ((1))); 716 _GL_ARG_NONNULL ((1)));
634# endif 717# endif
635/* Need to cast, because on Solaris 10 systems, the second parameter is 718/* Need to cast, because on Solaris 10 and OSF/1 5.1 systems, the second
719 parameter is
636 int len. */ 720 int len. */
637_GL_CXXALIAS_SYS_CAST (gethostname, int, (char *name, size_t len)); 721_GL_CXXALIAS_SYS_CAST (gethostname, int, (char *name, size_t len));
638# endif 722# endif
@@ -689,13 +773,22 @@ _GL_WARN_ON_USE (getlogin, "getlogin is unportable - "
689 ${LOGNAME-$USER} on Unix platforms, 773 ${LOGNAME-$USER} on Unix platforms,
690 $USERNAME on native Windows platforms. 774 $USERNAME on native Windows platforms.
691 */ 775 */
692# if !@HAVE_DECL_GETLOGIN_R@ 776# if @REPLACE_GETLOGIN_R@
777# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
778# define getlogin_r rpl_getlogin_r
779# endif
780_GL_FUNCDECL_RPL (getlogin_r, int, (char *name, size_t size)
781 _GL_ARG_NONNULL ((1)));
782_GL_CXXALIAS_RPL (getlogin_r, int, (char *name, size_t size));
783# else
784# if !@HAVE_DECL_GETLOGIN_R@
693_GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size) 785_GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size)
694 _GL_ARG_NONNULL ((1))); 786 _GL_ARG_NONNULL ((1)));
695# endif 787# endif
696/* Need to cast, because on Solaris 10 systems, the second argument is 788/* Need to cast, because on Solaris 10 systems, the second argument is
697 int size. */ 789 int size. */
698_GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size)); 790_GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size));
791# endif
699_GL_CXXALIASWARN (getlogin_r); 792_GL_CXXALIASWARN (getlogin_r);
700#elif defined GNULIB_POSIXCHECK 793#elif defined GNULIB_POSIXCHECK
701# undef getlogin_r 794# undef getlogin_r
@@ -762,11 +855,14 @@ _GL_CXXALIAS_RPL (getpagesize, int, (void));
762# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 855# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
763# define getpagesize() _gl_getpagesize () 856# define getpagesize() _gl_getpagesize ()
764# else 857# else
765static inline int 858# if !GNULIB_defined_getpagesize_function
859_GL_UNISTD_INLINE int
766getpagesize () 860getpagesize ()
767{ 861{
768 return _gl_getpagesize (); 862 return _gl_getpagesize ();
769} 863}
864# define GNULIB_defined_getpagesize_function 1
865# endif
770# endif 866# endif
771# endif 867# endif
772# endif 868# endif
@@ -833,12 +929,49 @@ _GL_WARN_ON_USE (endusershell, "endusershell is unportable - "
833#endif 929#endif
834 930
835 931
932#if @GNULIB_GROUP_MEMBER@
933/* Determine whether group id is in calling user's group list. */
934# if !@HAVE_GROUP_MEMBER@
935_GL_FUNCDECL_SYS (group_member, int, (gid_t gid));
936# endif
937_GL_CXXALIAS_SYS (group_member, int, (gid_t gid));
938_GL_CXXALIASWARN (group_member);
939#elif defined GNULIB_POSIXCHECK
940# undef group_member
941# if HAVE_RAW_DECL_GROUP_MEMBER
942_GL_WARN_ON_USE (group_member, "group_member is unportable - "
943 "use gnulib module group-member for portability");
944# endif
945#endif
946
947
948#if @GNULIB_ISATTY@
949# if @REPLACE_ISATTY@
950# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
951# undef isatty
952# define isatty rpl_isatty
953# endif
954_GL_FUNCDECL_RPL (isatty, int, (int fd));
955_GL_CXXALIAS_RPL (isatty, int, (int fd));
956# else
957_GL_CXXALIAS_SYS (isatty, int, (int fd));
958# endif
959_GL_CXXALIASWARN (isatty);
960#elif defined GNULIB_POSIXCHECK
961# undef isatty
962# if HAVE_RAW_DECL_ISATTY
963_GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
964 "use gnulib module isatty for portability");
965# endif
966#endif
967
968
836#if @GNULIB_LCHOWN@ 969#if @GNULIB_LCHOWN@
837/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE 970/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
838 to GID (if GID is not -1). Do not follow symbolic links. 971 to GID (if GID is not -1). Do not follow symbolic links.
839 Return 0 if successful, otherwise -1 and errno set. 972 Return 0 if successful, otherwise -1 and errno set.
840 See the POSIX:2001 specification 973 See the POSIX:2008 specification
841 <http://www.opengroup.org/susv3xsh/lchown.html>. */ 974 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>. */
842# if @REPLACE_LCHOWN@ 975# if @REPLACE_LCHOWN@
843# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 976# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
844# undef lchown 977# undef lchown
@@ -867,8 +1000,8 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
867#if @GNULIB_LINK@ 1000#if @GNULIB_LINK@
868/* Create a new hard link for an existing file. 1001/* Create a new hard link for an existing file.
869 Return 0 if successful, otherwise -1 and errno set. 1002 Return 0 if successful, otherwise -1 and errno set.
870 See POSIX:2001 specification 1003 See POSIX:2008 specification
871 <http://www.opengroup.org/susv3xsh/link.html>. */ 1004 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>. */
872# if @REPLACE_LINK@ 1005# if @REPLACE_LINK@
873# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1006# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
874# define link rpl_link 1007# define link rpl_link
@@ -933,8 +1066,8 @@ _GL_WARN_ON_USE (linkat, "linkat is unportable - "
933#if @GNULIB_LSEEK@ 1066#if @GNULIB_LSEEK@
934/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END. 1067/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
935 Return the new offset if successful, otherwise -1 and errno set. 1068 Return the new offset if successful, otherwise -1 and errno set.
936 See the POSIX:2001 specification 1069 See the POSIX:2008 specification
937 <http://www.opengroup.org/susv3xsh/lseek.html>. */ 1070 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>. */
938# if @REPLACE_LSEEK@ 1071# if @REPLACE_LSEEK@
939# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1072# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
940# define lseek rpl_lseek 1073# define lseek rpl_lseek
@@ -954,6 +1087,24 @@ _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some "
954#endif 1087#endif
955 1088
956 1089
1090#if @GNULIB_PIPE@
1091/* Create a pipe, defaulting to O_BINARY mode.
1092 Store the read-end as fd[0] and the write-end as fd[1].
1093 Return 0 upon success, or -1 with errno set upon failure. */
1094# if !@HAVE_PIPE@
1095_GL_FUNCDECL_SYS (pipe, int, (int fd[2]) _GL_ARG_NONNULL ((1)));
1096# endif
1097_GL_CXXALIAS_SYS (pipe, int, (int fd[2]));
1098_GL_CXXALIASWARN (pipe);
1099#elif defined GNULIB_POSIXCHECK
1100# undef pipe
1101# if HAVE_RAW_DECL_PIPE
1102_GL_WARN_ON_USE (pipe, "pipe is unportable - "
1103 "use gnulib module pipe-posix for portability");
1104# endif
1105#endif
1106
1107
957#if @GNULIB_PIPE2@ 1108#if @GNULIB_PIPE2@
958/* Create a pipe, applying the given flags when opening the read-end of the 1109/* Create a pipe, applying the given flags when opening the read-end of the
959 pipe and the write-end of the pipe. 1110 pipe and the write-end of the pipe.
@@ -986,10 +1137,12 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
986#if @GNULIB_PREAD@ 1137#if @GNULIB_PREAD@
987/* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET. 1138/* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET.
988 Return the number of bytes placed into BUF if successful, otherwise 1139 Return the number of bytes placed into BUF if successful, otherwise
989 set errno and return -1. 0 indicates EOF. See the POSIX:2001 1140 set errno and return -1. 0 indicates EOF.
990 specification <http://www.opengroup.org/susv3xsh/pread.html>. */ 1141 See the POSIX:2008 specification
1142 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>. */
991# if @REPLACE_PREAD@ 1143# if @REPLACE_PREAD@
992# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1144# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1145# undef pread
993# define pread rpl_pread 1146# define pread rpl_pread
994# endif 1147# endif
995_GL_FUNCDECL_RPL (pread, ssize_t, 1148_GL_FUNCDECL_RPL (pread, ssize_t,
@@ -1020,10 +1173,11 @@ _GL_WARN_ON_USE (pread, "pread is unportable - "
1020/* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET. 1173/* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET.
1021 Return the number of bytes written if successful, otherwise 1174 Return the number of bytes written if successful, otherwise
1022 set errno and return -1. 0 indicates nothing written. See the 1175 set errno and return -1. 0 indicates nothing written. See the
1023 POSIX:2001 specification 1176 POSIX:2008 specification
1024 <http://www.opengroup.org/susv3xsh/pwrite.html>. */ 1177 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>. */
1025# if @REPLACE_PWRITE@ 1178# if @REPLACE_PWRITE@
1026# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1179# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1180# undef pwrite
1027# define pwrite rpl_pwrite 1181# define pwrite rpl_pwrite
1028# endif 1182# endif
1029_GL_FUNCDECL_RPL (pwrite, ssize_t, 1183_GL_FUNCDECL_RPL (pwrite, ssize_t,
@@ -1050,12 +1204,34 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
1050#endif 1204#endif
1051 1205
1052 1206
1207#if @GNULIB_READ@
1208/* Read up to COUNT bytes from file descriptor FD into the buffer starting
1209 at BUF. See the POSIX:2008 specification
1210 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>. */
1211# if @REPLACE_READ@
1212# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1213# undef read
1214# define read rpl_read
1215# endif
1216_GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count)
1217 _GL_ARG_NONNULL ((2)));
1218_GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count));
1219# else
1220/* Need to cast, because on mingw, the third parameter is
1221 unsigned int count
1222 and the return type is 'int'. */
1223_GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count));
1224# endif
1225_GL_CXXALIASWARN (read);
1226#endif
1227
1228
1053#if @GNULIB_READLINK@ 1229#if @GNULIB_READLINK@
1054/* Read the contents of the symbolic link FILE and place the first BUFSIZE 1230/* Read the contents of the symbolic link FILE and place the first BUFSIZE
1055 bytes of it into BUF. Return the number of bytes placed into BUF if 1231 bytes of it into BUF. Return the number of bytes placed into BUF if
1056 successful, otherwise -1 and errno set. 1232 successful, otherwise -1 and errno set.
1057 See the POSIX:2001 specification 1233 See the POSIX:2008 specification
1058 <http://www.opengroup.org/susv3xsh/readlink.html>. */ 1234 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>. */
1059# if @REPLACE_READLINK@ 1235# if @REPLACE_READLINK@
1060# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1236# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1061# define readlink rpl_readlink 1237# define readlink rpl_readlink
@@ -1097,7 +1273,7 @@ _GL_CXXALIASWARN (readlinkat);
1097# undef readlinkat 1273# undef readlinkat
1098# if HAVE_RAW_DECL_READLINKAT 1274# if HAVE_RAW_DECL_READLINKAT
1099_GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - " 1275_GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - "
1100 "use gnulib module symlinkat for portability"); 1276 "use gnulib module readlinkat for portability");
1101# endif 1277# endif
1102#endif 1278#endif
1103 1279
@@ -1123,11 +1299,38 @@ _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
1123#endif 1299#endif
1124 1300
1125 1301
1302#if @GNULIB_SETHOSTNAME@
1303/* Set the host name of the machine.
1304 The host name may or may not be fully qualified.
1305
1306 Put LEN bytes of NAME into the host name.
1307 Return 0 if successful, otherwise, set errno and return -1.
1308
1309 Platforms with no ability to set the hostname return -1 and set
1310 errno = ENOSYS. */
1311# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@
1312_GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len)
1313 _GL_ARG_NONNULL ((1)));
1314# endif
1315/* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5
1316 and FreeBSD 6.4 the second parameter is int. On Solaris 11
1317 2011-10, the first parameter is not const. */
1318_GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len));
1319_GL_CXXALIASWARN (sethostname);
1320#elif defined GNULIB_POSIXCHECK
1321# undef sethostname
1322# if HAVE_RAW_DECL_SETHOSTNAME
1323_GL_WARN_ON_USE (sethostname, "sethostname is unportable - "
1324 "use gnulib module sethostname for portability");
1325# endif
1326#endif
1327
1328
1126#if @GNULIB_SLEEP@ 1329#if @GNULIB_SLEEP@
1127/* Pause the execution of the current thread for N seconds. 1330/* Pause the execution of the current thread for N seconds.
1128 Returns the number of seconds left to sleep. 1331 Returns the number of seconds left to sleep.
1129 See the POSIX:2001 specification 1332 See the POSIX:2008 specification
1130 <http://www.opengroup.org/susv3xsh/sleep.html>. */ 1333 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>. */
1131# if @REPLACE_SLEEP@ 1334# if @REPLACE_SLEEP@
1132# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1335# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1133# undef sleep 1336# undef sleep
@@ -1208,7 +1411,7 @@ _GL_FUNCDECL_RPL (ttyname_r, int,
1208_GL_CXXALIAS_RPL (ttyname_r, int, 1411_GL_CXXALIAS_RPL (ttyname_r, int,
1209 (int fd, char *buf, size_t buflen)); 1412 (int fd, char *buf, size_t buflen));
1210# else 1413# else
1211# if !@HAVE_TTYNAME_R@ 1414# if !@HAVE_DECL_TTYNAME_R@
1212_GL_FUNCDECL_SYS (ttyname_r, int, 1415_GL_FUNCDECL_SYS (ttyname_r, int,
1213 (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2))); 1416 (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
1214# endif 1417# endif
@@ -1276,7 +1479,7 @@ _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
1276/* Pause the execution of the current thread for N microseconds. 1479/* Pause the execution of the current thread for N microseconds.
1277 Returns 0 on completion, or -1 on range error. 1480 Returns 0 on completion, or -1 on range error.
1278 See the POSIX:2001 specification 1481 See the POSIX:2001 specification
1279 <http://www.opengroup.org/susv3xsh/sleep.html>. */ 1482 <http://www.opengroup.org/susv3xsh/usleep.html>. */
1280# if @REPLACE_USLEEP@ 1483# if @REPLACE_USLEEP@
1281# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1484# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1282# undef usleep 1485# undef usleep
@@ -1302,9 +1505,9 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
1302 1505
1303#if @GNULIB_WRITE@ 1506#if @GNULIB_WRITE@
1304/* Write up to COUNT bytes starting at BUF to file descriptor FD. 1507/* Write up to COUNT bytes starting at BUF to file descriptor FD.
1305 See the POSIX:2001 specification 1508 See the POSIX:2008 specification
1306 <http://www.opengroup.org/susv3xsh/write.html>. */ 1509 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>. */
1307# if @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@ 1510# if @REPLACE_WRITE@
1308# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1511# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1309# undef write 1512# undef write
1310# define write rpl_write 1513# define write rpl_write
@@ -1321,6 +1524,7 @@ _GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count));
1321_GL_CXXALIASWARN (write); 1524_GL_CXXALIASWARN (write);
1322#endif 1525#endif
1323 1526
1527_GL_INLINE_HEADER_END
1324 1528
1325#endif /* _GL_UNISTD_H */ 1529#endif /* _@GUARD_PREFIX@_UNISTD_H */
1326#endif /* _GL_UNISTD_H */ 1530#endif /* _@GUARD_PREFIX@_UNISTD_H */