1*58163Selan #ifndef _G_unistd_h
2*58163Selan #define _G_unistd_h 1
3*58163Selan 
4*58163Selan #include <_G_config.h>
5*58163Selan 
6*58163Selan extern "C" {
7*58163Selan 
8*58163Selan #if _G_HAVE_UNISTD
9*58163Selan #ifndef _G_USE_PROTOS
10*58163Selan #define chmod __hide_chmod
11*58163Selan #define chown __hide_chown
12*58163Selan #define execl __hide_execl
13*58163Selan #define execlp __hide_execlp
14*58163Selan #define execle __hide_execle
15*58163Selan #define fchown __hide_fchown
16*58163Selan #define ioctl __hide_ioctl
17*58163Selan #define setgid __hide_setgid
18*58163Selan #define setuid __hide_setuid
19*58163Selan #endif
20*58163Selan #ifdef _AIX
21*58163Selan // AIX's unistd.h defines int rename (const char *old, const char *new).
22*58163Selan // This is not legal ANSI.  It causes a C++ syntax error (because of 'new').
23*58163Selan #define new __new
24*58163Selan #endif
25*58163Selan #include_next <unistd.h>
26*58163Selan #ifdef _AIX
27*58163Selan #undef new
28*58163Selan #endif
29*58163Selan #ifndef _G_USE_PROTOS
30*58163Selan #undef chmod
31*58163Selan #undef chown
32*58163Selan #undef execl
33*58163Selan #undef execle
34*58163Selan #undef execlp
35*58163Selan #undef fchown
36*58163Selan #undef ioctl
37*58163Selan #undef setgid
38*58163Selan #undef setuid
39*58163Selan #endif
40*58163Selan #else
41*58163Selan #ifndef SEEK_SET
42*58163Selan #define SEEK_SET        0
43*58163Selan #define SEEK_CUR        1
44*58163Selan #define SEEK_END        2
45*58163Selan #endif
46*58163Selan 
47*58163Selan #ifndef F_OK
48*58163Selan #define F_OK            0
49*58163Selan #endif
50*58163Selan #ifndef X_OK
51*58163Selan #define X_OK            1
52*58163Selan #endif
53*58163Selan #ifndef W_OK
54*58163Selan #define W_OK            2
55*58163Selan #endif
56*58163Selan #ifndef R_K
57*58163Selan #define R_OK            4
58*58163Selan #endif
59*58163Selan #endif
60*58163Selan 
61*58163Selan #ifdef __GNUG__
62*58163Selan extern void volatile _exit(int);
63*58163Selan #else
64*58163Selan void _exit(int);
65*58163Selan #endif
66*58163Selan 
67*58163Selan extern unsigned alarm _G_ARGS((unsigned));
68*58163Selan extern int      brk _G_ARGS((void*));
69*58163Selan extern int      chdir _G_ARGS((const char*));
70*58163Selan extern int      chmod  _G_ARGS((const char*, _G_mode_t));
71*58163Selan extern int      chown (const char*, _G_uid_t, _G_gid_t);
72*58163Selan extern int      close _G_ARGS((int));
73*58163Selan extern char*    crypt _G_ARGS((const char*, const char*));
74*58163Selan extern int      dup _G_ARGS((int));
75*58163Selan extern int      dup2 _G_ARGS((int, int));
76*58163Selan extern void	encrypt _G_ARGS((char*, int));
77*58163Selan extern int      execl (const char*, const char *, ...);
78*58163Selan extern int      execle (const char*, const char *, ...);
79*58163Selan extern int      execlp (const char*, const char*, ...);
80*58163Selan extern int      exect _G_ARGS((const char*,  const char**,  char**));
81*58163Selan extern int      execv _G_ARGS((const char*,  const char * const *));
82*58163Selan extern int      execve _G_ARGS((const char*, const char * const *, const char * const *));
83*58163Selan extern int      execvp _G_ARGS((const char*,  const char * const *));
84*58163Selan extern int      fchown (int, _G_uid_t, _G_gid_t);
85*58163Selan extern _G_pid_t fork _G_ARGS((void));
86*58163Selan extern int      fsync _G_ARGS((int));
87*58163Selan extern int      ftruncate _G_ARGS((int, _G_off_t));
88*58163Selan extern char*    getcwd _G_ARGS((char*, _G_size_t));
89*58163Selan extern int      getdomainname _G_ARGS((char*, int));
90*58163Selan extern int      getdtablesize _G_ARGS((void));
91*58163Selan extern int      getgroups _G_ARGS((int, _G_gid_t*));
92*58163Selan extern _G_uid_t geteuid _G_ARGS((void));
93*58163Selan extern _G_gid_t getegid _G_ARGS((void));
94*58163Selan extern _G_gid_t getgid _G_ARGS((void));
95*58163Selan extern long     gethostid _G_ARGS((void));
96*58163Selan extern int      gethostname _G_ARGS((char*, int));
97*58163Selan extern _G_pid_t getpgrp _G_ARGS((...));
98*58163Selan extern _G_pid_t getpid _G_ARGS((void));
99*58163Selan extern _G_pid_t getppid _G_ARGS((void));
100*58163Selan extern char*    getlogin _G_ARGS((void));
101*58163Selan extern char*    getpass _G_ARGS((const char*));
102*58163Selan extern _G_uid_t getuid _G_ARGS((void));
103*58163Selan extern int      ioctl (int, int, ... );
104*58163Selan extern int      isatty _G_ARGS((int));
105*58163Selan extern int      link _G_ARGS((const char*, const char*));
106*58163Selan extern int      mkstemp _G_ARGS((char*));
107*58163Selan extern char*    mktemp _G_ARGS((char*));
108*58163Selan extern int      nice _G_ARGS((int));
109*58163Selan extern int      pause _G_ARGS((void));
110*58163Selan extern int      pipe _G_ARGS((int*));
111*58163Selan extern int      readlink _G_ARGS((const char*, char*, int));
112*58163Selan extern int      rename _G_ARGS((const char*, const char*));
113*58163Selan extern int      rmdir _G_ARGS((const char*));
114*58163Selan #ifdef __OSF1__
115*58163Selan extern char*	sbrk _G_ARGS((int));
116*58163Selan #else
117*58163Selan extern void*    sbrk _G_ARGS((int));
118*58163Selan #endif
119*58163Selan extern int      syscall _G_ARGS((int, ...));
120*58163Selan extern int      setgid (_G_gid_t);
121*58163Selan extern int      sethostname _G_ARGS((const char*, int));
122*58163Selan #ifdef _G_SYSV
123*58163Selan extern _G_pid_t setpgrp _G_ARGS((void));
124*58163Selan extern _G_pid_t setsid _G_ARGS((void));
125*58163Selan #else
126*58163Selan extern _G_pid_t setpgrp _G_ARGS((_G_pid_t, _G_pid_t));
127*58163Selan #endif
128*58163Selan extern int      setregid _G_ARGS((int, int));
129*58163Selan extern int      setreuid _G_ARGS((int, int));
130*58163Selan extern int      setuid (_G_uid_t);
131*58163Selan extern unsigned sleep _G_ARGS((unsigned));
132*58163Selan extern void     swab _G_ARGS((void*, void*, int));
133*58163Selan extern int      symlink _G_ARGS((const char*, const char*));
134*58163Selan extern long     sysconf _G_ARGS((int));
135*58163Selan extern int      truncate _G_ARGS((const char*, _G_off_t));
136*58163Selan extern char*    ttyname _G_ARGS((int));
137*58163Selan extern int      ttyslot _G_ARGS((void));
138*58163Selan //extern int   umask _G_ARGS((int)); /* commented out for now; wrong for SunOs4.1 */
139*58163Selan extern int      unlink _G_ARGS((const char*));
140*58163Selan extern _G_pid_t vfork _G_ARGS((void));
141*58163Selan extern int      vadvise _G_ARGS((int));
142*58163Selan extern int      vhangup _G_ARGS((void));
143*58163Selan extern _G_off_t lseek _G_ARGS((int, long, int));
144*58163Selan extern _G_ssize_t read _G_ARGS((int, void*, _G_size_t));
145*58163Selan extern _G_ssize_t write _G_ARGS((int, const void*, _G_size_t));
146*58163Selan extern int      access _G_ARGS((const char*, int));
147*58163Selan #ifndef hpux
148*58163Selan extern int      flock _G_ARGS((int, int));
149*58163Selan #endif
150*58163Selan 
151*58163Selan }
152*58163Selan 
153*58163Selan #endif
154