Print this page
Build fixes.
code review feeback, close open comment
Ensured various XPG7 stuff are declared properly in sys/stat.h (and cleanup)
New documentation for wcslen, wcsnlen, wcscasecmp (and friends), wcsdup.
Various other tweaks and markup improvements.
first round of POSIX 2008 stuff

*** 18,27 **** --- 18,28 ---- * * CDDL HEADER END */ /* + * Copyright 2014 Garrett D'Amore <garrett@damore.org> * Copyright (c) 2013 Gary Mills * * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. */
*** 46,61 **** #define R_OK 4 /* Test for Read permission */ #define W_OK 2 /* Test for Write permission */ #define X_OK 1 /* Test for eXecute permission */ #define F_OK 0 /* Test for existence of File */ ! #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) #define F_ULOCK 0 /* Unlock a previously locked region */ #define F_LOCK 1 /* Lock a region for exclusive use */ #define F_TLOCK 2 /* Test and lock a region for exclusive use */ #define F_TEST 3 /* Test a region for other processes locks */ ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ /* Symbolic constants for the "lseek" routine: */ #ifndef SEEK_SET #define SEEK_SET 0 /* Set file pointer to "offset" */ --- 47,62 ---- #define R_OK 4 /* Test for Read permission */ #define W_OK 2 /* Test for Write permission */ #define X_OK 1 /* Test for eXecute permission */ #define F_OK 0 /* Test for existence of File */ ! #if defined(_XPG4_2) || !defined(_STRICT_SYMBOLS) #define F_ULOCK 0 /* Unlock a previously locked region */ #define F_LOCK 1 /* Lock a region for exclusive use */ #define F_TLOCK 2 /* Test and lock a region for exclusive use */ #define F_TEST 3 /* Test a region for other processes locks */ ! #endif /* Symbolic constants for the "lseek" routine: */ #ifndef SEEK_SET #define SEEK_SET 0 /* Set file pointer to "offset" */
*** 67,91 **** #ifndef SEEK_END #define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ #endif ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) #ifndef SEEK_DATA #define SEEK_DATA 3 /* Set file pointer to next data past offset */ #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 /* Set file pointer to next hole past offset */ #endif ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) /* Path names: */ #define GF_PATH "/etc/group" /* Path name of the "group" file */ #define PF_PATH "/etc/passwd" /* Path name of the "passwd" file */ ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ /* * compile-time symbolic constants, * Support does not mean the feature is enabled. * Use pathconf/sysconf to obtain actual configuration value. --- 68,92 ---- #ifndef SEEK_END #define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ #endif ! #if !defined(_STRICT_SYMBOLS) #ifndef SEEK_DATA #define SEEK_DATA 3 /* Set file pointer to next data past offset */ #endif #ifndef SEEK_HOLE #define SEEK_HOLE 4 /* Set file pointer to next hole past offset */ #endif ! #endif /* !defined(_STRICT_SYMBOLS) */ ! #if !defined(_STRICT_SYMBOLS) /* Path names: */ #define GF_PATH "/etc/group" /* Path name of the "group" file */ #define PF_PATH "/etc/passwd" /* Path name of the "passwd" file */ ! #endif /* * compile-time symbolic constants, * Support does not mean the feature is enabled. * Use pathconf/sysconf to obtain actual configuration value.
*** 239,357 **** #define lockf64 lockf #define tell64 tell #endif /* __PRAGMA_REDEFINE_EXTNAME */ #endif /* _LP64 && _LARGEFILE64_SOURCE */ - #if defined(__STDC__) - extern int access(const char *, int); #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int acct(const char *); #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ extern unsigned alarm(unsigned); /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ ! #if !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2) && !defined(_XPG6)) || \ ! defined(__EXTENSIONS__) extern int brk(void *); ! #endif /* !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2)... */ extern int chdir(const char *); extern int chown(const char *, uid_t, gid_t); /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ ! #if !defined(_POSIX_C_SOURCE) || (defined(_XOPEN_SOURCE) && \ ! !defined(_XPG6)) || defined(__EXTENSIONS__) extern int chroot(const char *); ! #endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE))... */ extern int close(int); #if defined(_XPG4) || defined(__EXTENSIONS__) extern size_t confstr(int, char *, size_t); extern char *crypt(const char *, const char *); ! #endif /* defined(_XPG4) || defined(__EXTENSIONS__) */ #if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ defined(__EXTENSIONS__) extern char *ctermid(char *); ! #endif /* (!defined(_POSIX_C_SOURCE) ... */ #if !defined(__XOPEN_OR_POSIX) || defined(_REENTRANT) || defined(__EXTENSIONS__) extern char *ctermid_r(char *); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(_REENTRANT) ... */ /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ #if !defined(_XPG6) || defined(__EXTENSIONS__) extern char *cuserid(char *); #endif extern int dup(int); extern int dup2(int, int); extern int dup3(int, int, int); ! #if defined(_XPG4) || defined(__EXTENSIONS__) ! extern void encrypt(char *, int); ! #endif /* defined(XPG4) || defined(__EXTENSIONS__) */ ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) ! extern void endusershell(void); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ extern int execl(const char *, const char *, ...); extern int execle(const char *, const char *, ...); extern int execlp(const char *, const char *, ...); extern int execv(const char *, char *const *); extern int execve(const char *, char *const *, char *const *); extern int execvp(const char *, char *const *); extern void _exit(int) __NORETURN; /* ! * The following fattach prototype is duplicated in <stropts.h>. The ! * duplication is necessitated by XPG4.2 which requires the prototype * be defined in <stropts.h>. */ #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int fattach(int, const char *); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern int fchdir(int); - extern int fchown(int, uid_t, gid_t); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int fchroot(int); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE > 2) || \ - defined(__EXTENSIONS__) - extern int fdatasync(int); - #endif /* !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE > 2)... */ - /* - * The following fdetach prototype is duplicated in <stropts.h>. The - * duplication is necessitated by XPG4.2 which requires the prototype - * be defined in <stropts.h>. - */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int fdetach(const char *); ! #endif /* !defined(__XOPEN_OR_POSIX)... */ extern pid_t fork(void); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern pid_t fork1(void); - extern pid_t forkall(void); - #endif /* !defined(__XOPEN_OR_POSIX)... */ extern long fpathconf(int, int); ! #if !defined(_POSIX_C_SOURCE) || (_POSIX_C_SOURCE > 2) || \ ! defined(__EXTENSIONS__) ! extern int fsync(int); ! #endif /* !defined(_POSIX_C_SOURCE) || (_POSIX_C_SOURCE > 2)... */ #if !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE > 2) || defined(_XPG4_2) || \ (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ defined(__EXTENSIONS__) extern int ftruncate(int, off_t); - #endif /* !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE > 2)... */ - extern char *getcwd(char *, size_t); - #if !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2) && !defined(_XPG6)) || \ - defined(__EXTENSIONS__) - extern int getdtablesize(void); #endif extern gid_t getegid(void); extern uid_t geteuid(void); extern gid_t getgid(void); extern int getgroups(int, gid_t *); ! #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) extern long gethostid(void); #endif #if defined(_XPG4_2) extern int gethostname(char *, size_t); ! #elif !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int gethostname(char *, int); #endif #ifndef __GETLOGIN_DEFINED /* Avoid duplicate in stdlib.h */ #define __GETLOGIN_DEFINED --- 240,343 ---- #define lockf64 lockf #define tell64 tell #endif /* __PRAGMA_REDEFINE_EXTNAME */ #endif /* _LP64 && _LARGEFILE64_SOURCE */ extern int access(const char *, int); #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int acct(const char *); #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ extern unsigned alarm(unsigned); + /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ ! #if (!defined(_STRICT_SYMBOLS)) || (defined(_XPG4_2) && !defined(_XPG6)) extern int brk(void *); ! extern void *sbrk(intptr_t); ! #endif ! extern int chdir(const char *); extern int chown(const char *, uid_t, gid_t); + /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ ! #if (!defined(_STRICT_SYMBOLS)) || (defined(_XOPEN_SOURCE) && !defined(_XPG6)) extern int chroot(const char *); ! #endif ! extern int close(int); + #if defined(_XPG4) || defined(__EXTENSIONS__) extern size_t confstr(int, char *, size_t); extern char *crypt(const char *, const char *); ! extern void encrypt(char *, int); ! #endif ! #if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ defined(__EXTENSIONS__) extern char *ctermid(char *); ! #endif ! #if !defined(__XOPEN_OR_POSIX) || defined(_REENTRANT) || defined(__EXTENSIONS__) extern char *ctermid_r(char *); ! #endif ! /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ #if !defined(_XPG6) || defined(__EXTENSIONS__) extern char *cuserid(char *); #endif + extern int dup(int); extern int dup2(int, int); extern int dup3(int, int, int); ! extern int execl(const char *, const char *, ...); extern int execle(const char *, const char *, ...); extern int execlp(const char *, const char *, ...); extern int execv(const char *, char *const *); extern int execve(const char *, char *const *, char *const *); extern int execvp(const char *, char *const *); extern void _exit(int) __NORETURN; /* ! * The following fattach & fdetach prototypes are duplicated in <stropts.h>. ! * The duplication is necessitated by XPG4.2 which requires the prototype * be defined in <stropts.h>. */ #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int fattach(int, const char *); extern int fchroot(int); extern int fdetach(const char *); ! #endif ! ! #if !defined(_STRICT_SYMBOLS) || (_POSIX_C_SOURCE > 2) ! extern int fdatasync(int); ! extern int fsync(int); ! #endif ! extern pid_t fork(void); extern long fpathconf(int, int); ! #if !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE > 2) || defined(_XPG4_2) || \ (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ defined(__EXTENSIONS__) extern int ftruncate(int, off_t); #endif + + extern char *getcwd(char *, size_t); extern gid_t getegid(void); extern uid_t geteuid(void); extern gid_t getgid(void); extern int getgroups(int, gid_t *); ! ! #if (!defined(_STRICT_SYMBOLS)) || defined(_XPG4_2) ! extern int fchdir(int); ! extern int fchown(int, uid_t, gid_t); extern long gethostid(void); #endif + #if defined(_XPG4_2) extern int gethostname(char *, size_t); ! #elif !defined(_STRICT_SYMBOLS) extern int gethostname(char *, int); #endif #ifndef __GETLOGIN_DEFINED /* Avoid duplicate in stdlib.h */ #define __GETLOGIN_DEFINED
*** 373,420 **** /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ #if !defined(_XPG6) || defined(__EXTENSIONS__) extern char *getpass(const char *); #endif #endif /* defined(_XPG4) || defined(__EXTENSIONS__) */ ! #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ - #if !defined(_XPG6) || defined(__EXTENSIONS__) extern int getpagesize(void); #endif ! extern pid_t getpgid(pid_t); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ extern pid_t getpid(void); extern pid_t getppid(void); extern pid_t getpgrp(void); ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) ! char *gettxt(const char *, const char *); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ ! #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) extern pid_t getsid(pid_t); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ extern uid_t getuid(void); ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) ! extern char *getusershell(void); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ ! #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) ! extern char *getwd(char *); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ /* * The following ioctl prototype is duplicated in <stropts.h>. The * duplication is necessitated by XPG4.2 which requires the prototype * be defined in <stropts.h>. */ ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int ioctl(int, int, ...); extern int isaexec(const char *, char *const *, char *const *); extern int issetugid(void); #endif ! extern int isatty(int); ! #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) ! extern int lchown(const char *, uid_t, gid_t); ! #endif extern int link(const char *, const char *); #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern offset_t llseek(int, offset_t, int); #endif #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || \ --- 359,400 ---- /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ #if !defined(_XPG6) || defined(__EXTENSIONS__) extern char *getpass(const char *); #endif #endif /* defined(_XPG4) || defined(__EXTENSIONS__) */ ! ! #if (!defined(_STRICT_SYMBOLS)) || (defined(_XPG4_2) && !defined(_XPG6)) ! extern int getdtablesize(void); /* Marked as LEGACY in SUSv2 and removed in SUSv3 */ extern int getpagesize(void); #endif ! extern pid_t getpid(void); extern pid_t getppid(void); extern pid_t getpgrp(void); ! #if !defined(_STRICT_SYMBOLS) || defined(_XPG4_2) ! extern pid_t getpgid(pid_t); extern pid_t getsid(pid_t); ! extern int lchown(const char *, uid_t, gid_t); ! #endif ! extern uid_t getuid(void); ! extern int isatty(int); ! /* * The following ioctl prototype is duplicated in <stropts.h>. The * duplication is necessitated by XPG4.2 which requires the prototype * be defined in <stropts.h>. */ ! #if !defined(_STRICT_SYMBOLS) extern int ioctl(int, int, ...); extern int isaexec(const char *, char *const *, char *const *); extern int issetugid(void); #endif ! ! extern int link(const char *, const char *); #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern offset_t llseek(int, offset_t, int); #endif #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || \
*** 496,509 **** #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) /* per RFC 3542; This is also defined in netdb.h */ extern int rresvport_af(int *, int); #endif - #if !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2) && !defined(_XPG6)) || \ - defined(__EXTENSIONS__) - extern void *sbrk(intptr_t); - #endif /* !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2)... */ #if !defined(__XOPEN_OR_POSIX) || defined(_XPG6) || defined(__EXTENSIONS__) extern int setegid(gid_t); extern int seteuid(uid_t); #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG6) ... */ extern int setgid(gid_t); --- 476,485 ----
*** 517,537 **** extern int setregid(gid_t, gid_t); extern int setreuid(uid_t, uid_t); #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ extern pid_t setsid(void); extern int setuid(uid_t); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern void setusershell(void); - #endif /* !defined(__XOPEN_OR_POSIX)|| defined(__EXTENSIONS__) */ extern unsigned sleep(unsigned); ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int stime(const time_t *); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ #if defined(_XPG4) /* __EXTENSIONS__ makes the SVID Third Edition prototype in stdlib.h visible */ extern void swab(const void *_RESTRICT_KYWD, void *_RESTRICT_KYWD, ssize_t); #endif /* defined(_XPG4) */ #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) extern int symlink(const char *, const char *); extern void sync(void); #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) */ #if defined(_XPG5) && !defined(_XPG6) --- 493,519 ---- extern int setregid(gid_t, gid_t); extern int setreuid(uid_t, uid_t); #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ extern pid_t setsid(void); extern int setuid(uid_t); extern unsigned sleep(unsigned); ! ! #if !defined(_STRICT_SYMBOLS) ! extern char *gettxt(const char *, const char *); ! extern void endusershell(void); ! extern pid_t fork1(void); ! extern pid_t forkall(void); ! extern char *getusershell(void); ! extern void setusershell(void); extern int stime(const time_t *); ! #endif ! #if defined(_XPG4) /* __EXTENSIONS__ makes the SVID Third Edition prototype in stdlib.h visible */ extern void swab(const void *_RESTRICT_KYWD, void *_RESTRICT_KYWD, ssize_t); #endif /* defined(_XPG4) */ + #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) extern int symlink(const char *, const char *); extern void sync(void); #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) */ #if defined(_XPG5) && !defined(_XPG6)
*** 539,596 **** #pragma redefine_extname sysconf __sysconf_xpg5 #else /* __PRAGMA_REDEFINE_EXTNAME */ #define sysconf __sysconf_xpg5 #endif /* __PRAGMA_REDEFINE_EXTNAME */ #endif /* defined(_XPG5) && !defined(_XPG6) */ ! extern long sysconf(int); ! extern pid_t tcgetpgrp(int); ! extern int tcsetpgrp(int, pid_t); #if !defined(__XOPEN_OR_POSIX) || \ (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ defined(__EXTENSIONS__) extern off_t tell(int); ! #endif /* !defined(__XOPEN_OR_POSIX)... */ #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || \ (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ defined(__EXTENSIONS__) extern int truncate(const char *, off_t); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ extern char *ttyname(int); - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern useconds_t ualarm(useconds_t, useconds_t); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ extern int unlink(const char *); ! #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) extern int usleep(useconds_t); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) extern pid_t vfork(void) __RETURNS_TWICE; ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) ! extern void vhangup(void); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ ! extern ssize_t write(int, const void *, size_t); ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) ! extern void yield(void); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ ! #if !defined(__XOPEN_OR_POSIX) || defined(_ATFILE_SOURCE) || \ ! defined(__EXTENSIONS__) ! /* || defined(_XPG7) */ extern int faccessat(int, const char *, int, int); extern int fchownat(int, const char *, uid_t, gid_t, int); extern int linkat(int, const char *, int, const char *, int); extern ssize_t readlinkat(int, const char *_RESTRICT_KYWD, char *_RESTRICT_KYWD, size_t); extern int renameat(int, const char *, int, const char *); extern int symlinkat(const char *, int, const char *); extern int unlinkat(int, const char *, int); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(_ATFILE_SOURCE)... */ ! #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int get_nprocs(void); extern int get_nprocs_conf(void); ! #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ /* transitional large file interface versions */ #if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \ !defined(__PRAGMA_REDEFINE_EXTNAME)) extern int ftruncate64(int, off64_t); --- 521,575 ---- #pragma redefine_extname sysconf __sysconf_xpg5 #else /* __PRAGMA_REDEFINE_EXTNAME */ #define sysconf __sysconf_xpg5 #endif /* __PRAGMA_REDEFINE_EXTNAME */ #endif /* defined(_XPG5) && !defined(_XPG6) */ ! #if !defined(__XOPEN_OR_POSIX) || \ (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ defined(__EXTENSIONS__) extern off_t tell(int); ! #endif ! #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || \ (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ defined(__EXTENSIONS__) extern int truncate(const char *, off_t); ! #endif ! ! extern long sysconf(int); ! extern pid_t tcgetpgrp(int); ! extern int tcsetpgrp(int, pid_t); extern char *ttyname(int); extern int unlink(const char *); ! extern ssize_t write(int, const void *, size_t); ! ! #if (defined(_XPG4_2) && !defined(_XPG7)) || !defined(_STRICT_SYMBOLS) ! extern char *getwd(char *); ! extern useconds_t ualarm(useconds_t, useconds_t); extern int usleep(useconds_t); extern pid_t vfork(void) __RETURNS_TWICE; ! #pragma unknown_control_flow(vfork) ! #endif ! #if defined(_XPG7) || defined(_ATFILE_SOURCE) || !defined(_STRICT_SYMBOLS) extern int faccessat(int, const char *, int, int); extern int fchownat(int, const char *, uid_t, gid_t, int); extern int linkat(int, const char *, int, const char *, int); extern ssize_t readlinkat(int, const char *_RESTRICT_KYWD, char *_RESTRICT_KYWD, size_t); extern int renameat(int, const char *, int, const char *); extern int symlinkat(const char *, int, const char *); extern int unlinkat(int, const char *, int); ! #endif ! ! #if !defined(_STRICT_SYMBOLS) extern int get_nprocs(void); extern int get_nprocs_conf(void); ! extern void vhangup(void); ! extern void yield(void); ! #endif /* transitional large file interface versions */ #if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \ !defined(__PRAGMA_REDEFINE_EXTNAME)) extern int ftruncate64(int, off64_t);
*** 600,930 **** extern off64_t tell64(int); extern int truncate64(const char *, off64_t); extern int lockf64(int, int, off64_t); #endif /* _LARGEFILE64_SOURCE */ - #else /* __STDC__ */ - - extern int access(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int acct(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - extern unsigned alarm(); - #if !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2) && !defined(_XPG6)) || \ - defined(__EXTENSIONS__) - extern int brk(); - #endif /* !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2)... */ - extern int chdir(); - extern int chown(); - #if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ - defined(__EXTENSIONS__) - extern int chroot(); - #endif /* (!defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */ - extern int close(); - #if defined(_XPG4) || defined(__EXTENSIONS__) - extern size_t confstr(); - extern char *crypt(); - #endif /* defined(XPG4) || defined(__EXTENSIONS__) */ - #if !defined(_POSIX_C_SOURCE) || defined(_XPG3) || defined(__EXTENSIONS__) - extern char *ctermid(); - #endif /* (!defined(_POSIX_C_SOURCE) || defined(_XPG3)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(_REENTRANT) || defined(__EXTENSIONS__) - extern char *ctermid_r(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_REENTRANT) ... */ - #if !defined(_XPG6) || defined(__EXTENSIONS__) - extern char *cuserid(); - #endif - extern int dup(); - extern int dup2(); - extern int dup3(); - #if defined(_XPG4) || defined(__EXTENSIONS__) - extern void encrypt(); - #endif /* defined(_XPG4) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern void endusershell(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - extern int execl(); - extern int execle(); - extern int execlp(); - extern int execv(); - extern int execve(); - extern int execvp(); - extern void _exit(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int fattach(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern int fchdir(); - extern int fchown(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int fchroot(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE > 2) || \ - defined(__EXTENSIONS__) - extern int fdatasync(); - #endif /* !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE > 2)... */ - #if !defined(__XOPEN_OR_POSIX) - extern int fdetach(); - #endif /* !defined(__XOPEN_OR_POSIX) */ - extern pid_t fork(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern pid_t fork1(); - extern pid_t forkall(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - extern long fpathconf(); - #if !defined(_POSIX_C_SOURCE) || (_POSIX_C_SOURCE > 2) || \ - defined(__EXTENSIONS__) - extern int fsync(); - #endif /* !defined(_POSIX_C_SOURCE) || (_POSIX_C_SOURCE > 2)... */ - #if !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE > 2) || defined(_XPG4_2) || \ - (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ - defined(__EXTENSIONS__) - extern int ftruncate(); - #endif /* !defined(__XOPEN_OR_POSIX) (_POSIX_C_SOURCE > 2)... */ - extern char *getcwd(); - #if !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2) && !defined(_XPG6)) || \ - defined(__EXTENSIONS__) - extern int getdtablesize(); - #endif - extern gid_t getegid(); - extern uid_t geteuid(); - extern gid_t getgid(); - extern int getgroups(); - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern long gethostid(); - #endif - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern int gethostname(); - #endif - - #ifndef __GETLOGIN_DEFINED /* Avoid duplicate in stdlib.h */ - #define __GETLOGIN_DEFINED - #ifndef __USE_LEGACY_LOGNAME__ - #ifdef __PRAGMA_REDEFINE_EXTNAME - #pragma redefine_extname getlogin getloginx - #else /* __PRAGMA_REDEFINE_EXTNAME */ - extern char *getloginx(); - #define getlogin getloginx - #endif /* __PRAGMA_REDEFINE_EXTNAME */ - #endif /* __USE_LEGACY_LOGNAME__ */ - extern char *getlogin(); - #endif /* __GETLOGIN_DEFINED */ - - #if defined(_XPG4) || defined(__EXTENSIONS__) - extern int getopt(); - extern char *optarg; - extern int opterr, optind, optopt; - #if !defined(_XPG6) || defined(__EXTENSIONS__) - extern char *getpass(); - #endif - #endif /* defined(_XPG4) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - #if !defined(_XPG6) || defined(__EXTENSIONS__) - extern int getpagesize(); - #endif - extern pid_t getpgid(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - extern pid_t getpid(); - extern pid_t getppid(); - extern pid_t getpgrp(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - char *gettxt(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern pid_t getsid(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) */ - extern uid_t getuid(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern char *getusershell(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern char *getwd(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int ioctl(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int isaexec(); - extern int issetugid(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - extern int isatty(); - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern int lchown(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) */ - extern int link(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern offset_t llseek(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || \ - (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ - defined(__EXTENSIONS__) - extern int lockf(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - extern off_t lseek(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int mincore(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ - defined(__EXTENSIONS__) - extern int nice(); - #endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */ - extern long pathconf(); - extern int pause(); - extern int pipe(); - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG5) || \ - (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ - defined(__EXTENSIONS__) - extern ssize_t pread(); - #endif - #if !defined(_LP64) && \ - (!defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)) - extern void profil(); - extern int ptrace(); - #endif - #if !defined(__XOPEN_OR_POSIX) || \ - ((_POSIX_C_SOURCE > 2) && !defined(_XPG6)) || \ - defined(__EXTENSIONS__) - extern int pthread_atfork(); - #endif /* !defined(__XOPEN_OR_POSIX) || ((_POSIX_C_SOURCE > 2) ... */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG5) || \ - (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ - defined(__EXTENSIONS__) - extern ssize_t pwrite(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG5) */ - extern ssize_t read(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - /* per RFC 3542; This is also defined in netdb.h */ - extern int rcmd_af(); - #endif - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern ssize_t readlink(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - #if (!defined(__XOPEN_OR_POSIX) || (defined(_XPG3) && !defined(_XPG4))) || \ - defined(__EXTENSIONS__) - extern int rename(); - #endif /* (!defined(__XOPEN_OR_POSIX) || (defined(_XPG3)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int resolvepath(); - /* per RFC 3542; This is also defined in netdb.h */ - extern int rexec_af(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - extern int rmdir(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - /* per RFC 3542; This is also defined in netdb.h */ - extern int rresvport_af(); - #endif - #if !defined(__XOPEN_OR_POSIX) || (defined(_XPG4_2) && !defined(_XPG6)) || \ - defined(__EXTENSIONS__) - extern void *sbrk(); - #endif /* !defined(__XOPEN_OR_POSIX)|| (defined(_XPG4_2)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG6) || defined(__EXTENSIONS__) - extern int setegid(); - extern int seteuid(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG6) ... */ - extern int setgid(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int setgroups(); - extern int sethostname(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - extern int setpgid(); - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern pid_t setpgrp(); - extern int setregid(); - extern int setreuid(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - extern pid_t setsid(); - extern int setuid(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern void setusershell(); - #endif /* !defined(__XOPEN_OR_POSIX)|| defined(__EXTENSIONS__) */ - extern unsigned sleep(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int stime(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - #if defined(_XPG4) - /* __EXTENSIONS__ makes the SVID Third Edition prototype in stdlib.h visible */ - extern void swab(); - #endif /* defined(_XPG4) */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern int symlink(); - extern void sync(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - #if defined(_XPG5) - #ifdef __PRAGMA_REDEFINE_EXTNAME - #pragma redefine_extname sysconf __sysconf_xpg5 - extern long sysconf(); - #else /* __PRAGMA_REDEFINE_EXTNAME */ - extern long __sysconf_xpg5(); - #define sysconf __sysconf_xpg5 - #endif /* __PRAGMA_REDEFINE_EXTNAME */ - #endif /* defined(_XPG5) */ - extern pid_t tcgetpgrp(); - extern int tcsetpgrp(); - #if !defined(__XOPEN_OR_POSIX) || \ - (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ - defined(__EXTENSIONS__) - extern off_t tell(); - #endif /* !defined(__XOPEN_OR_POSIX)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || \ - (defined(_LARGEFILE_SOURCE) && _FILE_OFFSET_BITS == 64) || \ - defined(__EXTENSIONS__) - extern int truncate(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - extern char *ttyname(); - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern useconds_t ualarm(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - extern int unlink(); - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern int usleep(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - extern pid_t vfork(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern void vhangup(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - extern ssize_t write(); - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern void yield(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - - #if !defined(__XOPEN_OR_POSIX) || defined(_ATFILE_SOURCE) || \ - defined(__EXTENSIONS__) - /* || defined(_XPG7) */ - extern int faccessat(); - extern int fchownat(); - extern int linkat(); - extern ssize_t readlinkat(); - extern int renameat(); - extern int symlinkat(); - extern int unlinkat(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_ATFILE_SOURCE)... */ - #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) - extern int get_nprocs(); - extern int get_nprocs_conf(); - #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ - - /* transitional large file interface versions */ - #if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \ - !defined(__PRAGMA_REDEFINE_EXTNAME)) - extern int ftruncate64(); - extern off64_t lseek64(); - extern ssize_t pread64(); - extern ssize_t pwrite64(); - extern off64_t tell64(); - extern int truncate64(); - extern int lockf64(); - #endif /* _LARGEFILE64_SOURCE */ - - #endif /* __STDC__ */ - - #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) - #pragma unknown_control_flow(vfork) - #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2)... */ - /* * getlogin_r() & ttyname_r() prototypes are defined here. */ /* --- 579,588 ----
*** 961,972 **** #if defined(__EXTENSIONS__) || defined(_REENTRANT) || \ !defined(__XOPEN_OR_POSIX) || (_POSIX_C_SOURCE - 0 >= 199506L) || \ defined(_POSIX_PTHREAD_SEMANTICS) - #if defined(__STDC__) - #if (_POSIX_C_SOURCE - 0 >= 199506L) || defined(_POSIX_PTHREAD_SEMANTICS) #ifndef __USE_LEGACY_LOGNAME__ #ifdef __PRAGMA_REDEFINE_EXTNAME #pragma redefine_extname getlogin_r __posix_getloginx_r --- 619,628 ----
*** 1033,1119 **** extern char *ttyname_r(int, char *, int); #endif /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */ - #else /* __STDC__ */ - - #if (_POSIX_C_SOURCE - 0 >= 199506L) || defined(_POSIX_PTHREAD_SEMANTICS) - - #ifndef __USE_LEGACY_LOGNAME__ - #ifdef __PRAGMA_REDEFINE_EXTNAME - #pragma redefine_extname getlogin_r __posix_getloginx_r - extern int getlogin_r(); - #else /* __PRAGMA_REDEFINE_EXTNAME */ - extern int __posix_getloginx_r(); - #define getlogin_r __posix_getloginx_r - #endif /* __PRAGMA_REDEFINE_EXTNAME */ - #else /* __USE_LEGACY_LOGNAME__ */ - #ifdef __PRAGMA_REDEFINE_EXTNAME - #pragma redefine_extname getlogin_r __posix_getlogin_r - extern int getlogin_r(); - #else /* __PRAGMA_REDEFINE_EXTNAME */ - extern int __posix_getlogin_r(); - - #ifdef __lint - - #define getlogin_r __posix_getlogin_r - - #else /* !__lint */ - - static int - getlogin_r(__name, __len) - char *__name; - int __len; - { - return (__posix_getlogin_r(__name, __len)); - } - #endif /* !__lint */ - #endif /* __PRAGMA_REDEFINE_EXTNAME */ - #endif /* __USE_LEGACY_LOGNAME__ */ - - #ifdef __PRAGMA_REDEFINE_EXTNAME - #pragma redefine_extname ttyname_r __posix_ttyname_r - extern int ttyname_r(); - #else /* __PRAGMA_REDEFINE_EXTNAME */ - - extern int __posix_ttyname_r(); - - #ifdef __lint - - #define ttyname_r __posix_ttyname_r - - #else /* !__lint */ - - ttyname_r(__fildes, __buf, __size) - int __fildes; - char *__buf; - size_t __size; - { - return (__posix_ttyname_r(__fildes, __buf, __size)); - } - #endif /* !__lint */ - #endif /* __PRAGMA_REDEFINE_EXTNAME */ - - #else /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */ - - #ifndef __USE_LEGACY_LOGNAME__ - #ifdef __PRAGMA_REDEFINE_EXTNAME - #pragma redefine_extname getlogin_r getloginx_r - #else /* __PRAGMA_REDEFINE_EXTNAME */ - extern char *getloginx_r(); - #define getlogin_r getloginx_r - #endif /* __PRAGMA_REDEFINE_EXTNAME */ - #endif /* __USE_LEGACY_LOGNAME__ */ - extern char *getlogin_r(); - - extern char *ttyname_r(); - - #endif /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */ - - #endif /* __STDC__ */ - #endif /* defined(__EXTENSIONS__) || defined(_REENTRANT)... */ #ifdef __cplusplus } #endif --- 689,698 ----