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>