home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / update701 / root.18 / usr / include / unistd.h / unistd.h
Encoding:
C/C++ Source or Header  |  1998-08-18  |  8.5 KB  |  307 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. #ifndef _UNISTD_H
  12. #define _UNISTD_H
  13. #ident    "@(#)sgs-head:common/head/unistd.h    1.54"
  14.  
  15. #include <sys/types.h>
  16. #include <sys/unistd.h>
  17.  
  18. #ifndef _USECONDS_T
  19. #define _USECONDS_T
  20. typedef unsigned long useconds_t;
  21. #endif
  22.  
  23. #if !defined(_XOPEN_SOURCE) \
  24.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  25.  
  26. #define    GF_PATH    "/etc/group"    /* Path name of the "group" file */
  27. #define    PF_PATH    "/etc/passwd"    /* Path name of the "passwd" file */
  28.  
  29. #endif
  30.  
  31. #if defined(_XOPEN_SOURCE) && _XOPEN_SOURCE_EXTENDED - 0 >= 1 \
  32.     || _XOPEN_SOURCE - 0 >= 500 || !defined(_XOPEN_SOURCE) \
  33.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  34.  
  35. #define F_ULOCK    0    /* Unlock a previously locked region */
  36. #define F_LOCK    1    /* Lock a region for exclusive use */
  37. #define F_TLOCK    2    /* Test and lock a region for exclusive use */
  38. #define F_TEST    3    /* Test a region for other processes locks */
  39.  
  40. #endif /*defined(_XOPEN_SOURCE) && ...*/
  41.  
  42. #define _POSIX_JOB_CONTROL    1
  43. #define _POSIX_SAVED_IDS    1
  44.  
  45. #ifndef _POSIX_VDISABLE
  46. #define _POSIX_VDISABLE        0
  47. #endif
  48.  
  49. #ifndef    NULL
  50. #define NULL    0
  51. #endif
  52.  
  53. #define    STDIN_FILENO    0
  54. #define STDOUT_FILENO    1
  55. #define STDERR_FILENO    2
  56.  
  57. #define _XOPEN_UNIX    1
  58. #define _XOPEN_ENH_I18N        1
  59. #define _XOPEN_XPG4        1
  60. #define _POSIX2_C_VERSION    199209L
  61. #define _POSIX2_VERSION        199209L
  62. #define _XOPEN_XCU_VERSION    4
  63.  
  64. #define _POSIX_SEMAPHORES            1
  65. #define _POSIX_THREADS                1
  66. #define _POSIX_THREAD_ATTR_STACKADDR        1
  67. #define _POSIX_THREAD_ATTR_STACKSIZE        1
  68. #define _POSIX_THREAD_PRIORITY_SCHEDULING    1
  69. #define _POSIX_THREAD_PROCESS_SHARED        1
  70. #define _POSIX_THREAD_SAFE_FUNCTIONS        1
  71.  
  72. #define _POSIX2_C_BIND        1
  73. #define _POSIX2_CHAR_TERM    1
  74. #define _POSIX2_FORT_RUN    1
  75. #define _POSIX2_LOCALEDEF    1
  76. #define _POSIX2_UPE        1
  77.  
  78. #define _LFS_ASYNCHRONOUS_IO    1
  79. #define _LFS_LARGEFILE        1
  80. #define _LFS64_ASYNCHRONOUS_IO    1
  81. #define _LFS64_LARGEFILE    1
  82. #define _LFS64_STDIO        1
  83.  
  84. #ifdef __cplusplus
  85. extern "C" {
  86. #endif
  87.  
  88. extern int    access(const char *, int);
  89. extern unsigned    alarm(unsigned);
  90. extern int    chdir(const char *);
  91. extern int    chown(const char *, uid_t, gid_t);
  92. extern int    close(int);
  93. extern char    *cuserid(char *);
  94. extern int    dup(int);
  95. extern int    dup2(int, int);
  96. extern int    execl(const char *, const char *, ...);
  97. extern int    execle(const char *, const char *, ...);
  98. extern int    execlp(const char *, const char *, ...);
  99. extern int    execv(const char *, char *const *);
  100. extern int    execve(const char *, char *const *, char *const *);
  101. extern int    execvp(const char *, char *const *);
  102. extern void    _exit(int);
  103. extern pid_t    fork(void);
  104. extern long    fpathconf(int, int);
  105. extern char    *getcwd(char *, size_t);
  106. extern gid_t    getegid(void);
  107. extern uid_t    geteuid(void);
  108. extern gid_t    getgid(void);
  109. extern int    getgroups(int, gid_t *);
  110. extern char    *getlogin(void);
  111. extern pid_t    getpgrp(void);
  112. extern pid_t    getpid(void);
  113. extern pid_t    getppid(void);
  114. extern uid_t    getuid(void);
  115. extern int    isatty(int);
  116. extern int    link(const char *, const char *);
  117. extern n_off_t    lseek(int, n_off_t, int);
  118. extern long    pathconf(const char *, int);
  119. extern int    pause(void);
  120. extern int    pipe(int *);
  121. extern ssize_t    read(int, void *, size_t);
  122. extern int    rmdir(const char *);
  123. extern int    setgid(gid_t);
  124. extern int    setpgid(pid_t, pid_t);
  125. extern pid_t    setsid(void);
  126. extern int    setuid(uid_t);
  127. extern unsigned    sleep(unsigned);
  128. extern long    sysconf(int);
  129. extern pid_t    tcgetpgrp(int);
  130. extern int    tcsetpgrp(int, pid_t);
  131. extern char    *ttyname(int);
  132. extern int    unlink(const char *);
  133. extern ssize_t    write(int, const void *, size_t);
  134.  
  135. extern int    _xgetlogin_r(char *, size_t);
  136. extern int    _xttyname_r(int, char *, size_t);
  137.  
  138. #if defined(_XOPEN_SOURCE) || (_POSIX_C_SOURCE - 0 > 1) \
  139.     || !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  140.  
  141. extern size_t    confstr(int, char *, size_t);
  142. extern int    getopt(int, char *const*, const char *);
  143. extern char    *optarg;
  144. extern int    optind, opterr, optopt;
  145.  
  146. #endif
  147.  
  148. #if defined(_XOPEN_SOURCE) \
  149.     || !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  150.  
  151. extern int    chroot(const char *);
  152. extern char    *crypt(const char *, const char *);
  153. extern char    *ctermid(char *);    /* REALLY OKAY HERE? */
  154. extern void    encrypt(char *, int);
  155. extern int    fsync(int);
  156. extern char    *getpass(const char *);
  157. extern int    nice(int);
  158. extern void    swab(const void *, void *, ssize_t);
  159.  
  160. #endif
  161.  
  162. #if defined (_XOPEN_SOURCE) && _XOPEN_SOURCE_EXTENDED - 0 >= 1 \
  163.     || _XOPEN_SOURCE - 0 >= 500 || !defined(_XOPEN_SOURCE) \
  164.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  165.  
  166. extern int    brk(void *);
  167. extern int    fchown(int, uid_t, gid_t);
  168. extern int    fchdir(int);
  169. extern int    ftruncate(int, n_off_t);
  170. extern int    getdtablesize(void);
  171. extern long    gethostid(void);
  172. extern int    gethostname(char *, size_t);
  173. extern int    getpagesize(void);
  174. extern pid_t    getpgid(pid_t);
  175. extern pid_t    getsid(pid_t);
  176. extern char    *getwd(char *);
  177. extern int    lchown(const char *, uid_t, gid_t);
  178. extern int    lockf(int, int, long);
  179. extern int    readlink(const char *, char *, size_t);
  180. extern void    *sbrk(int);
  181. extern pid_t    setpgrp(void);
  182. extern int    setregid(gid_t, gid_t);
  183. extern int     setreuid(uid_t, uid_t);
  184. extern int    symlink(const char *, const char *);
  185. extern void    sync(void);
  186. extern int    truncate(const char *, n_off_t);
  187. extern useconds_t ualarm(useconds_t, useconds_t);
  188. extern int     usleep(useconds_t);
  189. extern pid_t    vfork(void);
  190.  
  191. #endif
  192.  
  193. #if _XOPEN_SOURCE - 0 >= 500 || _POSIX_C_SOURCE - 0 >= 199506 \
  194.     || defined(_SIMPLE_R) || !defined(_XOPEN_SOURCE) \
  195.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  196.  
  197. extern int    pthread_atfork(void (*)(void), void (*)(void), void (*)(void));
  198.  
  199. #ifdef _SIMPLE_R
  200.  
  201. extern char    *getlogin_r(char *, size_t);
  202. extern char    *ttyname_r(int, char *, size_t);
  203.  
  204. #elif defined(_EFTSAFE)
  205.  
  206. #undef getlogin_r
  207. #define getlogin_r(p,s)        _xgetlogin_r(p,s)
  208. #undef ttyame_r
  209. #define ttyname_r(f,p,s)    _xttyname_r(f,p,s)
  210.  
  211. #else
  212.  
  213. #ifndef _GETLOGIN_R
  214. #define _GETLOGIN_R
  215. static int
  216. getlogin_r(char *__1, size_t __2)
  217. {
  218.     return _xgetlogin_r(__1, __2);
  219. }
  220. #endif /*_GETLOGIN_R*/
  221.  
  222. #ifndef _TTYNAME_R
  223. #define _TTYNAME_R
  224. static int
  225. ttyname_r(int __1, char *__2, size_t __3)
  226. {
  227.     return _xttyname_r(__1, __2, __3);
  228. }
  229. #endif /*_TTYNAME_R*/
  230.  
  231. #endif /*_SIMPLE_R*/
  232.  
  233. #endif /*_XOPEN_SOURCE - 0 >= 500 || ...*/
  234.  
  235. #if defined(_LARGEFILE64_SOURCE) || defined(_FILE_OFFSET_BITS) \
  236.     || !defined(_XOPEN_SOURCE) && !defined(_POSIX_SOURCE) \
  237.         && !defined(_POSIX_C_SOURCE)
  238.  
  239. extern int    ftruncate32(int, off32_t);
  240. extern off32_t    lseek32(int, off32_t, int);
  241. extern ssize_t    pread32(int, void *, size_t, off32_t);
  242. extern ssize_t    pwrite32(int, const void *, size_t, off32_t);
  243. extern int    truncate32(const char *, off32_t);
  244.  
  245. extern int    ftruncate64(int, off64_t);
  246. extern off64_t    lseek64(int, off64_t, int);
  247. extern ssize_t    pread64(int, void *, size_t, off64_t);
  248. extern ssize_t    pwrite64(int, const void *, size_t, off64_t);
  249. extern int    truncate64(const char *, off64_t);
  250.  
  251. #endif
  252.  
  253. #if !defined(_XOPEN_SOURCE) \
  254.     && !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE)
  255.  
  256. extern int    acct(const char *);
  257. extern void    exit(int);
  258. extern int    fattach(int, const char *);
  259. extern int    fdetach(const char *);
  260. extern pid_t    fork1(void);
  261. extern pid_t    forkall(void);
  262. extern char    *getpass_r(const char *, char *, size_t);
  263. extern char    *gettxt(const char *, const char *);
  264. extern int    ioctl(int, int, ...);
  265. extern int    mincore(caddr_t, size_t, char *);
  266. extern ssize_t    pread(int, void *, size_t, n_off_t);
  267. extern void    profil(unsigned short *, unsigned, unsigned, unsigned);
  268. extern int    ptrace(int, pid_t, int, int);
  269. extern ssize_t    pwrite(int, const void *, size_t, n_off_t);
  270. extern int    rename(const char *, const char *);
  271. extern int    setgroups(int, const gid_t *);
  272. extern int    stime(const time_t *);
  273.  
  274. #endif /*!defined(_XOPEN_SOURCE) && ...*/
  275.  
  276. #if _FILE_OFFSET_BITS - 0 == 32
  277. #undef ftruncate
  278. #define ftruncate    ftruncate32
  279. #undef lseek
  280. #define lseek        lseek32
  281. #undef pread
  282. #define pread        pread32
  283. #undef pwrite
  284. #define pwrite        pwrite32
  285. #undef truncate
  286. #define truncate    truncate32
  287. #elif _FILE_OFFSET_BITS - 0 == 64
  288. #undef ftruncate
  289. #define ftruncate    ftruncate64
  290. #undef lseek
  291. #define lseek        lseek64
  292. #undef pread
  293. #define pread        pread64
  294. #undef pwrite
  295. #define pwrite        pwrite64
  296. #undef truncate
  297. #define truncate    truncate64
  298. #elif defined(_FILE_OFFSET_BITS)
  299. #error "_FILE_OFFSET_BITS, if defined, must be 32 or 64"
  300. #endif /*_FILE_OFFSET_BITS*/
  301.  
  302. #ifdef __cplusplus
  303. }
  304. #endif
  305.  
  306. #endif /*_UNISTD_H*/
  307.