Annotation of embedaddon/libiconv/srclib/unistd.in.h, revision 1.1

1.1     ! misho       1: /* Substitute for and wrapper around <unistd.h>.
        !             2:    Copyright (C) 2003-2009 Free Software Foundation, Inc.
        !             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: #ifndef _GL_UNISTD_H
        !            19: 
        !            20: #if __GNUC__ >= 3
        !            21: @PRAGMA_SYSTEM_HEADER@
        !            22: #endif
        !            23: 
        !            24: /* The include_next requires a split double-inclusion guard.  */
        !            25: #if @HAVE_UNISTD_H@
        !            26: # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
        !            27: #endif
        !            28: 
        !            29: #ifndef _GL_UNISTD_H
        !            30: #define _GL_UNISTD_H
        !            31: 
        !            32: /* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>.  */
        !            33: #if !(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET)
        !            34: # include <stdio.h>
        !            35: #endif
        !            36: 
        !            37: /* mingw fails to declare _exit in <unistd.h>.  */
        !            38: /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
        !            39: #include <stdlib.h>
        !            40: 
        !            41: #if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@
        !            42: /* Get ssize_t.  */
        !            43: # include <sys/types.h>
        !            44: #endif
        !            45: 
        !            46: #if @GNULIB_GETHOSTNAME@
        !            47: /* Get all possible declarations of gethostname().  */
        !            48: # if @UNISTD_H_HAVE_WINSOCK2_H@
        !            49: #  include <winsock2.h>
        !            50: #  if !defined _GL_SYS_SOCKET_H
        !            51: #   undef socket
        !            52: #   define socket              socket_used_without_including_sys_socket_h
        !            53: #   undef connect
        !            54: #   define connect             connect_used_without_including_sys_socket_h
        !            55: #   undef accept
        !            56: #   define accept              accept_used_without_including_sys_socket_h
        !            57: #   undef bind
        !            58: #   define bind                        bind_used_without_including_sys_socket_h
        !            59: #   undef getpeername
        !            60: #   define getpeername         getpeername_used_without_including_sys_socket_h
        !            61: #   undef getsockname
        !            62: #   define getsockname         getsockname_used_without_including_sys_socket_h
        !            63: #   undef getsockopt
        !            64: #   define getsockopt          getsockopt_used_without_including_sys_socket_h
        !            65: #   undef listen
        !            66: #   define listen              listen_used_without_including_sys_socket_h
        !            67: #   undef recv
        !            68: #   define recv                        recv_used_without_including_sys_socket_h
        !            69: #   undef send
        !            70: #   define send                        send_used_without_including_sys_socket_h
        !            71: #   undef recvfrom
        !            72: #   define recvfrom            recvfrom_used_without_including_sys_socket_h
        !            73: #   undef sendto
        !            74: #   define sendto              sendto_used_without_including_sys_socket_h
        !            75: #   undef setsockopt
        !            76: #   define setsockopt          setsockopt_used_without_including_sys_socket_h
        !            77: #   undef shutdown
        !            78: #   define shutdown            shutdown_used_without_including_sys_socket_h
        !            79: #  endif
        !            80: #  if !defined _GL_SYS_SELECT_H
        !            81: #   undef select
        !            82: #   define select              select_used_without_including_sys_select_h
        !            83: #  endif
        !            84: # endif
        !            85: #endif
        !            86: 
        !            87: /* The definition of GL_LINK_WARNING is copied here.  */
        !            88: 
        !            89: 
        !            90: /* OS/2 EMX lacks these macros.  */
        !            91: #ifndef STDIN_FILENO
        !            92: # define STDIN_FILENO 0
        !            93: #endif
        !            94: #ifndef STDOUT_FILENO
        !            95: # define STDOUT_FILENO 1
        !            96: #endif
        !            97: #ifndef STDERR_FILENO
        !            98: # define STDERR_FILENO 2
        !            99: #endif
        !           100: 
        !           101: /* Declare overridden functions.  */
        !           102: 
        !           103: #ifdef __cplusplus
        !           104: extern "C" {
        !           105: #endif
        !           106: 
        !           107: 
        !           108: #if @GNULIB_CHOWN@
        !           109: # if @REPLACE_CHOWN@
        !           110: #  ifndef REPLACE_CHOWN
        !           111: #   define REPLACE_CHOWN 1
        !           112: #  endif
        !           113: #  if REPLACE_CHOWN
        !           114: /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
        !           115:    to GID (if GID is not -1).  Follow symbolic links.
        !           116:    Return 0 if successful, otherwise -1 and errno set.
        !           117:    See the POSIX:2001 specification
        !           118:    <http://www.opengroup.org/susv3xsh/chown.html>.  */
        !           119: #   define chown rpl_chown
        !           120: extern int chown (const char *file, uid_t uid, gid_t gid);
        !           121: #  endif
        !           122: # endif
        !           123: #elif defined GNULIB_POSIXCHECK
        !           124: # undef chown
        !           125: # define chown(f,u,g) \
        !           126:     (GL_LINK_WARNING ("chown fails to follow symlinks on some systems and " \
        !           127:                       "doesn't treat a uid or gid of -1 on some systems - " \
        !           128:                       "use gnulib module chown for portability"), \
        !           129:      chown (f, u, g))
        !           130: #endif
        !           131: 
        !           132: 
        !           133: #if @GNULIB_CLOSE@
        !           134: # if @REPLACE_CLOSE@
        !           135: /* Automatically included by modules that need a replacement for close.  */
        !           136: #  undef close
        !           137: #  define close rpl_close
        !           138: extern int close (int);
        !           139: # endif
        !           140: #elif @UNISTD_H_HAVE_WINSOCK2_H@
        !           141: # undef close
        !           142: # define close close_used_without_requesting_gnulib_module_close
        !           143: #elif defined GNULIB_POSIXCHECK
        !           144: # undef close
        !           145: # define close(f) \
        !           146:     (GL_LINK_WARNING ("close does not portably work on sockets - " \
        !           147:                       "use gnulib module close for portability"), \
        !           148:      close (f))
        !           149: #endif
        !           150: 
        !           151: 
        !           152: #if @GNULIB_DUP2@
        !           153: # if !@HAVE_DUP2@
        !           154: /* Copy the file descriptor OLDFD into file descriptor NEWFD.  Do nothing if
        !           155:    NEWFD = OLDFD, otherwise close NEWFD first if it is open.
        !           156:    Return 0 if successful, otherwise -1 and errno set.
        !           157:    See the POSIX:2001 specification
        !           158:    <http://www.opengroup.org/susv3xsh/dup2.html>.  */
        !           159: extern int dup2 (int oldfd, int newfd);
        !           160: # endif
        !           161: #elif defined GNULIB_POSIXCHECK
        !           162: # undef dup2
        !           163: # define dup2(o,n) \
        !           164:     (GL_LINK_WARNING ("dup2 is unportable - " \
        !           165:                       "use gnulib module dup2 for portability"), \
        !           166:      dup2 (o, n))
        !           167: #endif
        !           168: 
        !           169: 
        !           170: #if @GNULIB_ENVIRON@
        !           171: # if !@HAVE_DECL_ENVIRON@
        !           172: /* Set of environment variables and values.  An array of strings of the form
        !           173:    "VARIABLE=VALUE", terminated with a NULL.  */
        !           174: #  if defined __APPLE__ && defined __MACH__
        !           175: #   include <crt_externs.h>
        !           176: #   define environ (*_NSGetEnviron ())
        !           177: #  else
        !           178: extern char **environ;
        !           179: #  endif
        !           180: # endif
        !           181: #elif defined GNULIB_POSIXCHECK
        !           182: # undef environ
        !           183: # define environ \
        !           184:     (GL_LINK_WARNING ("environ is unportable - " \
        !           185:                       "use gnulib module environ for portability"), \
        !           186:      environ)
        !           187: #endif
        !           188: 
        !           189: 
        !           190: #if @GNULIB_EUIDACCESS@
        !           191: # if !@HAVE_EUIDACCESS@
        !           192: /* Like access(), except that is uses the effective user id and group id of
        !           193:    the current process.  */
        !           194: extern int euidaccess (const char *filename, int mode);
        !           195: # endif
        !           196: #elif defined GNULIB_POSIXCHECK
        !           197: # undef euidaccess
        !           198: # define euidaccess(f,m) \
        !           199:     (GL_LINK_WARNING ("euidaccess is unportable - " \
        !           200:                       "use gnulib module euidaccess for portability"), \
        !           201:      euidaccess (f, m))
        !           202: #endif
        !           203: 
        !           204: 
        !           205: #if @GNULIB_FCHDIR@
        !           206: # if @REPLACE_FCHDIR@
        !           207: 
        !           208: /* Change the process' current working directory to the directory on which
        !           209:    the given file descriptor is open.
        !           210:    Return 0 if successful, otherwise -1 and errno set.
        !           211:    See the POSIX:2001 specification
        !           212:    <http://www.opengroup.org/susv3xsh/fchdir.html>.  */
        !           213: extern int fchdir (int /*fd*/);
        !           214: 
        !           215: #  define dup rpl_dup
        !           216: extern int dup (int);
        !           217: #  define dup2 rpl_dup2
        !           218: extern int dup2 (int, int);
        !           219: 
        !           220: # endif
        !           221: #elif defined GNULIB_POSIXCHECK
        !           222: # undef fchdir
        !           223: # define fchdir(f) \
        !           224:     (GL_LINK_WARNING ("fchdir is unportable - " \
        !           225:                       "use gnulib module fchdir for portability"), \
        !           226:      fchdir (f))
        !           227: #endif
        !           228: 
        !           229: 
        !           230: #if @GNULIB_FSYNC@
        !           231: /* Synchronize changes to a file.
        !           232:    Return 0 if successful, otherwise -1 and errno set.
        !           233:    See POSIX:2001 specification
        !           234:    <http://www.opengroup.org/susv3xsh/fsync.html>.  */
        !           235: # if !@HAVE_FSYNC@
        !           236: extern int fsync (int fd);
        !           237: # endif
        !           238: #elif defined GNULIB_POSIXCHECK
        !           239: # undef fsync
        !           240: # define fsync(fd) \
        !           241:     (GL_LINK_WARNING ("fsync is unportable - " \
        !           242:                       "use gnulib module fsync for portability"), \
        !           243:      fsync (fd))
        !           244: #endif
        !           245: 
        !           246: 
        !           247: #if @GNULIB_FTRUNCATE@
        !           248: # if !@HAVE_FTRUNCATE@
        !           249: /* Change the size of the file to which FD is opened to become equal to LENGTH.
        !           250:    Return 0 if successful, otherwise -1 and errno set.
        !           251:    See the POSIX:2001 specification
        !           252:    <http://www.opengroup.org/susv3xsh/ftruncate.html>.  */
        !           253: extern int ftruncate (int fd, off_t length);
        !           254: # endif
        !           255: #elif defined GNULIB_POSIXCHECK
        !           256: # undef ftruncate
        !           257: # define ftruncate(f,l) \
        !           258:     (GL_LINK_WARNING ("ftruncate is unportable - " \
        !           259:                       "use gnulib module ftruncate for portability"), \
        !           260:      ftruncate (f, l))
        !           261: #endif
        !           262: 
        !           263: 
        !           264: #if @GNULIB_GETCWD@
        !           265: /* Include the headers that might declare getcwd so that they will not
        !           266:    cause confusion if included after this file.  */
        !           267: # include <stdlib.h>
        !           268: # if @REPLACE_GETCWD@
        !           269: /* Get the name of the current working directory, and put it in SIZE bytes
        !           270:    of BUF.
        !           271:    Return BUF if successful, or NULL if the directory couldn't be determined
        !           272:    or SIZE was too small.
        !           273:    See the POSIX:2001 specification
        !           274:    <http://www.opengroup.org/susv3xsh/getcwd.html>.
        !           275:    Additionally, the gnulib module 'getcwd' guarantees the following GNU
        !           276:    extension: If BUF is NULL, an array is allocated with 'malloc'; the array
        !           277:    is SIZE bytes long, unless SIZE == 0, in which case it is as big as
        !           278:    necessary.  */
        !           279: #  define getcwd rpl_getcwd
        !           280: extern char * getcwd (char *buf, size_t size);
        !           281: # endif
        !           282: #elif defined GNULIB_POSIXCHECK
        !           283: # undef getcwd
        !           284: # define getcwd(b,s) \
        !           285:     (GL_LINK_WARNING ("getcwd is unportable - " \
        !           286:                       "use gnulib module getcwd for portability"), \
        !           287:      getcwd (b, s))
        !           288: #endif
        !           289: 
        !           290: 
        !           291: #if @GNULIB_GETDOMAINNAME@
        !           292: /* Return the NIS domain name of the machine.
        !           293:    WARNING! The NIS domain name is unrelated to the fully qualified host name
        !           294:             of the machine.  It is also unrelated to email addresses.
        !           295:    WARNING! The NIS domain name is usually the empty string or "(none)" when
        !           296:             not using NIS.
        !           297: 
        !           298:    Put up to LEN bytes of the NIS domain name into NAME.
        !           299:    Null terminate it if the name is shorter than LEN.
        !           300:    If the NIS domain name is longer than LEN, set errno = EINVAL and return -1.
        !           301:    Return 0 if successful, otherwise set errno and return -1.  */
        !           302: # if !@HAVE_GETDOMAINNAME@
        !           303: extern int getdomainname(char *name, size_t len);
        !           304: # endif
        !           305: #elif defined GNULIB_POSIXCHECK
        !           306: # undef getdomainname
        !           307: # define getdomainname(n,l) \
        !           308:     (GL_LINK_WARNING ("getdomainname is unportable - " \
        !           309:                       "use gnulib module getdomainname for portability"), \
        !           310:      getdomainname (n, l))
        !           311: #endif
        !           312: 
        !           313: 
        !           314: #if @GNULIB_GETDTABLESIZE@
        !           315: # if !@HAVE_GETDTABLESIZE@
        !           316: /* Return the maximum number of file descriptors in the current process.  */
        !           317: extern int getdtablesize (void);
        !           318: # endif
        !           319: #elif defined GNULIB_POSIXCHECK
        !           320: # undef getdtablesize
        !           321: # define getdtablesize() \
        !           322:     (GL_LINK_WARNING ("getdtablesize is unportable - " \
        !           323:                       "use gnulib module getdtablesize for portability"), \
        !           324:      getdtablesize ())
        !           325: #endif
        !           326: 
        !           327: 
        !           328: #if @GNULIB_GETHOSTNAME@
        !           329: /* Return the standard host name of the machine.
        !           330:    WARNING! The host name may or may not be fully qualified.
        !           331: 
        !           332:    Put up to LEN bytes of the host name into NAME.
        !           333:    Null terminate it if the name is shorter than LEN.
        !           334:    If the host name is longer than LEN, set errno = EINVAL and return -1.
        !           335:    Return 0 if successful, otherwise set errno and return -1.  */
        !           336: # if @UNISTD_H_HAVE_WINSOCK2_H@
        !           337: #  undef gethostname
        !           338: #  define gethostname rpl_gethostname
        !           339: # endif
        !           340: # if @UNISTD_H_HAVE_WINSOCK2_H@ || !@HAVE_GETHOSTNAME@
        !           341: extern int gethostname(char *name, size_t len);
        !           342: # endif
        !           343: #elif @UNISTD_H_HAVE_WINSOCK2_H@
        !           344: # undef gethostname
        !           345: # define gethostname gethostname_used_without_requesting_gnulib_module_gethostname
        !           346: #elif defined GNULIB_POSIXCHECK
        !           347: # undef gethostname
        !           348: # define gethostname(n,l) \
        !           349:     (GL_LINK_WARNING ("gethostname is unportable - " \
        !           350:                       "use gnulib module gethostname for portability"), \
        !           351:      gethostname (n, l))
        !           352: #endif
        !           353: 
        !           354: 
        !           355: #if @GNULIB_GETLOGIN_R@
        !           356: /* Copies the user's login name to NAME.
        !           357:    The array pointed to by NAME has room for SIZE bytes.
        !           358: 
        !           359:    Returns 0 if successful.  Upon error, an error number is returned, or -1 in
        !           360:    the case that the login name cannot be found but no specific error is
        !           361:    provided (this case is hopefully rare but is left open by the POSIX spec).
        !           362: 
        !           363:    See <http://www.opengroup.org/susv3xsh/getlogin.html>.
        !           364:  */
        !           365: # if !@HAVE_DECL_GETLOGIN_R@
        !           366: #  include <stddef.h>
        !           367: extern int getlogin_r (char *name, size_t size);
        !           368: # endif
        !           369: #elif defined GNULIB_POSIXCHECK
        !           370: # undef getlogin_r
        !           371: # define getlogin_r(n,s) \
        !           372:     (GL_LINK_WARNING ("getlogin_r is unportable - " \
        !           373:                       "use gnulib module getlogin_r for portability"), \
        !           374:      getlogin_r (n, s))
        !           375: #endif
        !           376: 
        !           377: 
        !           378: #if @GNULIB_GETPAGESIZE@
        !           379: # if @REPLACE_GETPAGESIZE@
        !           380: #  define getpagesize rpl_getpagesize
        !           381: extern int getpagesize (void);
        !           382: # elif !@HAVE_GETPAGESIZE@
        !           383: /* This is for POSIX systems.  */
        !           384: #  if !defined getpagesize && defined _SC_PAGESIZE
        !           385: #   if ! (defined __VMS && __VMS_VER < 70000000)
        !           386: #    define getpagesize() sysconf (_SC_PAGESIZE)
        !           387: #   endif
        !           388: #  endif
        !           389: /* This is for older VMS.  */
        !           390: #  if !defined getpagesize && defined __VMS
        !           391: #   ifdef __ALPHA
        !           392: #    define getpagesize() 8192
        !           393: #   else
        !           394: #    define getpagesize() 512
        !           395: #   endif
        !           396: #  endif
        !           397: /* This is for BeOS.  */
        !           398: #  if !defined getpagesize && @HAVE_OS_H@
        !           399: #   include <OS.h>
        !           400: #   if defined B_PAGE_SIZE
        !           401: #    define getpagesize() B_PAGE_SIZE
        !           402: #   endif
        !           403: #  endif
        !           404: /* This is for AmigaOS4.0.  */
        !           405: #  if !defined getpagesize && defined __amigaos4__
        !           406: #   define getpagesize() 2048
        !           407: #  endif
        !           408: /* This is for older Unix systems.  */
        !           409: #  if !defined getpagesize && @HAVE_SYS_PARAM_H@
        !           410: #   include <sys/param.h>
        !           411: #   ifdef EXEC_PAGESIZE
        !           412: #    define getpagesize() EXEC_PAGESIZE
        !           413: #   else
        !           414: #    ifdef NBPG
        !           415: #     ifndef CLSIZE
        !           416: #      define CLSIZE 1
        !           417: #     endif
        !           418: #     define getpagesize() (NBPG * CLSIZE)
        !           419: #    else
        !           420: #     ifdef NBPC
        !           421: #      define getpagesize() NBPC
        !           422: #     endif
        !           423: #    endif
        !           424: #   endif
        !           425: #  endif
        !           426: # endif
        !           427: #elif defined GNULIB_POSIXCHECK
        !           428: # undef getpagesize
        !           429: # define getpagesize() \
        !           430:     (GL_LINK_WARNING ("getpagesize is unportable - " \
        !           431:                       "use gnulib module getpagesize for portability"), \
        !           432:      getpagesize ())
        !           433: #endif
        !           434: 
        !           435: 
        !           436: #if @GNULIB_GETUSERSHELL@
        !           437: # if !@HAVE_GETUSERSHELL@
        !           438: /* Return the next valid login shell on the system, or NULL when the end of
        !           439:    the list has been reached.  */
        !           440: extern char *getusershell (void);
        !           441: /* Rewind to pointer that is advanced at each getusershell() call.  */
        !           442: extern void setusershell (void);
        !           443: /* Free the pointer that is advanced at each getusershell() call and
        !           444:    associated resources.  */
        !           445: extern void endusershell (void);
        !           446: # endif
        !           447: #elif defined GNULIB_POSIXCHECK
        !           448: # undef getusershell
        !           449: # define getusershell() \
        !           450:     (GL_LINK_WARNING ("getusershell is unportable - " \
        !           451:                       "use gnulib module getusershell for portability"), \
        !           452:      getusershell ())
        !           453: # undef setusershell
        !           454: # define setusershell() \
        !           455:     (GL_LINK_WARNING ("setusershell is unportable - " \
        !           456:                       "use gnulib module getusershell for portability"), \
        !           457:      setusershell ())
        !           458: # undef endusershell
        !           459: # define endusershell() \
        !           460:     (GL_LINK_WARNING ("endusershell is unportable - " \
        !           461:                       "use gnulib module getusershell for portability"), \
        !           462:      endusershell ())
        !           463: #endif
        !           464: 
        !           465: 
        !           466: #if @GNULIB_LCHOWN@
        !           467: # if @REPLACE_LCHOWN@
        !           468: /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
        !           469:    to GID (if GID is not -1).  Do not follow symbolic links.
        !           470:    Return 0 if successful, otherwise -1 and errno set.
        !           471:    See the POSIX:2001 specification
        !           472:    <http://www.opengroup.org/susv3xsh/lchown.html>.  */
        !           473: #  define lchown rpl_lchown
        !           474: extern int lchown (char const *file, uid_t owner, gid_t group);
        !           475: # endif
        !           476: #elif defined GNULIB_POSIXCHECK
        !           477: # undef lchown
        !           478: # define lchown(f,u,g) \
        !           479:     (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \
        !           480:                       "systems - use gnulib module lchown for portability"), \
        !           481:      lchown (f, u, g))
        !           482: #endif
        !           483: 
        !           484: 
        !           485: #if @GNULIB_LINK@
        !           486: /* Create a new hard link for an existing file.
        !           487:    Return 0 if successful, otherwise -1 and errno set.
        !           488:    See POSIX:2001 specification
        !           489:    <http://www.opengroup.org/susv3xsh/link.html>.  */
        !           490: # if !@HAVE_LINK@
        !           491: extern int link (const char *path1, const char *path2);
        !           492: # endif
        !           493: #elif defined GNULIB_POSIXCHECK
        !           494: # undef link
        !           495: # define link(path1,path2) \
        !           496:     (GL_LINK_WARNING ("link is unportable - " \
        !           497:                       "use gnulib module link for portability"), \
        !           498:      link (path1, path2))
        !           499: #endif
        !           500: 
        !           501: 
        !           502: #if @GNULIB_LSEEK@
        !           503: # if @REPLACE_LSEEK@
        !           504: /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
        !           505:    Return the new offset if successful, otherwise -1 and errno set.
        !           506:    See the POSIX:2001 specification
        !           507:    <http://www.opengroup.org/susv3xsh/lseek.html>.  */
        !           508: #  define lseek rpl_lseek
        !           509:    extern off_t lseek (int fd, off_t offset, int whence);
        !           510: # endif
        !           511: #elif defined GNULIB_POSIXCHECK
        !           512: # undef lseek
        !           513: # define lseek(f,o,w) \
        !           514:     (GL_LINK_WARNING ("lseek does not fail with ESPIPE on pipes on some " \
        !           515:                       "systems - use gnulib module lseek for portability"), \
        !           516:      lseek (f, o, w))
        !           517: #endif
        !           518: 
        !           519: 
        !           520: #if @GNULIB_READLINK@
        !           521: /* Read the contents of the symbolic link FILE and place the first BUFSIZE
        !           522:    bytes of it into BUF.  Return the number of bytes placed into BUF if
        !           523:    successful, otherwise -1 and errno set.
        !           524:    See the POSIX:2001 specification
        !           525:    <http://www.opengroup.org/susv3xsh/readlink.html>.  */
        !           526: # if !@HAVE_READLINK@
        !           527: #  include <stddef.h>
        !           528: extern int readlink (const char *file, char *buf, size_t bufsize);
        !           529: # endif
        !           530: #elif defined GNULIB_POSIXCHECK
        !           531: # undef readlink
        !           532: # define readlink(f,b,s) \
        !           533:     (GL_LINK_WARNING ("readlink is unportable - " \
        !           534:                       "use gnulib module readlink for portability"), \
        !           535:      readlink (f, b, s))
        !           536: #endif
        !           537: 
        !           538: 
        !           539: #if @GNULIB_SLEEP@
        !           540: /* Pause the execution of the current thread for N seconds.
        !           541:    Returns the number of seconds left to sleep.
        !           542:    See the POSIX:2001 specification
        !           543:    <http://www.opengroup.org/susv3xsh/sleep.html>.  */
        !           544: # if !@HAVE_SLEEP@
        !           545: extern unsigned int sleep (unsigned int n);
        !           546: # endif
        !           547: #elif defined GNULIB_POSIXCHECK
        !           548: # undef sleep
        !           549: # define sleep(n) \
        !           550:     (GL_LINK_WARNING ("sleep is unportable - " \
        !           551:                       "use gnulib module sleep for portability"), \
        !           552:      sleep (n))
        !           553: #endif
        !           554: 
        !           555: 
        !           556: #if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@
        !           557: /* Write up to COUNT bytes starting at BUF to file descriptor FD.
        !           558:    See the POSIX:2001 specification
        !           559:    <http://www.opengroup.org/susv3xsh/write.html>.  */
        !           560: # undef write
        !           561: # define write rpl_write
        !           562: extern ssize_t write (int fd, const void *buf, size_t count);
        !           563: #endif
        !           564: 
        !           565: 
        !           566: #ifdef FCHDIR_REPLACEMENT
        !           567: /* gnulib internal function.  */
        !           568: extern void _gl_unregister_fd (int fd);
        !           569: #endif
        !           570: 
        !           571: 
        !           572: #ifdef __cplusplus
        !           573: }
        !           574: #endif
        !           575: 
        !           576: 
        !           577: #endif /* _GL_UNISTD_H */
        !           578: #endif /* _GL_UNISTD_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>