158163Selan #ifndef _G_unistd_h
258163Selan #define _G_unistd_h 1
358163Selan 
458163Selan #include <_G_config.h>
558163Selan 
658163Selan extern "C" {
758163Selan 
858163Selan #if _G_HAVE_UNISTD
958163Selan #ifndef _G_USE_PROTOS
1058163Selan #define chmod __hide_chmod
1158163Selan #define chown __hide_chown
1258163Selan #define execl __hide_execl
1358163Selan #define execlp __hide_execlp
1458163Selan #define execle __hide_execle
1558163Selan #define fchown __hide_fchown
1658163Selan #define ioctl __hide_ioctl
1758163Selan #define setgid __hide_setgid
1858163Selan #define setuid __hide_setuid
1958163Selan #endif
2058163Selan #ifdef _AIX
2158163Selan // AIX's unistd.h defines int rename (const char *old, const char *new).
2258163Selan // This is not legal ANSI.  It causes a C++ syntax error (because of 'new').
2358163Selan #define new __new
2458163Selan #endif
2558163Selan #include_next <unistd.h>
2658163Selan #ifdef _AIX
2758163Selan #undef new
2858163Selan #endif
2958163Selan #ifndef _G_USE_PROTOS
3058163Selan #undef chmod
3158163Selan #undef chown
3258163Selan #undef execl
3358163Selan #undef execle
3458163Selan #undef execlp
3558163Selan #undef fchown
3658163Selan #undef ioctl
3758163Selan #undef setgid
3858163Selan #undef setuid
3958163Selan #endif
4058163Selan #else
4158163Selan #ifndef SEEK_SET
4258163Selan #define SEEK_SET        0
4358163Selan #define SEEK_CUR        1
4458163Selan #define SEEK_END        2
4558163Selan #endif
4658163Selan 
4758163Selan #ifndef F_OK
4858163Selan #define F_OK            0
4958163Selan #endif
5058163Selan #ifndef X_OK
5158163Selan #define X_OK            1
5258163Selan #endif
5358163Selan #ifndef W_OK
5458163Selan #define W_OK            2
5558163Selan #endif
5658163Selan #ifndef R_K
5758163Selan #define R_OK            4
5858163Selan #endif
5958163Selan #endif
6058163Selan 
6158163Selan #ifdef __GNUG__
6258163Selan extern void volatile _exit(int);
6358163Selan #else
6458163Selan void _exit(int);
6558163Selan #endif
6658163Selan 
6758163Selan extern unsigned alarm _G_ARGS((unsigned));
6860384Selan extern char    *brk _G_ARGS((const char *));
6958163Selan extern int      chdir _G_ARGS((const char*));
7058163Selan extern int      chmod  _G_ARGS((const char*, _G_mode_t));
7158163Selan extern int      chown (const char*, _G_uid_t, _G_gid_t);
7258163Selan extern int      close _G_ARGS((int));
7358163Selan extern char*    crypt _G_ARGS((const char*, const char*));
7458163Selan extern int      dup _G_ARGS((int));
7558163Selan extern int      dup2 _G_ARGS((int, int));
7660384Selan extern int	encrypt _G_ARGS((char*, int));
7758163Selan extern int      execl (const char*, const char *, ...);
7858163Selan extern int      execle (const char*, const char *, ...);
7958163Selan extern int      execlp (const char*, const char*, ...);
8060384Selan extern int      exect _G_ARGS((const char*, char * const *, char * const *));
8160384Selan extern int      execv _G_ARGS((const char*,  char * const *));
8260384Selan extern int      execve _G_ARGS((const char*, char * const *, char * const *));
8360384Selan extern int      execvp _G_ARGS((const char*,  char * const *));
8458163Selan extern int      fchown (int, _G_uid_t, _G_gid_t);
85*67664Sbostic extern pid_t	fork _G_ARGS((void));
8658163Selan extern int      fsync _G_ARGS((int));
8758163Selan extern int      ftruncate _G_ARGS((int, _G_off_t));
8858163Selan extern char*    getcwd _G_ARGS((char*, _G_size_t));
8958163Selan extern int      getdomainname _G_ARGS((char*, int));
9058163Selan extern int      getdtablesize _G_ARGS((void));
9165829Sbostic extern int      getgroups _G_ARGS((int, gid_t []));
92*67664Sbostic extern uid_t geteuid _G_ARGS((void));
93*67664Sbostic extern gid_t getegid _G_ARGS((void));
94*67664Sbostic extern gid_t getgid _G_ARGS((void));
9558163Selan extern long     gethostid _G_ARGS((void));
9658163Selan extern int      gethostname _G_ARGS((char*, int));
97*67664Sbostic extern pid_t getpgrp _G_ARGS((...));
98*67664Sbostic extern pid_t getpid _G_ARGS((void));
99*67664Sbostic extern pid_t getppid _G_ARGS((void));
10058163Selan extern char*    getlogin _G_ARGS((void));
10158163Selan extern char*    getpass _G_ARGS((const char*));
102*67664Sbostic extern uid_t getuid _G_ARGS((void));
10358163Selan extern int      ioctl (int, int, ... );
10458163Selan extern int      isatty _G_ARGS((int));
10558163Selan extern int      link _G_ARGS((const char*, const char*));
10658163Selan extern int      mkstemp _G_ARGS((char*));
10758163Selan extern char*    mktemp _G_ARGS((char*));
10858163Selan extern int      nice _G_ARGS((int));
10958163Selan extern int      pause _G_ARGS((void));
11058163Selan extern int      pipe _G_ARGS((int*));
11158163Selan extern int      readlink _G_ARGS((const char*, char*, int));
11258163Selan extern int      rename _G_ARGS((const char*, const char*));
11358163Selan extern int      rmdir _G_ARGS((const char*));
11458163Selan extern char*	sbrk _G_ARGS((int));
11558163Selan extern int      syscall _G_ARGS((int, ...));
116*67664Sbostic extern int      setgid (gid_t);
11758163Selan extern int      sethostname _G_ARGS((const char*, int));
118*67664Sbostic extern int	setpgrp _G_ARGS((pid_t, pid_t));
119*67664Sbostic extern int      setregid _G_ARGS((gid_t, gid_t));
120*67664Sbostic extern int      setreuid _G_ARGS((uid_t, uid_t));
121*67664Sbostic extern int      setuid (uid_t);
12258163Selan extern unsigned sleep _G_ARGS((unsigned));
12358163Selan extern void     swab _G_ARGS((void*, void*, int));
12458163Selan extern int      symlink _G_ARGS((const char*, const char*));
12558163Selan extern long     sysconf _G_ARGS((int));
126*67664Sbostic extern int      truncate _G_ARGS((const char*, off_t));
12758163Selan extern char*    ttyname _G_ARGS((int));
12858163Selan extern int      ttyslot _G_ARGS((void));
12958163Selan //extern int   umask _G_ARGS((int)); /* commented out for now; wrong for SunOs4.1 */
13058163Selan extern int      unlink _G_ARGS((const char*));
131*67664Sbostic extern pid_t	vfork _G_ARGS((void));
13258163Selan extern int      vadvise _G_ARGS((int));
13358163Selan extern int      vhangup _G_ARGS((void));
134*67664Sbostic extern off_t lseek _G_ARGS((int, long long, int));
13558163Selan extern _G_ssize_t read _G_ARGS((int, void*, _G_size_t));
13658163Selan extern _G_ssize_t write _G_ARGS((int, const void*, _G_size_t));
13758163Selan extern int      access _G_ARGS((const char*, int));
13858163Selan #ifndef hpux
13958163Selan extern int      flock _G_ARGS((int, int));
14058163Selan #endif
14158163Selan 
14258163Selan }
14358163Selan 
14458163Selan #endif
145