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>