Annotation of embedaddon/libiconv/srclib/unistd.in.h, revision 1.1.1.2
1.1 misho 1: /* Substitute for and wrapper around <unistd.h>.
1.1.1.2 ! misho 2: Copyright (C) 2003-2011 Free Software Foundation, Inc.
1.1 misho 3:
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
6: the Free Software Foundation; either version 3, or (at your option)
7: any later version.
8:
9: This program is distributed in the hope that it will be useful,
10: but WITHOUT ANY WARRANTY; without even the implied warranty of
11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: GNU General Public License for more details.
13:
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,
16: Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
17:
18: #if __GNUC__ >= 3
19: @PRAGMA_SYSTEM_HEADER@
20: #endif
1.1.1.2 ! misho 21: @PRAGMA_COLUMNS@
! 22:
! 23: /* Special invocation convention:
! 24: - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
! 25: but we need to ensure that both the system <unistd.h> and <winsock2.h>
! 26: are completely included before we replace gethostname. */
! 27: #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
! 28: && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H
! 29: /* <unistd.h> is being indirectly included for the first time from
! 30: <winsock2.h>; avoid declaring any overrides. */
! 31: # if @HAVE_UNISTD_H@
! 32: # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
! 33: # else
! 34: # error unexpected; report this to bug-gnulib@gnu.org
! 35: # endif
! 36: # define _GL_WINSOCK2_H_WITNESS
! 37:
! 38: /* Normal invocation. */
! 39: #elif !defined _@GUARD_PREFIX@_UNISTD_H
1.1 misho 40:
41: /* The include_next requires a split double-inclusion guard. */
42: #if @HAVE_UNISTD_H@
43: # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
44: #endif
45:
1.1.1.2 ! misho 46: /* Get all possible declarations of gethostname(). */
! 47: #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
! 48: && !defined _GL_INCLUDING_WINSOCK2_H
! 49: # define _GL_INCLUDING_WINSOCK2_H
! 50: # include <winsock2.h>
! 51: # undef _GL_INCLUDING_WINSOCK2_H
! 52: #endif
! 53:
! 54: #if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
! 55: #define _@GUARD_PREFIX@_UNISTD_H
! 56:
! 57: /* NetBSD 5.0 mis-defines NULL. Also get size_t. */
! 58: #include <stddef.h>
1.1 misho 59:
60: /* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>. */
1.1.1.2 ! misho 61: /* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>. */
! 62: /* But avoid namespace pollution on glibc systems. */
! 63: #if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
! 64: || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
! 65: && defined __CYGWIN__)) \
! 66: && ! defined __GLIBC__
1.1 misho 67: # include <stdio.h>
68: #endif
69:
1.1.1.2 ! misho 70: /* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>. */
! 71: /* But avoid namespace pollution on glibc systems. */
! 72: #if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \
! 73: && ! defined __GLIBC__
! 74: # include <fcntl.h>
! 75: #endif
! 76:
1.1 misho 77: /* mingw fails to declare _exit in <unistd.h>. */
78: /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
1.1.1.2 ! misho 79: /* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>. */
! 80: /* But avoid namespace pollution on glibc systems. */
! 81: #ifndef __GLIBC__
! 82: # include <stdlib.h>
! 83: #endif
1.1 misho 84:
1.1.1.2 ! misho 85: /* mingw declares getcwd in <io.h>, not in <unistd.h>. */
! 86: #if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \
! 87: && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
! 88: # include <io.h>
! 89: #endif
! 90:
! 91: /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
! 92: NonStop Kernel declares gethostname in <netdb.h>, not in <unistd.h>. */
! 93: /* But avoid namespace pollution on glibc systems. */
! 94: #if ((@GNULIB_GETDOMAINNAME@ && (defined _AIX || defined __osf__)) \
! 95: || (@GNULIB_GETHOSTNAME@ && defined __TANDEM)) \
! 96: && !defined __GLIBC__
! 97: # include <netdb.h>
! 98: #endif
! 99:
! 100: #if (@GNULIB_READ@ || @GNULIB_WRITE@ \
! 101: || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
! 102: || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
1.1 misho 103: /* Get ssize_t. */
104: # include <sys/types.h>
105: #endif
106:
1.1.1.2 ! misho 107: /* Get getopt(), optarg, optind, opterr, optopt.
! 108: But avoid namespace pollution on glibc systems. */
! 109: #if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
! 110: # include <getopt.h>
! 111: #endif
! 112:
! 113: /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
! 114:
! 115: /* The definition of _GL_ARG_NONNULL is copied here. */
! 116:
! 117: /* The definition of _GL_WARN_ON_USE is copied here. */
! 118:
! 119:
! 120: /* Hide some function declarations from <winsock2.h>. */
! 121:
! 122: #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
! 123: # if !defined _@GUARD_PREFIX@_SYS_SOCKET_H
! 124: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1.1 misho 125: # undef socket
1.1.1.2 ! misho 126: # define socket socket_used_without_including_sys_socket_h
1.1 misho 127: # undef connect
1.1.1.2 ! misho 128: # define connect connect_used_without_including_sys_socket_h
1.1 misho 129: # undef accept
1.1.1.2 ! misho 130: # define accept accept_used_without_including_sys_socket_h
1.1 misho 131: # undef bind
1.1.1.2 ! misho 132: # define bind bind_used_without_including_sys_socket_h
1.1 misho 133: # undef getpeername
1.1.1.2 ! misho 134: # define getpeername getpeername_used_without_including_sys_socket_h
1.1 misho 135: # undef getsockname
1.1.1.2 ! misho 136: # define getsockname getsockname_used_without_including_sys_socket_h
1.1 misho 137: # undef getsockopt
1.1.1.2 ! misho 138: # define getsockopt getsockopt_used_without_including_sys_socket_h
1.1 misho 139: # undef listen
1.1.1.2 ! misho 140: # define listen listen_used_without_including_sys_socket_h
1.1 misho 141: # undef recv
1.1.1.2 ! misho 142: # define recv recv_used_without_including_sys_socket_h
1.1 misho 143: # undef send
1.1.1.2 ! misho 144: # define send send_used_without_including_sys_socket_h
1.1 misho 145: # undef recvfrom
1.1.1.2 ! misho 146: # define recvfrom recvfrom_used_without_including_sys_socket_h
1.1 misho 147: # undef sendto
1.1.1.2 ! misho 148: # define sendto sendto_used_without_including_sys_socket_h
1.1 misho 149: # undef setsockopt
1.1.1.2 ! misho 150: # define setsockopt setsockopt_used_without_including_sys_socket_h
1.1 misho 151: # undef shutdown
1.1.1.2 ! misho 152: # define shutdown shutdown_used_without_including_sys_socket_h
! 153: # else
! 154: _GL_WARN_ON_USE (socket,
! 155: "socket() used without including <sys/socket.h>");
! 156: _GL_WARN_ON_USE (connect,
! 157: "connect() used without including <sys/socket.h>");
! 158: _GL_WARN_ON_USE (accept,
! 159: "accept() used without including <sys/socket.h>");
! 160: _GL_WARN_ON_USE (bind,
! 161: "bind() used without including <sys/socket.h>");
! 162: _GL_WARN_ON_USE (getpeername,
! 163: "getpeername() used without including <sys/socket.h>");
! 164: _GL_WARN_ON_USE (getsockname,
! 165: "getsockname() used without including <sys/socket.h>");
! 166: _GL_WARN_ON_USE (getsockopt,
! 167: "getsockopt() used without including <sys/socket.h>");
! 168: _GL_WARN_ON_USE (listen,
! 169: "listen() used without including <sys/socket.h>");
! 170: _GL_WARN_ON_USE (recv,
! 171: "recv() used without including <sys/socket.h>");
! 172: _GL_WARN_ON_USE (send,
! 173: "send() used without including <sys/socket.h>");
! 174: _GL_WARN_ON_USE (recvfrom,
! 175: "recvfrom() used without including <sys/socket.h>");
! 176: _GL_WARN_ON_USE (sendto,
! 177: "sendto() used without including <sys/socket.h>");
! 178: _GL_WARN_ON_USE (setsockopt,
! 179: "setsockopt() used without including <sys/socket.h>");
! 180: _GL_WARN_ON_USE (shutdown,
! 181: "shutdown() used without including <sys/socket.h>");
1.1 misho 182: # endif
1.1.1.2 ! misho 183: # endif
! 184: # if !defined _@GUARD_PREFIX@_SYS_SELECT_H
! 185: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1.1 misho 186: # undef select
1.1.1.2 ! misho 187: # define select select_used_without_including_sys_select_h
! 188: # else
! 189: _GL_WARN_ON_USE (select,
! 190: "select() used without including <sys/select.h>");
1.1 misho 191: # endif
192: # endif
193: #endif
194:
195:
196: /* OS/2 EMX lacks these macros. */
197: #ifndef STDIN_FILENO
198: # define STDIN_FILENO 0
199: #endif
200: #ifndef STDOUT_FILENO
201: # define STDOUT_FILENO 1
202: #endif
203: #ifndef STDERR_FILENO
204: # define STDERR_FILENO 2
205: #endif
206:
1.1.1.2 ! misho 207: /* Ensure *_OK macros exist. */
! 208: #ifndef F_OK
! 209: # define F_OK 0
! 210: # define X_OK 1
! 211: # define W_OK 2
! 212: # define R_OK 4
! 213: #endif
! 214:
! 215:
1.1 misho 216: /* Declare overridden functions. */
217:
1.1.1.2 ! misho 218:
! 219: #if defined GNULIB_POSIXCHECK
! 220: /* The access() function is a security risk. */
! 221: _GL_WARN_ON_USE (access, "the access function is a security risk - "
! 222: "use the gnulib module faccessat instead");
1.1 misho 223: #endif
224:
225:
226: #if @GNULIB_CHOWN@
227: /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
228: to GID (if GID is not -1). Follow symbolic links.
229: Return 0 if successful, otherwise -1 and errno set.
230: See the POSIX:2001 specification
231: <http://www.opengroup.org/susv3xsh/chown.html>. */
1.1.1.2 ! misho 232: # if @REPLACE_CHOWN@
! 233: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 234: # undef chown
1.1 misho 235: # define chown rpl_chown
236: # endif
1.1.1.2 ! misho 237: _GL_FUNCDECL_RPL (chown, int, (const char *file, uid_t uid, gid_t gid)
! 238: _GL_ARG_NONNULL ((1)));
! 239: _GL_CXXALIAS_RPL (chown, int, (const char *file, uid_t uid, gid_t gid));
! 240: # else
! 241: # if !@HAVE_CHOWN@
! 242: _GL_FUNCDECL_SYS (chown, int, (const char *file, uid_t uid, gid_t gid)
! 243: _GL_ARG_NONNULL ((1)));
! 244: # endif
! 245: _GL_CXXALIAS_SYS (chown, int, (const char *file, uid_t uid, gid_t gid));
1.1 misho 246: # endif
1.1.1.2 ! misho 247: _GL_CXXALIASWARN (chown);
1.1 misho 248: #elif defined GNULIB_POSIXCHECK
249: # undef chown
1.1.1.2 ! misho 250: # if HAVE_RAW_DECL_CHOWN
! 251: _GL_WARN_ON_USE (chown, "chown fails to follow symlinks on some systems and "
! 252: "doesn't treat a uid or gid of -1 on some systems - "
! 253: "use gnulib module chown for portability");
! 254: # endif
1.1 misho 255: #endif
256:
257:
258: #if @GNULIB_CLOSE@
259: # if @REPLACE_CLOSE@
260: /* Automatically included by modules that need a replacement for close. */
1.1.1.2 ! misho 261: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 262: # undef close
! 263: # define close rpl_close
! 264: # endif
! 265: _GL_FUNCDECL_RPL (close, int, (int fd));
! 266: _GL_CXXALIAS_RPL (close, int, (int fd));
! 267: # else
! 268: _GL_CXXALIAS_SYS (close, int, (int fd));
1.1 misho 269: # endif
1.1.1.2 ! misho 270: _GL_CXXALIASWARN (close);
! 271: #elif @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
1.1 misho 272: # undef close
273: # define close close_used_without_requesting_gnulib_module_close
274: #elif defined GNULIB_POSIXCHECK
275: # undef close
1.1.1.2 ! misho 276: /* Assume close is always declared. */
! 277: _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
! 278: "use gnulib module close for portability");
1.1 misho 279: #endif
280:
281:
1.1.1.2 ! misho 282: #if @REPLACE_DUP@
! 283: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 284: # define dup rpl_dup
! 285: # endif
! 286: _GL_FUNCDECL_RPL (dup, int, (int oldfd));
! 287: _GL_CXXALIAS_RPL (dup, int, (int oldfd));
! 288: #else
! 289: _GL_CXXALIAS_SYS (dup, int, (int oldfd));
! 290: #endif
! 291: _GL_CXXALIASWARN (dup);
! 292:
! 293:
1.1 misho 294: #if @GNULIB_DUP2@
295: /* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if
296: NEWFD = OLDFD, otherwise close NEWFD first if it is open.
1.1.1.2 ! misho 297: Return newfd if successful, otherwise -1 and errno set.
1.1 misho 298: See the POSIX:2001 specification
299: <http://www.opengroup.org/susv3xsh/dup2.html>. */
1.1.1.2 ! misho 300: # if @REPLACE_DUP2@
! 301: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 302: # define dup2 rpl_dup2
! 303: # endif
! 304: _GL_FUNCDECL_RPL (dup2, int, (int oldfd, int newfd));
! 305: _GL_CXXALIAS_RPL (dup2, int, (int oldfd, int newfd));
! 306: # else
! 307: # if !@HAVE_DUP2@
! 308: _GL_FUNCDECL_SYS (dup2, int, (int oldfd, int newfd));
! 309: # endif
! 310: _GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd));
1.1 misho 311: # endif
1.1.1.2 ! misho 312: _GL_CXXALIASWARN (dup2);
1.1 misho 313: #elif defined GNULIB_POSIXCHECK
314: # undef dup2
1.1.1.2 ! misho 315: # if HAVE_RAW_DECL_DUP2
! 316: _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
! 317: "use gnulib module dup2 for portability");
! 318: # endif
! 319: #endif
! 320:
! 321:
! 322: #if @GNULIB_DUP3@
! 323: /* Copy the file descriptor OLDFD into file descriptor NEWFD, with the
! 324: specified flags.
! 325: The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
! 326: and O_TEXT, O_BINARY (defined in "binary-io.h").
! 327: Close NEWFD first if it is open.
! 328: Return newfd if successful, otherwise -1 and errno set.
! 329: See the Linux man page at
! 330: <http://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>. */
! 331: # if @HAVE_DUP3@
! 332: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 333: # define dup3 rpl_dup3
! 334: # endif
! 335: _GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags));
! 336: _GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags));
! 337: # else
! 338: _GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags));
! 339: _GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags));
! 340: # endif
! 341: _GL_CXXALIASWARN (dup3);
! 342: #elif defined GNULIB_POSIXCHECK
! 343: # undef dup3
! 344: # if HAVE_RAW_DECL_DUP3
! 345: _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
! 346: "use gnulib module dup3 for portability");
! 347: # endif
1.1 misho 348: #endif
349:
350:
351: #if @GNULIB_ENVIRON@
352: # if !@HAVE_DECL_ENVIRON@
353: /* Set of environment variables and values. An array of strings of the form
354: "VARIABLE=VALUE", terminated with a NULL. */
355: # if defined __APPLE__ && defined __MACH__
356: # include <crt_externs.h>
357: # define environ (*_NSGetEnviron ())
358: # else
1.1.1.2 ! misho 359: # ifdef __cplusplus
! 360: extern "C" {
! 361: # endif
1.1 misho 362: extern char **environ;
1.1.1.2 ! misho 363: # ifdef __cplusplus
! 364: }
! 365: # endif
1.1 misho 366: # endif
367: # endif
368: #elif defined GNULIB_POSIXCHECK
1.1.1.2 ! misho 369: # if HAVE_RAW_DECL_ENVIRON
! 370: static inline char ***
! 371: rpl_environ (void)
! 372: {
! 373: return &environ;
! 374: }
! 375: _GL_WARN_ON_USE (rpl_environ, "environ is unportable - "
! 376: "use gnulib module environ for portability");
! 377: # undef environ
! 378: # define environ (*rpl_environ ())
! 379: # endif
1.1 misho 380: #endif
381:
382:
383: #if @GNULIB_EUIDACCESS@
1.1.1.2 ! misho 384: /* Like access(), except that it uses the effective user id and group id of
1.1 misho 385: the current process. */
1.1.1.2 ! misho 386: # if !@HAVE_EUIDACCESS@
! 387: _GL_FUNCDECL_SYS (euidaccess, int, (const char *filename, int mode)
! 388: _GL_ARG_NONNULL ((1)));
! 389: # endif
! 390: _GL_CXXALIAS_SYS (euidaccess, int, (const char *filename, int mode));
! 391: _GL_CXXALIASWARN (euidaccess);
! 392: # if defined GNULIB_POSIXCHECK
! 393: /* Like access(), this function is a security risk. */
! 394: _GL_WARN_ON_USE (euidaccess, "the euidaccess function is a security risk - "
! 395: "use the gnulib module faccessat instead");
1.1 misho 396: # endif
397: #elif defined GNULIB_POSIXCHECK
398: # undef euidaccess
1.1.1.2 ! misho 399: # if HAVE_RAW_DECL_EUIDACCESS
! 400: _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
! 401: "use gnulib module euidaccess for portability");
! 402: # endif
1.1 misho 403: #endif
404:
405:
1.1.1.2 ! misho 406: #if @GNULIB_FACCESSAT@
! 407: # if !@HAVE_FACCESSAT@
! 408: _GL_FUNCDECL_SYS (faccessat, int,
! 409: (int fd, char const *file, int mode, int flag)
! 410: _GL_ARG_NONNULL ((2)));
! 411: # endif
! 412: _GL_CXXALIAS_SYS (faccessat, int,
! 413: (int fd, char const *file, int mode, int flag));
! 414: _GL_CXXALIASWARN (faccessat);
! 415: #elif defined GNULIB_POSIXCHECK
! 416: # undef faccessat
! 417: # if HAVE_RAW_DECL_FACCESSAT
! 418: _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
! 419: "use gnulib module faccessat for portability");
! 420: # endif
! 421: #endif
! 422:
1.1 misho 423:
1.1.1.2 ! misho 424: #if @GNULIB_FCHDIR@
1.1 misho 425: /* Change the process' current working directory to the directory on which
426: the given file descriptor is open.
427: Return 0 if successful, otherwise -1 and errno set.
428: See the POSIX:2001 specification
429: <http://www.opengroup.org/susv3xsh/fchdir.html>. */
1.1.1.2 ! misho 430: # if ! @HAVE_FCHDIR@
! 431: _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
1.1 misho 432:
1.1.1.2 ! misho 433: /* Gnulib internal hooks needed to maintain the fchdir metadata. */
! 434: _GL_EXTERN_C int _gl_register_fd (int fd, const char *filename)
! 435: _GL_ARG_NONNULL ((2));
! 436: _GL_EXTERN_C void _gl_unregister_fd (int fd);
! 437: _GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd);
! 438: _GL_EXTERN_C const char *_gl_directory_name (int fd);
! 439:
! 440: # else
! 441: # if !@HAVE_DECL_FCHDIR@
! 442: _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
! 443: # endif
1.1 misho 444: # endif
1.1.1.2 ! misho 445: _GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
! 446: _GL_CXXALIASWARN (fchdir);
1.1 misho 447: #elif defined GNULIB_POSIXCHECK
448: # undef fchdir
1.1.1.2 ! misho 449: # if HAVE_RAW_DECL_FCHDIR
! 450: _GL_WARN_ON_USE (fchdir, "fchdir is unportable - "
! 451: "use gnulib module fchdir for portability");
! 452: # endif
! 453: #endif
! 454:
! 455:
! 456: #if @GNULIB_FCHOWNAT@
! 457: # if @REPLACE_FCHOWNAT@
! 458: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 459: # undef fchownat
! 460: # define fchownat rpl_fchownat
! 461: # endif
! 462: _GL_FUNCDECL_RPL (fchownat, int, (int fd, char const *file,
! 463: uid_t owner, gid_t group, int flag)
! 464: _GL_ARG_NONNULL ((2)));
! 465: _GL_CXXALIAS_RPL (fchownat, int, (int fd, char const *file,
! 466: uid_t owner, gid_t group, int flag));
! 467: # else
! 468: # if !@HAVE_FCHOWNAT@
! 469: _GL_FUNCDECL_SYS (fchownat, int, (int fd, char const *file,
! 470: uid_t owner, gid_t group, int flag)
! 471: _GL_ARG_NONNULL ((2)));
! 472: # endif
! 473: _GL_CXXALIAS_SYS (fchownat, int, (int fd, char const *file,
! 474: uid_t owner, gid_t group, int flag));
! 475: # endif
! 476: _GL_CXXALIASWARN (fchownat);
! 477: #elif defined GNULIB_POSIXCHECK
! 478: # undef fchownat
! 479: # if HAVE_RAW_DECL_FCHOWNAT
! 480: _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
! 481: "use gnulib module openat for portability");
! 482: # endif
1.1 misho 483: #endif
484:
485:
486: #if @GNULIB_FSYNC@
487: /* Synchronize changes to a file.
488: Return 0 if successful, otherwise -1 and errno set.
489: See POSIX:2001 specification
490: <http://www.opengroup.org/susv3xsh/fsync.html>. */
491: # if !@HAVE_FSYNC@
1.1.1.2 ! misho 492: _GL_FUNCDECL_SYS (fsync, int, (int fd));
1.1 misho 493: # endif
1.1.1.2 ! misho 494: _GL_CXXALIAS_SYS (fsync, int, (int fd));
! 495: _GL_CXXALIASWARN (fsync);
1.1 misho 496: #elif defined GNULIB_POSIXCHECK
497: # undef fsync
1.1.1.2 ! misho 498: # if HAVE_RAW_DECL_FSYNC
! 499: _GL_WARN_ON_USE (fsync, "fsync is unportable - "
! 500: "use gnulib module fsync for portability");
! 501: # endif
1.1 misho 502: #endif
503:
504:
505: #if @GNULIB_FTRUNCATE@
506: /* Change the size of the file to which FD is opened to become equal to LENGTH.
507: Return 0 if successful, otherwise -1 and errno set.
508: See the POSIX:2001 specification
509: <http://www.opengroup.org/susv3xsh/ftruncate.html>. */
1.1.1.2 ! misho 510: # if !@HAVE_FTRUNCATE@
! 511: _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
1.1 misho 512: # endif
1.1.1.2 ! misho 513: _GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
! 514: _GL_CXXALIASWARN (ftruncate);
1.1 misho 515: #elif defined GNULIB_POSIXCHECK
516: # undef ftruncate
1.1.1.2 ! misho 517: # if HAVE_RAW_DECL_FTRUNCATE
! 518: _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
! 519: "use gnulib module ftruncate for portability");
! 520: # endif
1.1 misho 521: #endif
522:
523:
524: #if @GNULIB_GETCWD@
525: /* Get the name of the current working directory, and put it in SIZE bytes
526: of BUF.
527: Return BUF if successful, or NULL if the directory couldn't be determined
528: or SIZE was too small.
529: See the POSIX:2001 specification
530: <http://www.opengroup.org/susv3xsh/getcwd.html>.
531: Additionally, the gnulib module 'getcwd' guarantees the following GNU
532: extension: If BUF is NULL, an array is allocated with 'malloc'; the array
533: is SIZE bytes long, unless SIZE == 0, in which case it is as big as
534: necessary. */
1.1.1.2 ! misho 535: # if @REPLACE_GETCWD@
! 536: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 537: # define getcwd rpl_getcwd
! 538: # endif
! 539: _GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size));
! 540: _GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size));
! 541: # else
! 542: /* Need to cast, because on mingw, the second parameter is
! 543: int size. */
! 544: _GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size));
1.1 misho 545: # endif
1.1.1.2 ! misho 546: _GL_CXXALIASWARN (getcwd);
1.1 misho 547: #elif defined GNULIB_POSIXCHECK
548: # undef getcwd
1.1.1.2 ! misho 549: # if HAVE_RAW_DECL_GETCWD
! 550: _GL_WARN_ON_USE (getcwd, "getcwd is unportable - "
! 551: "use gnulib module getcwd for portability");
! 552: # endif
1.1 misho 553: #endif
554:
555:
556: #if @GNULIB_GETDOMAINNAME@
557: /* Return the NIS domain name of the machine.
558: WARNING! The NIS domain name is unrelated to the fully qualified host name
559: of the machine. It is also unrelated to email addresses.
560: WARNING! The NIS domain name is usually the empty string or "(none)" when
561: not using NIS.
562:
563: Put up to LEN bytes of the NIS domain name into NAME.
564: Null terminate it if the name is shorter than LEN.
565: If the NIS domain name is longer than LEN, set errno = EINVAL and return -1.
566: Return 0 if successful, otherwise set errno and return -1. */
1.1.1.2 ! misho 567: # if @REPLACE_GETDOMAINNAME@
! 568: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 569: # undef getdomainname
! 570: # define getdomainname rpl_getdomainname
! 571: # endif
! 572: _GL_FUNCDECL_RPL (getdomainname, int, (char *name, size_t len)
! 573: _GL_ARG_NONNULL ((1)));
! 574: _GL_CXXALIAS_RPL (getdomainname, int, (char *name, size_t len));
! 575: # else
! 576: # if !@HAVE_DECL_GETDOMAINNAME@
! 577: _GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len)
! 578: _GL_ARG_NONNULL ((1)));
! 579: # endif
! 580: _GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len));
1.1 misho 581: # endif
1.1.1.2 ! misho 582: _GL_CXXALIASWARN (getdomainname);
1.1 misho 583: #elif defined GNULIB_POSIXCHECK
584: # undef getdomainname
1.1.1.2 ! misho 585: # if HAVE_RAW_DECL_GETDOMAINNAME
! 586: _GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - "
! 587: "use gnulib module getdomainname for portability");
! 588: # endif
1.1 misho 589: #endif
590:
591:
592: #if @GNULIB_GETDTABLESIZE@
1.1.1.2 ! misho 593: /* Return the maximum number of file descriptors in the current process.
! 594: In POSIX, this is same as sysconf (_SC_OPEN_MAX). */
1.1 misho 595: # if !@HAVE_GETDTABLESIZE@
1.1.1.2 ! misho 596: _GL_FUNCDECL_SYS (getdtablesize, int, (void));
1.1 misho 597: # endif
1.1.1.2 ! misho 598: _GL_CXXALIAS_SYS (getdtablesize, int, (void));
! 599: _GL_CXXALIASWARN (getdtablesize);
1.1 misho 600: #elif defined GNULIB_POSIXCHECK
601: # undef getdtablesize
1.1.1.2 ! misho 602: # if HAVE_RAW_DECL_GETDTABLESIZE
! 603: _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - "
! 604: "use gnulib module getdtablesize for portability");
! 605: # endif
! 606: #endif
! 607:
! 608:
! 609: #if @GNULIB_GETGROUPS@
! 610: /* Return the supplemental groups that the current process belongs to.
! 611: It is unspecified whether the effective group id is in the list.
! 612: If N is 0, return the group count; otherwise, N describes how many
! 613: entries are available in GROUPS. Return -1 and set errno if N is
! 614: not 0 and not large enough. Fails with ENOSYS on some systems. */
! 615: # if @REPLACE_GETGROUPS@
! 616: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 617: # undef getgroups
! 618: # define getgroups rpl_getgroups
! 619: # endif
! 620: _GL_FUNCDECL_RPL (getgroups, int, (int n, gid_t *groups));
! 621: _GL_CXXALIAS_RPL (getgroups, int, (int n, gid_t *groups));
! 622: # else
! 623: # if !@HAVE_GETGROUPS@
! 624: _GL_FUNCDECL_SYS (getgroups, int, (int n, gid_t *groups));
! 625: # endif
! 626: _GL_CXXALIAS_SYS (getgroups, int, (int n, gid_t *groups));
! 627: # endif
! 628: _GL_CXXALIASWARN (getgroups);
! 629: #elif defined GNULIB_POSIXCHECK
! 630: # undef getgroups
! 631: # if HAVE_RAW_DECL_GETGROUPS
! 632: _GL_WARN_ON_USE (getgroups, "getgroups is unportable - "
! 633: "use gnulib module getgroups for portability");
! 634: # endif
1.1 misho 635: #endif
636:
637:
638: #if @GNULIB_GETHOSTNAME@
639: /* Return the standard host name of the machine.
640: WARNING! The host name may or may not be fully qualified.
641:
642: Put up to LEN bytes of the host name into NAME.
643: Null terminate it if the name is shorter than LEN.
644: If the host name is longer than LEN, set errno = EINVAL and return -1.
645: Return 0 if successful, otherwise set errno and return -1. */
646: # if @UNISTD_H_HAVE_WINSOCK2_H@
1.1.1.2 ! misho 647: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 648: # undef gethostname
! 649: # define gethostname rpl_gethostname
! 650: # endif
! 651: _GL_FUNCDECL_RPL (gethostname, int, (char *name, size_t len)
! 652: _GL_ARG_NONNULL ((1)));
! 653: _GL_CXXALIAS_RPL (gethostname, int, (char *name, size_t len));
! 654: # else
! 655: # if !@HAVE_GETHOSTNAME@
! 656: _GL_FUNCDECL_SYS (gethostname, int, (char *name, size_t len)
! 657: _GL_ARG_NONNULL ((1)));
! 658: # endif
! 659: /* Need to cast, because on Solaris 10 and OSF/1 5.1 systems, the second
! 660: parameter is
! 661: int len. */
! 662: _GL_CXXALIAS_SYS_CAST (gethostname, int, (char *name, size_t len));
1.1 misho 663: # endif
1.1.1.2 ! misho 664: _GL_CXXALIASWARN (gethostname);
1.1 misho 665: #elif @UNISTD_H_HAVE_WINSOCK2_H@
666: # undef gethostname
667: # define gethostname gethostname_used_without_requesting_gnulib_module_gethostname
668: #elif defined GNULIB_POSIXCHECK
669: # undef gethostname
1.1.1.2 ! misho 670: # if HAVE_RAW_DECL_GETHOSTNAME
! 671: _GL_WARN_ON_USE (gethostname, "gethostname is unportable - "
! 672: "use gnulib module gethostname for portability");
! 673: # endif
! 674: #endif
! 675:
! 676:
! 677: #if @GNULIB_GETLOGIN@
! 678: /* Returns the user's login name, or NULL if it cannot be found. Upon error,
! 679: returns NULL with errno set.
! 680:
! 681: See <http://www.opengroup.org/susv3xsh/getlogin.html>.
! 682:
! 683: Most programs don't need to use this function, because the information is
! 684: available through environment variables:
! 685: ${LOGNAME-$USER} on Unix platforms,
! 686: $USERNAME on native Windows platforms.
! 687: */
! 688: # if !@HAVE_GETLOGIN@
! 689: _GL_FUNCDECL_SYS (getlogin, char *, (void));
! 690: # endif
! 691: _GL_CXXALIAS_SYS (getlogin, char *, (void));
! 692: _GL_CXXALIASWARN (getlogin);
! 693: #elif defined GNULIB_POSIXCHECK
! 694: # undef getlogin
! 695: # if HAVE_RAW_DECL_GETLOGIN
! 696: _GL_WARN_ON_USE (getlogin, "getlogin is unportable - "
! 697: "use gnulib module getlogin for portability");
! 698: # endif
1.1 misho 699: #endif
700:
701:
702: #if @GNULIB_GETLOGIN_R@
703: /* Copies the user's login name to NAME.
704: The array pointed to by NAME has room for SIZE bytes.
705:
706: Returns 0 if successful. Upon error, an error number is returned, or -1 in
707: the case that the login name cannot be found but no specific error is
708: provided (this case is hopefully rare but is left open by the POSIX spec).
709:
710: See <http://www.opengroup.org/susv3xsh/getlogin.html>.
1.1.1.2 ! misho 711:
! 712: Most programs don't need to use this function, because the information is
! 713: available through environment variables:
! 714: ${LOGNAME-$USER} on Unix platforms,
! 715: $USERNAME on native Windows platforms.
1.1 misho 716: */
1.1.1.2 ! misho 717: # if @REPLACE_GETLOGIN_R@
! 718: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 719: # define getlogin_r rpl_getlogin_r
! 720: # endif
! 721: _GL_FUNCDECL_RPL (getlogin_r, int, (char *name, size_t size)
! 722: _GL_ARG_NONNULL ((1)));
! 723: _GL_CXXALIAS_RPL (getlogin_r, int, (char *name, size_t size));
! 724: # else
! 725: # if !@HAVE_DECL_GETLOGIN_R@
! 726: _GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size)
! 727: _GL_ARG_NONNULL ((1)));
! 728: # endif
! 729: /* Need to cast, because on Solaris 10 systems, the second argument is
! 730: int size. */
! 731: _GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size));
1.1 misho 732: # endif
1.1.1.2 ! misho 733: _GL_CXXALIASWARN (getlogin_r);
1.1 misho 734: #elif defined GNULIB_POSIXCHECK
735: # undef getlogin_r
1.1.1.2 ! misho 736: # if HAVE_RAW_DECL_GETLOGIN_R
! 737: _GL_WARN_ON_USE (getlogin_r, "getlogin_r is unportable - "
! 738: "use gnulib module getlogin_r for portability");
! 739: # endif
1.1 misho 740: #endif
741:
742:
743: #if @GNULIB_GETPAGESIZE@
744: # if @REPLACE_GETPAGESIZE@
1.1.1.2 ! misho 745: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 746: # define getpagesize rpl_getpagesize
1.1 misho 747: # endif
1.1.1.2 ! misho 748: _GL_FUNCDECL_RPL (getpagesize, int, (void));
! 749: _GL_CXXALIAS_RPL (getpagesize, int, (void));
! 750: # else
! 751: # if !@HAVE_GETPAGESIZE@
! 752: # if !defined getpagesize
! 753: /* This is for POSIX systems. */
! 754: # if !defined _gl_getpagesize && defined _SC_PAGESIZE
! 755: # if ! (defined __VMS && __VMS_VER < 70000000)
! 756: # define _gl_getpagesize() sysconf (_SC_PAGESIZE)
! 757: # endif
! 758: # endif
1.1 misho 759: /* This is for older VMS. */
1.1.1.2 ! misho 760: # if !defined _gl_getpagesize && defined __VMS
! 761: # ifdef __ALPHA
! 762: # define _gl_getpagesize() 8192
! 763: # else
! 764: # define _gl_getpagesize() 512
! 765: # endif
! 766: # endif
1.1 misho 767: /* This is for BeOS. */
1.1.1.2 ! misho 768: # if !defined _gl_getpagesize && @HAVE_OS_H@
! 769: # include <OS.h>
! 770: # if defined B_PAGE_SIZE
! 771: # define _gl_getpagesize() B_PAGE_SIZE
! 772: # endif
! 773: # endif
1.1 misho 774: /* This is for AmigaOS4.0. */
1.1.1.2 ! misho 775: # if !defined _gl_getpagesize && defined __amigaos4__
! 776: # define _gl_getpagesize() 2048
! 777: # endif
1.1 misho 778: /* This is for older Unix systems. */
1.1.1.2 ! misho 779: # if !defined _gl_getpagesize && @HAVE_SYS_PARAM_H@
! 780: # include <sys/param.h>
! 781: # ifdef EXEC_PAGESIZE
! 782: # define _gl_getpagesize() EXEC_PAGESIZE
! 783: # else
! 784: # ifdef NBPG
! 785: # ifndef CLSIZE
! 786: # define CLSIZE 1
! 787: # endif
! 788: # define _gl_getpagesize() (NBPG * CLSIZE)
! 789: # else
! 790: # ifdef NBPC
! 791: # define _gl_getpagesize() NBPC
! 792: # endif
! 793: # endif
1.1 misho 794: # endif
1.1.1.2 ! misho 795: # endif
! 796: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 797: # define getpagesize() _gl_getpagesize ()
1.1 misho 798: # else
1.1.1.2 ! misho 799: # if !GNULIB_defined_getpagesize_function
! 800: static inline int
! 801: getpagesize ()
! 802: {
! 803: return _gl_getpagesize ();
! 804: }
! 805: # define GNULIB_defined_getpagesize_function 1
1.1 misho 806: # endif
807: # endif
808: # endif
809: # endif
1.1.1.2 ! misho 810: /* Need to cast, because on Cygwin 1.5.x systems, the return type is size_t. */
! 811: _GL_CXXALIAS_SYS_CAST (getpagesize, int, (void));
! 812: # endif
! 813: # if @HAVE_DECL_GETPAGESIZE@
! 814: _GL_CXXALIASWARN (getpagesize);
1.1 misho 815: # endif
816: #elif defined GNULIB_POSIXCHECK
817: # undef getpagesize
1.1.1.2 ! misho 818: # if HAVE_RAW_DECL_GETPAGESIZE
! 819: _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
! 820: "use gnulib module getpagesize for portability");
! 821: # endif
1.1 misho 822: #endif
823:
824:
825: #if @GNULIB_GETUSERSHELL@
826: /* Return the next valid login shell on the system, or NULL when the end of
827: the list has been reached. */
1.1.1.2 ! misho 828: # if !@HAVE_DECL_GETUSERSHELL@
! 829: _GL_FUNCDECL_SYS (getusershell, char *, (void));
! 830: # endif
! 831: _GL_CXXALIAS_SYS (getusershell, char *, (void));
! 832: _GL_CXXALIASWARN (getusershell);
! 833: #elif defined GNULIB_POSIXCHECK
! 834: # undef getusershell
! 835: # if HAVE_RAW_DECL_GETUSERSHELL
! 836: _GL_WARN_ON_USE (getusershell, "getusershell is unportable - "
! 837: "use gnulib module getusershell for portability");
! 838: # endif
! 839: #endif
! 840:
! 841: #if @GNULIB_GETUSERSHELL@
1.1 misho 842: /* Rewind to pointer that is advanced at each getusershell() call. */
1.1.1.2 ! misho 843: # if !@HAVE_DECL_GETUSERSHELL@
! 844: _GL_FUNCDECL_SYS (setusershell, void, (void));
! 845: # endif
! 846: _GL_CXXALIAS_SYS (setusershell, void, (void));
! 847: _GL_CXXALIASWARN (setusershell);
! 848: #elif defined GNULIB_POSIXCHECK
! 849: # undef setusershell
! 850: # if HAVE_RAW_DECL_SETUSERSHELL
! 851: _GL_WARN_ON_USE (setusershell, "setusershell is unportable - "
! 852: "use gnulib module getusershell for portability");
! 853: # endif
! 854: #endif
! 855:
! 856: #if @GNULIB_GETUSERSHELL@
1.1 misho 857: /* Free the pointer that is advanced at each getusershell() call and
858: associated resources. */
1.1.1.2 ! misho 859: # if !@HAVE_DECL_GETUSERSHELL@
! 860: _GL_FUNCDECL_SYS (endusershell, void, (void));
1.1 misho 861: # endif
1.1.1.2 ! misho 862: _GL_CXXALIAS_SYS (endusershell, void, (void));
! 863: _GL_CXXALIASWARN (endusershell);
1.1 misho 864: #elif defined GNULIB_POSIXCHECK
865: # undef endusershell
1.1.1.2 ! misho 866: # if HAVE_RAW_DECL_ENDUSERSHELL
! 867: _GL_WARN_ON_USE (endusershell, "endusershell is unportable - "
! 868: "use gnulib module getusershell for portability");
! 869: # endif
! 870: #endif
! 871:
! 872:
! 873: #if @GNULIB_GROUP_MEMBER@
! 874: /* Determine whether group id is in calling user's group list. */
! 875: # if !@HAVE_GROUP_MEMBER@
! 876: _GL_FUNCDECL_SYS (group_member, int, (gid_t gid));
! 877: # endif
! 878: _GL_CXXALIAS_SYS (group_member, int, (gid_t gid));
! 879: _GL_CXXALIASWARN (group_member);
! 880: #elif defined GNULIB_POSIXCHECK
! 881: # undef group_member
! 882: # if HAVE_RAW_DECL_GROUP_MEMBER
! 883: _GL_WARN_ON_USE (group_member, "group_member is unportable - "
! 884: "use gnulib module group-member for portability");
! 885: # endif
1.1 misho 886: #endif
887:
888:
889: #if @GNULIB_LCHOWN@
890: /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
891: to GID (if GID is not -1). Do not follow symbolic links.
892: Return 0 if successful, otherwise -1 and errno set.
893: See the POSIX:2001 specification
894: <http://www.opengroup.org/susv3xsh/lchown.html>. */
1.1.1.2 ! misho 895: # if @REPLACE_LCHOWN@
! 896: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 897: # undef lchown
! 898: # define lchown rpl_lchown
! 899: # endif
! 900: _GL_FUNCDECL_RPL (lchown, int, (char const *file, uid_t owner, gid_t group)
! 901: _GL_ARG_NONNULL ((1)));
! 902: _GL_CXXALIAS_RPL (lchown, int, (char const *file, uid_t owner, gid_t group));
! 903: # else
! 904: # if !@HAVE_LCHOWN@
! 905: _GL_FUNCDECL_SYS (lchown, int, (char const *file, uid_t owner, gid_t group)
! 906: _GL_ARG_NONNULL ((1)));
! 907: # endif
! 908: _GL_CXXALIAS_SYS (lchown, int, (char const *file, uid_t owner, gid_t group));
1.1 misho 909: # endif
1.1.1.2 ! misho 910: _GL_CXXALIASWARN (lchown);
1.1 misho 911: #elif defined GNULIB_POSIXCHECK
912: # undef lchown
1.1.1.2 ! misho 913: # if HAVE_RAW_DECL_LCHOWN
! 914: _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
! 915: "use gnulib module lchown for portability");
! 916: # endif
1.1 misho 917: #endif
918:
919:
920: #if @GNULIB_LINK@
921: /* Create a new hard link for an existing file.
922: Return 0 if successful, otherwise -1 and errno set.
923: See POSIX:2001 specification
924: <http://www.opengroup.org/susv3xsh/link.html>. */
1.1.1.2 ! misho 925: # if @REPLACE_LINK@
! 926: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 927: # define link rpl_link
! 928: # endif
! 929: _GL_FUNCDECL_RPL (link, int, (const char *path1, const char *path2)
! 930: _GL_ARG_NONNULL ((1, 2)));
! 931: _GL_CXXALIAS_RPL (link, int, (const char *path1, const char *path2));
! 932: # else
! 933: # if !@HAVE_LINK@
! 934: _GL_FUNCDECL_SYS (link, int, (const char *path1, const char *path2)
! 935: _GL_ARG_NONNULL ((1, 2)));
! 936: # endif
! 937: _GL_CXXALIAS_SYS (link, int, (const char *path1, const char *path2));
1.1 misho 938: # endif
1.1.1.2 ! misho 939: _GL_CXXALIASWARN (link);
1.1 misho 940: #elif defined GNULIB_POSIXCHECK
941: # undef link
1.1.1.2 ! misho 942: # if HAVE_RAW_DECL_LINK
! 943: _GL_WARN_ON_USE (link, "link is unportable - "
! 944: "use gnulib module link for portability");
! 945: # endif
! 946: #endif
! 947:
! 948:
! 949: #if @GNULIB_LINKAT@
! 950: /* Create a new hard link for an existing file, relative to two
! 951: directories. FLAG controls whether symlinks are followed.
! 952: Return 0 if successful, otherwise -1 and errno set. */
! 953: # if @REPLACE_LINKAT@
! 954: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 955: # undef linkat
! 956: # define linkat rpl_linkat
! 957: # endif
! 958: _GL_FUNCDECL_RPL (linkat, int,
! 959: (int fd1, const char *path1, int fd2, const char *path2,
! 960: int flag)
! 961: _GL_ARG_NONNULL ((2, 4)));
! 962: _GL_CXXALIAS_RPL (linkat, int,
! 963: (int fd1, const char *path1, int fd2, const char *path2,
! 964: int flag));
! 965: # else
! 966: # if !@HAVE_LINKAT@
! 967: _GL_FUNCDECL_SYS (linkat, int,
! 968: (int fd1, const char *path1, int fd2, const char *path2,
! 969: int flag)
! 970: _GL_ARG_NONNULL ((2, 4)));
! 971: # endif
! 972: _GL_CXXALIAS_SYS (linkat, int,
! 973: (int fd1, const char *path1, int fd2, const char *path2,
! 974: int flag));
! 975: # endif
! 976: _GL_CXXALIASWARN (linkat);
! 977: #elif defined GNULIB_POSIXCHECK
! 978: # undef linkat
! 979: # if HAVE_RAW_DECL_LINKAT
! 980: _GL_WARN_ON_USE (linkat, "linkat is unportable - "
! 981: "use gnulib module linkat for portability");
! 982: # endif
1.1 misho 983: #endif
984:
985:
986: #if @GNULIB_LSEEK@
987: /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
988: Return the new offset if successful, otherwise -1 and errno set.
989: See the POSIX:2001 specification
990: <http://www.opengroup.org/susv3xsh/lseek.html>. */
1.1.1.2 ! misho 991: # if @REPLACE_LSEEK@
! 992: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 993: # define lseek rpl_lseek
! 994: # endif
! 995: _GL_FUNCDECL_RPL (lseek, off_t, (int fd, off_t offset, int whence));
! 996: _GL_CXXALIAS_RPL (lseek, off_t, (int fd, off_t offset, int whence));
! 997: # else
! 998: _GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence));
1.1 misho 999: # endif
1.1.1.2 ! misho 1000: _GL_CXXALIASWARN (lseek);
1.1 misho 1001: #elif defined GNULIB_POSIXCHECK
1002: # undef lseek
1.1.1.2 ! misho 1003: # if HAVE_RAW_DECL_LSEEK
! 1004: _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some "
! 1005: "systems - use gnulib module lseek for portability");
! 1006: # endif
! 1007: #endif
! 1008:
! 1009:
! 1010: #if @GNULIB_PIPE@
! 1011: /* Create a pipe, defaulting to O_BINARY mode.
! 1012: Store the read-end as fd[0] and the write-end as fd[1].
! 1013: Return 0 upon success, or -1 with errno set upon failure. */
! 1014: # if !@HAVE_PIPE@
! 1015: _GL_FUNCDECL_SYS (pipe, int, (int fd[2]) _GL_ARG_NONNULL ((1)));
! 1016: # endif
! 1017: _GL_CXXALIAS_SYS (pipe, int, (int fd[2]));
! 1018: _GL_CXXALIASWARN (pipe);
! 1019: #elif defined GNULIB_POSIXCHECK
! 1020: # undef pipe
! 1021: # if HAVE_RAW_DECL_PIPE
! 1022: _GL_WARN_ON_USE (pipe, "pipe is unportable - "
! 1023: "use gnulib module pipe-posix for portability");
! 1024: # endif
! 1025: #endif
! 1026:
! 1027:
! 1028: #if @GNULIB_PIPE2@
! 1029: /* Create a pipe, applying the given flags when opening the read-end of the
! 1030: pipe and the write-end of the pipe.
! 1031: The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
! 1032: and O_TEXT, O_BINARY (defined in "binary-io.h").
! 1033: Store the read-end as fd[0] and the write-end as fd[1].
! 1034: Return 0 upon success, or -1 with errno set upon failure.
! 1035: See also the Linux man page at
! 1036: <http://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>. */
! 1037: # if @HAVE_PIPE2@
! 1038: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1039: # define pipe2 rpl_pipe2
! 1040: # endif
! 1041: _GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
! 1042: _GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags));
! 1043: # else
! 1044: _GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
! 1045: _GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags));
! 1046: # endif
! 1047: _GL_CXXALIASWARN (pipe2);
! 1048: #elif defined GNULIB_POSIXCHECK
! 1049: # undef pipe2
! 1050: # if HAVE_RAW_DECL_PIPE2
! 1051: _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
! 1052: "use gnulib module pipe2 for portability");
! 1053: # endif
! 1054: #endif
! 1055:
! 1056:
! 1057: #if @GNULIB_PREAD@
! 1058: /* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET.
! 1059: Return the number of bytes placed into BUF if successful, otherwise
! 1060: set errno and return -1. 0 indicates EOF. See the POSIX:2001
! 1061: specification <http://www.opengroup.org/susv3xsh/pread.html>. */
! 1062: # if @REPLACE_PREAD@
! 1063: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1064: # undef pread
! 1065: # define pread rpl_pread
! 1066: # endif
! 1067: _GL_FUNCDECL_RPL (pread, ssize_t,
! 1068: (int fd, void *buf, size_t bufsize, off_t offset)
! 1069: _GL_ARG_NONNULL ((2)));
! 1070: _GL_CXXALIAS_RPL (pread, ssize_t,
! 1071: (int fd, void *buf, size_t bufsize, off_t offset));
! 1072: # else
! 1073: # if !@HAVE_PREAD@
! 1074: _GL_FUNCDECL_SYS (pread, ssize_t,
! 1075: (int fd, void *buf, size_t bufsize, off_t offset)
! 1076: _GL_ARG_NONNULL ((2)));
! 1077: # endif
! 1078: _GL_CXXALIAS_SYS (pread, ssize_t,
! 1079: (int fd, void *buf, size_t bufsize, off_t offset));
! 1080: # endif
! 1081: _GL_CXXALIASWARN (pread);
! 1082: #elif defined GNULIB_POSIXCHECK
! 1083: # undef pread
! 1084: # if HAVE_RAW_DECL_PREAD
! 1085: _GL_WARN_ON_USE (pread, "pread is unportable - "
! 1086: "use gnulib module pread for portability");
! 1087: # endif
! 1088: #endif
! 1089:
! 1090:
! 1091: #if @GNULIB_PWRITE@
! 1092: /* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET.
! 1093: Return the number of bytes written if successful, otherwise
! 1094: set errno and return -1. 0 indicates nothing written. See the
! 1095: POSIX:2001 specification
! 1096: <http://www.opengroup.org/susv3xsh/pwrite.html>. */
! 1097: # if @REPLACE_PWRITE@
! 1098: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1099: # undef pwrite
! 1100: # define pwrite rpl_pwrite
! 1101: # endif
! 1102: _GL_FUNCDECL_RPL (pwrite, ssize_t,
! 1103: (int fd, const void *buf, size_t bufsize, off_t offset)
! 1104: _GL_ARG_NONNULL ((2)));
! 1105: _GL_CXXALIAS_RPL (pwrite, ssize_t,
! 1106: (int fd, const void *buf, size_t bufsize, off_t offset));
! 1107: # else
! 1108: # if !@HAVE_PWRITE@
! 1109: _GL_FUNCDECL_SYS (pwrite, ssize_t,
! 1110: (int fd, const void *buf, size_t bufsize, off_t offset)
! 1111: _GL_ARG_NONNULL ((2)));
! 1112: # endif
! 1113: _GL_CXXALIAS_SYS (pwrite, ssize_t,
! 1114: (int fd, const void *buf, size_t bufsize, off_t offset));
! 1115: # endif
! 1116: _GL_CXXALIASWARN (pwrite);
! 1117: #elif defined GNULIB_POSIXCHECK
! 1118: # undef pwrite
! 1119: # if HAVE_RAW_DECL_PWRITE
! 1120: _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
! 1121: "use gnulib module pwrite for portability");
! 1122: # endif
! 1123: #endif
! 1124:
! 1125:
! 1126: #if @GNULIB_READ@
! 1127: /* Read up to COUNT bytes from file descriptor FD into the buffer starting
! 1128: at BUF. See the POSIX:2001 specification
! 1129: <http://www.opengroup.org/susv3xsh/read.html>. */
! 1130: # if @REPLACE_READ@ && @GNULIB_UNISTD_H_NONBLOCKING@
! 1131: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1132: # undef read
! 1133: # define read rpl_read
! 1134: # endif
! 1135: _GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count)
! 1136: _GL_ARG_NONNULL ((2)));
! 1137: _GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count));
! 1138: # else
! 1139: /* Need to cast, because on mingw, the third parameter is
! 1140: unsigned int count
! 1141: and the return type is 'int'. */
! 1142: _GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count));
! 1143: # endif
! 1144: _GL_CXXALIASWARN (read);
1.1 misho 1145: #endif
1146:
1147:
1148: #if @GNULIB_READLINK@
1149: /* Read the contents of the symbolic link FILE and place the first BUFSIZE
1150: bytes of it into BUF. Return the number of bytes placed into BUF if
1151: successful, otherwise -1 and errno set.
1152: See the POSIX:2001 specification
1153: <http://www.opengroup.org/susv3xsh/readlink.html>. */
1.1.1.2 ! misho 1154: # if @REPLACE_READLINK@
! 1155: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1156: # define readlink rpl_readlink
! 1157: # endif
! 1158: _GL_FUNCDECL_RPL (readlink, ssize_t,
! 1159: (const char *file, char *buf, size_t bufsize)
! 1160: _GL_ARG_NONNULL ((1, 2)));
! 1161: _GL_CXXALIAS_RPL (readlink, ssize_t,
! 1162: (const char *file, char *buf, size_t bufsize));
! 1163: # else
! 1164: # if !@HAVE_READLINK@
! 1165: _GL_FUNCDECL_SYS (readlink, ssize_t,
! 1166: (const char *file, char *buf, size_t bufsize)
! 1167: _GL_ARG_NONNULL ((1, 2)));
! 1168: # endif
! 1169: _GL_CXXALIAS_SYS (readlink, ssize_t,
! 1170: (const char *file, char *buf, size_t bufsize));
1.1 misho 1171: # endif
1.1.1.2 ! misho 1172: _GL_CXXALIASWARN (readlink);
1.1 misho 1173: #elif defined GNULIB_POSIXCHECK
1174: # undef readlink
1.1.1.2 ! misho 1175: # if HAVE_RAW_DECL_READLINK
! 1176: _GL_WARN_ON_USE (readlink, "readlink is unportable - "
! 1177: "use gnulib module readlink for portability");
! 1178: # endif
! 1179: #endif
! 1180:
! 1181:
! 1182: #if @GNULIB_READLINKAT@
! 1183: # if !@HAVE_READLINKAT@
! 1184: _GL_FUNCDECL_SYS (readlinkat, ssize_t,
! 1185: (int fd, char const *file, char *buf, size_t len)
! 1186: _GL_ARG_NONNULL ((2, 3)));
! 1187: # endif
! 1188: _GL_CXXALIAS_SYS (readlinkat, ssize_t,
! 1189: (int fd, char const *file, char *buf, size_t len));
! 1190: _GL_CXXALIASWARN (readlinkat);
! 1191: #elif defined GNULIB_POSIXCHECK
! 1192: # undef readlinkat
! 1193: # if HAVE_RAW_DECL_READLINKAT
! 1194: _GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - "
! 1195: "use gnulib module readlinkat for portability");
! 1196: # endif
! 1197: #endif
! 1198:
! 1199:
! 1200: #if @GNULIB_RMDIR@
! 1201: /* Remove the directory DIR. */
! 1202: # if @REPLACE_RMDIR@
! 1203: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1204: # define rmdir rpl_rmdir
! 1205: # endif
! 1206: _GL_FUNCDECL_RPL (rmdir, int, (char const *name) _GL_ARG_NONNULL ((1)));
! 1207: _GL_CXXALIAS_RPL (rmdir, int, (char const *name));
! 1208: # else
! 1209: _GL_CXXALIAS_SYS (rmdir, int, (char const *name));
! 1210: # endif
! 1211: _GL_CXXALIASWARN (rmdir);
! 1212: #elif defined GNULIB_POSIXCHECK
! 1213: # undef rmdir
! 1214: # if HAVE_RAW_DECL_RMDIR
! 1215: _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
! 1216: "use gnulib module rmdir for portability");
! 1217: # endif
1.1 misho 1218: #endif
1219:
1220:
1221: #if @GNULIB_SLEEP@
1222: /* Pause the execution of the current thread for N seconds.
1223: Returns the number of seconds left to sleep.
1224: See the POSIX:2001 specification
1225: <http://www.opengroup.org/susv3xsh/sleep.html>. */
1.1.1.2 ! misho 1226: # if @REPLACE_SLEEP@
! 1227: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1228: # undef sleep
! 1229: # define sleep rpl_sleep
! 1230: # endif
! 1231: _GL_FUNCDECL_RPL (sleep, unsigned int, (unsigned int n));
! 1232: _GL_CXXALIAS_RPL (sleep, unsigned int, (unsigned int n));
! 1233: # else
! 1234: # if !@HAVE_SLEEP@
! 1235: _GL_FUNCDECL_SYS (sleep, unsigned int, (unsigned int n));
! 1236: # endif
! 1237: _GL_CXXALIAS_SYS (sleep, unsigned int, (unsigned int n));
1.1 misho 1238: # endif
1.1.1.2 ! misho 1239: _GL_CXXALIASWARN (sleep);
1.1 misho 1240: #elif defined GNULIB_POSIXCHECK
1241: # undef sleep
1.1.1.2 ! misho 1242: # if HAVE_RAW_DECL_SLEEP
! 1243: _GL_WARN_ON_USE (sleep, "sleep is unportable - "
! 1244: "use gnulib module sleep for portability");
! 1245: # endif
1.1 misho 1246: #endif
1247:
1248:
1.1.1.2 ! misho 1249: #if @GNULIB_SYMLINK@
! 1250: # if @REPLACE_SYMLINK@
! 1251: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1252: # undef symlink
! 1253: # define symlink rpl_symlink
! 1254: # endif
! 1255: _GL_FUNCDECL_RPL (symlink, int, (char const *contents, char const *file)
! 1256: _GL_ARG_NONNULL ((1, 2)));
! 1257: _GL_CXXALIAS_RPL (symlink, int, (char const *contents, char const *file));
! 1258: # else
! 1259: # if !@HAVE_SYMLINK@
! 1260: _GL_FUNCDECL_SYS (symlink, int, (char const *contents, char const *file)
! 1261: _GL_ARG_NONNULL ((1, 2)));
! 1262: # endif
! 1263: _GL_CXXALIAS_SYS (symlink, int, (char const *contents, char const *file));
! 1264: # endif
! 1265: _GL_CXXALIASWARN (symlink);
! 1266: #elif defined GNULIB_POSIXCHECK
! 1267: # undef symlink
! 1268: # if HAVE_RAW_DECL_SYMLINK
! 1269: _GL_WARN_ON_USE (symlink, "symlink is not portable - "
! 1270: "use gnulib module symlink for portability");
! 1271: # endif
1.1 misho 1272: #endif
1273:
1274:
1.1.1.2 ! misho 1275: #if @GNULIB_SYMLINKAT@
! 1276: # if !@HAVE_SYMLINKAT@
! 1277: _GL_FUNCDECL_SYS (symlinkat, int,
! 1278: (char const *contents, int fd, char const *file)
! 1279: _GL_ARG_NONNULL ((1, 3)));
! 1280: # endif
! 1281: _GL_CXXALIAS_SYS (symlinkat, int,
! 1282: (char const *contents, int fd, char const *file));
! 1283: _GL_CXXALIASWARN (symlinkat);
! 1284: #elif defined GNULIB_POSIXCHECK
! 1285: # undef symlinkat
! 1286: # if HAVE_RAW_DECL_SYMLINKAT
! 1287: _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
! 1288: "use gnulib module symlinkat for portability");
! 1289: # endif
1.1 misho 1290: #endif
1291:
1292:
1.1.1.2 ! misho 1293: #if @GNULIB_TTYNAME_R@
! 1294: /* Store at most BUFLEN characters of the pathname of the terminal FD is
! 1295: open on in BUF. Return 0 on success, otherwise an error number. */
! 1296: # if @REPLACE_TTYNAME_R@
! 1297: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1298: # undef ttyname_r
! 1299: # define ttyname_r rpl_ttyname_r
! 1300: # endif
! 1301: _GL_FUNCDECL_RPL (ttyname_r, int,
! 1302: (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
! 1303: _GL_CXXALIAS_RPL (ttyname_r, int,
! 1304: (int fd, char *buf, size_t buflen));
! 1305: # else
! 1306: # if !@HAVE_DECL_TTYNAME_R@
! 1307: _GL_FUNCDECL_SYS (ttyname_r, int,
! 1308: (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
! 1309: # endif
! 1310: _GL_CXXALIAS_SYS (ttyname_r, int,
! 1311: (int fd, char *buf, size_t buflen));
! 1312: # endif
! 1313: _GL_CXXALIASWARN (ttyname_r);
! 1314: #elif defined GNULIB_POSIXCHECK
! 1315: # undef ttyname_r
! 1316: # if HAVE_RAW_DECL_TTYNAME_R
! 1317: _GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - "
! 1318: "use gnulib module ttyname_r for portability");
! 1319: # endif
! 1320: #endif
! 1321:
! 1322:
! 1323: #if @GNULIB_UNLINK@
! 1324: # if @REPLACE_UNLINK@
! 1325: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1326: # undef unlink
! 1327: # define unlink rpl_unlink
! 1328: # endif
! 1329: _GL_FUNCDECL_RPL (unlink, int, (char const *file) _GL_ARG_NONNULL ((1)));
! 1330: _GL_CXXALIAS_RPL (unlink, int, (char const *file));
! 1331: # else
! 1332: _GL_CXXALIAS_SYS (unlink, int, (char const *file));
! 1333: # endif
! 1334: _GL_CXXALIASWARN (unlink);
! 1335: #elif defined GNULIB_POSIXCHECK
! 1336: # undef unlink
! 1337: # if HAVE_RAW_DECL_UNLINK
! 1338: _GL_WARN_ON_USE (unlink, "unlink is not portable - "
! 1339: "use gnulib module unlink for portability");
! 1340: # endif
! 1341: #endif
! 1342:
! 1343:
! 1344: #if @GNULIB_UNLINKAT@
! 1345: # if @REPLACE_UNLINKAT@
! 1346: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1347: # undef unlinkat
! 1348: # define unlinkat rpl_unlinkat
! 1349: # endif
! 1350: _GL_FUNCDECL_RPL (unlinkat, int, (int fd, char const *file, int flag)
! 1351: _GL_ARG_NONNULL ((2)));
! 1352: _GL_CXXALIAS_RPL (unlinkat, int, (int fd, char const *file, int flag));
! 1353: # else
! 1354: # if !@HAVE_UNLINKAT@
! 1355: _GL_FUNCDECL_SYS (unlinkat, int, (int fd, char const *file, int flag)
! 1356: _GL_ARG_NONNULL ((2)));
! 1357: # endif
! 1358: _GL_CXXALIAS_SYS (unlinkat, int, (int fd, char const *file, int flag));
! 1359: # endif
! 1360: _GL_CXXALIASWARN (unlinkat);
! 1361: #elif defined GNULIB_POSIXCHECK
! 1362: # undef unlinkat
! 1363: # if HAVE_RAW_DECL_UNLINKAT
! 1364: _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
! 1365: "use gnulib module openat for portability");
! 1366: # endif
! 1367: #endif
! 1368:
! 1369:
! 1370: #if @GNULIB_USLEEP@
! 1371: /* Pause the execution of the current thread for N microseconds.
! 1372: Returns 0 on completion, or -1 on range error.
! 1373: See the POSIX:2001 specification
! 1374: <http://www.opengroup.org/susv3xsh/sleep.html>. */
! 1375: # if @REPLACE_USLEEP@
! 1376: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1377: # undef usleep
! 1378: # define usleep rpl_usleep
! 1379: # endif
! 1380: _GL_FUNCDECL_RPL (usleep, int, (useconds_t n));
! 1381: _GL_CXXALIAS_RPL (usleep, int, (useconds_t n));
! 1382: # else
! 1383: # if !@HAVE_USLEEP@
! 1384: _GL_FUNCDECL_SYS (usleep, int, (useconds_t n));
! 1385: # endif
! 1386: _GL_CXXALIAS_SYS (usleep, int, (useconds_t n));
! 1387: # endif
! 1388: _GL_CXXALIASWARN (usleep);
! 1389: #elif defined GNULIB_POSIXCHECK
! 1390: # undef usleep
! 1391: # if HAVE_RAW_DECL_USLEEP
! 1392: _GL_WARN_ON_USE (usleep, "usleep is unportable - "
! 1393: "use gnulib module usleep for portability");
! 1394: # endif
! 1395: #endif
! 1396:
! 1397:
! 1398: #if @GNULIB_WRITE@
! 1399: /* Write up to COUNT bytes starting at BUF to file descriptor FD.
! 1400: See the POSIX:2001 specification
! 1401: <http://www.opengroup.org/susv3xsh/write.html>. */
! 1402: # if @REPLACE_WRITE@ && (@GNULIB_UNISTD_H_NONBLOCKING@ || @GNULIB_UNISTD_H_SIGPIPE@)
! 1403: # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
! 1404: # undef write
! 1405: # define write rpl_write
! 1406: # endif
! 1407: _GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count)
! 1408: _GL_ARG_NONNULL ((2)));
! 1409: _GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count));
! 1410: # else
! 1411: /* Need to cast, because on mingw, the third parameter is
! 1412: unsigned int count
! 1413: and the return type is 'int'. */
! 1414: _GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count));
! 1415: # endif
! 1416: _GL_CXXALIASWARN (write);
1.1 misho 1417: #endif
1418:
1419:
1.1.1.2 ! misho 1420: #endif /* _@GUARD_PREFIX@_UNISTD_H */
! 1421: #endif /* _@GUARD_PREFIX@_UNISTD_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>