home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / OS2 / MAN11A.ZIP / src / include / unistd.h < prev   
C/C++ Source or Header  |  1993-12-01  |  8KB  |  349 lines

  1. #ifndef _UNISTD_H
  2. #define _UNISTD_H
  3.  
  4. /*  unistd.h  */
  5.  
  6. #include <sys/types.h>
  7. #include <sys/proto.h>
  8. #include <sys/null.h>
  9.  
  10. /*  for access(2)  */
  11.  
  12. #define R_OK         4
  13. #define W_OK         2
  14. #define X_OK         1
  15. #define F_OK         0
  16.  
  17. /*  for lockf()  */
  18.  
  19. #define F_ULOCK        0
  20. #define F_LOCK        1
  21. #define F_TLOCK        2
  22. #define F_TEST        3
  23.  
  24. /*  for lseek(2)  */
  25.  
  26. #ifndef SEEK_SET
  27. #define SEEK_SET    0
  28. #endif
  29.  
  30. #ifndef SEEK_CUR
  31. #define SEEK_CUR    1
  32. #endif
  33.  
  34. #ifndef SEEK_END
  35. #define SEEK_END    2
  36. #endif
  37.  
  38. /* STDIO definitions */
  39.  
  40. #define    STDIN_FILENO    0
  41. #define    STDOUT_FILENO    1
  42. #define    STDERR_FILENO    2
  43.  
  44. /* Standard paths */
  45.  
  46. #if defined (MSDOS) || defined (__OS2__)
  47. #define GF_PATH        "c:/etc/group"
  48. #define PF_PATH        "c:/etc/passwd"
  49. #define IF_PATH        "c:/include"
  50. #define SF_PATH        "c:/etc/shadow"
  51. #else
  52. #define GF_PATH        "/etc/group"
  53. #define PF_PATH        "/etc/passwd"
  54. #define IF_PATH        "/usr/include"
  55. #define SF_PATH        "/etc/shadow"
  56. #endif
  57.  
  58. /* POSIX definitions */
  59.  
  60. #define _POSIX_VERSION        198803L
  61. #undef    _POSIX_CHOWN_RESTRICTED
  62. #undef    _POSIX_JOB_CONTROL
  63. #define    _POSIX_NO_TRUNC        1
  64. #define _POSIX_SAVED_IDS    1
  65. #undef    _POSIX_VDISABLE
  66. /* #define _XOPEN_VERSION        */
  67.  
  68. /* sysconf values */
  69.  
  70. #define _SC_ARG_MAX        0
  71. #define _SC_CHILD_MAX        1
  72. #define _SC_CLK_TCK        2
  73. #define _SC_NGROUPS_MAX        3
  74. #define _SC_OPEN_MAX        4
  75. #define _SC_JOB_CONTROL        5
  76. #define _SC_SAVED_IDS        6
  77. #define _SC_VERSION        7
  78. #define _SC_PASS_MAX        8
  79. #define _SC_XOPEN_VERSION    9
  80.  
  81. /* pathconf values */
  82.  
  83. #define _PC_LINK_MAX        0
  84. #define _PC_MAX_CANON        1
  85. #define _PC_MAX_INPUT        2
  86. #define _PC_NAME_MAX        3
  87. #define _PC_PATH_MAX        4
  88. #define _PC_PIPE_BUF        5
  89. #define _PC_CHOWN_RESTRICTED    6
  90. #define _PC_NO_TRUNC        7
  91. #define _PC_VDISABLE        8
  92.  
  93. /* confstring values */
  94.  
  95. #define _CS_PATH        1
  96.  
  97. /* Function declarations */
  98.  
  99. extern size_t _FAR_ _CDECL    confstring _PROTO ((int, char _FAR_ *, size_t));
  100.  
  101. #ifndef __WATCOMC__
  102. extern void _FAR_ _CDECL    abort _PROTO ((void));
  103. #endif
  104.  
  105. #if defined (MSDOS) || defined (__OS2__)
  106. extern int _FAR_ _CDECL        chsize _PROTO ((int, off_t));
  107. #else
  108. extern int _FAR_ _CDECL        chsize _PROTO ((const char _FAR_ *, off_t));
  109. #endif
  110.  
  111. extern void _FAR_ _CDECL    sync _PROTO ((void));
  112.  
  113. /* --- Process creation and execution --- */
  114.  
  115. extern pid_t _FAR_ _CDECL    fork _PROTO ((void));
  116. extern pid_t _FAR_ _CDECL    vfork _PROTO ((void));
  117.  
  118. extern int _FAR_ _CDECL    execl    _PROTO ((const char _FAR_ *,
  119.                      const char _FAR_ *, ...));
  120.  
  121. extern int _FAR_ _CDECL    execle    _PROTO ((const char _FAR_ *,
  122.                      const char _FAR_ *, ...));
  123.  
  124. extern int _FAR_ _CDECL    execlp    _PROTO ((const char _FAR_ *,
  125.                      const char _FAR_ *, ...));
  126.  
  127. extern int _FAR_ _CDECL    execlpe    _PROTO ((const char _FAR_ *,
  128.                      const char _FAR_ *, ...));
  129.  
  130. extern int _FAR_ _CDECL    execv    _PROTO ((const char _FAR_ *,
  131.                      const char _FAR_ * const _FAR_ *));
  132.  
  133. extern int _FAR_ _CDECL    execve    _PROTO ((const char _FAR_ *,
  134.                      const char _FAR_ * const _FAR_ *,
  135.                      const char _FAR_ * const _FAR_ *));
  136.  
  137. extern int _FAR_ _CDECL    execvp    _PROTO ((const char _FAR_ *,
  138.                      const char _FAR_ * const _FAR_ *));
  139.  
  140. extern int _FAR_ _CDECL    execvpe    _PROTO ((const char _FAR_ *,
  141.                      const char _FAR_ * const _FAR_ *,
  142.                      const char _FAR_ * const _FAR_ *));
  143.  
  144. #if defined (MSDOS) || defined (__OS2__) || defined (__TURBOC__)
  145. extern int _FAR_ _CDECL    spawnl    _PROTO ((int, const char *,
  146.                      const char *, ...));
  147.  
  148. extern int _FAR_ _CDECL    spawnle    _PROTO ((int, const char _FAR_ *,
  149.                      const char _FAR_ *, ...));
  150.  
  151. extern int _FAR_ _CDECL    spawnlp    _PROTO ((int, const char _FAR_ *,
  152.                      const char _FAR_ *, ...));
  153.  
  154. extern int _FAR_ _CDECL    spawnlpe _PROTO ((int, const char _FAR_ *,
  155.                       const char _FAR_ *, ...));
  156.  
  157. extern int _FAR_ _CDECL    spawnv    _PROTO ((int, const char _FAR_ *,
  158.                      const char _FAR_ * const _FAR_ *));
  159.  
  160. extern int _FAR_ _CDECL    spawnve    _PROTO ((int, const char _FAR_ *,
  161.                      const char _FAR_ * const _FAR_ *,
  162.                      const char _FAR_ * const _FAR_ *));
  163.  
  164. extern int _FAR_ _CDECL    spawnvp    _PROTO ((int, const char _FAR_ *,
  165.                      const char _FAR_ * const _FAR_ *));
  166.  
  167. extern int _FAR_ _CDECL    spawnvpe _PROTO ((int, const char _FAR_ *,
  168.                       const char _FAR_ * const _FAR_ *,
  169.                       const char _FAR_ * const _FAR_ *));
  170.  
  171. /* Overlay functions for MSDOS */
  172.  
  173. extern int _NEAR _FAR_ _CDECL    _p_overlay;
  174.  
  175. #define P_WAIT        0
  176. #define P_OVERLAY    _p_overlay
  177. #define OLD_P_OVERLAY    2
  178. #if defined (OS2) || defined (__OS2__)
  179. #define P_NOWAIT    1
  180. #define P_NOWAITO    3
  181. #define P_DETACH    4
  182.  
  183. #define WAIT_CHILD 0
  184. #define WAIT_GRANDCHILD 1
  185.  
  186. extern int _FAR_ _CDECL cwait _PROTO ((int _FAR_ *, int, int));
  187. extern int _FAR_ _CDECL wait _PROTO ((int _FAR_ *));
  188. #endif
  189. #endif
  190.  
  191. /*
  192.  * Process termination
  193.  */
  194.  
  195. #ifndef __WATCOMC__
  196. extern void _FAR_ _CDECL    _exit _PROTO ((int));
  197. extern void _FAR_ _CDECL    exit _PROTO ((int));
  198. #endif
  199.  
  200. /*
  201.  * Timer operations
  202.  */
  203.  
  204. extern unsigned int _FAR_ _CDECL    alarm _PROTO ((unsigned int));
  205. extern int _FAR_ _CDECL            pause _PROTO ((void));
  206.  
  207. #if !defined (__WATCOMC__)
  208. #  if defined (MSDOS) || defined (__TURBOC__)
  209. extern void  _FAR_ _CDECL        sleep _PROTO ((unsigned int));
  210. #  else
  211. extern unsigned int _FAR_ _CDECL    sleep _PROTO ((unsigned int));
  212. #  endif
  213. #endif
  214.  
  215. /*
  216.  * Process identification
  217.  */
  218.  
  219. extern pid_t _FAR_ _CDECL    getpid _PROTO ((void));
  220. extern pid_t _FAR_ _CDECL    getppid _PROTO ((void));
  221.  
  222. /*
  223.  * User identification
  224.  */
  225.  
  226. extern uid_t _FAR_ _CDECL        getuid _PROTO ((void));
  227. extern uid_t _FAR_ _CDECL        geteuid _PROTO ((void));
  228. extern gid_t _FAR_ _CDECL        getgid _PROTO ((void));
  229. extern gid_t _FAR_ _CDECL        getegid _PROTO ((void));
  230. extern int _FAR_ _CDECL            setuid _PROTO ((uid_t));
  231. extern int _FAR_ _CDECL            setgid _PROTO ((gid_t));
  232. extern int _FAR_ _CDECL            getgroups _PROTO ((int, gid_t *));
  233. extern char _FAR_ * _FAR_ _CDECL    getlogin _PROTO ((void));
  234. extern char _FAR_ * _FAR_ _CDECL    cuserid _PROTO ((char _FAR_ *));
  235.  
  236. /*
  237.  * Process groups
  238.  */
  239.  
  240. extern pid_t _FAR_ _CDECL        getpgrp _PROTO ((void));
  241. extern pid_t _FAR_ _CDECL        setsid _PROTO ((void));
  242. extern int _FAR_ _CDECL            setpgid _PROTO ((pid_t, pid_t));
  243.  
  244. /*
  245.  * Terminal identification
  246.  */
  247.  
  248. extern char _FAR_ * _FAR_ _CDECL    ctermid _PROTO ((char _FAR_ *));
  249. extern char _FAR_ * _FAR_ _CDECL    ttyname _PROTO ((int));
  250. extern int _FAR_ _CDECL            isatty _PROTO ((int));
  251.  
  252. /*
  253.  * Configurable system variables
  254.  */
  255.  
  256. extern long _FAR_ _CDECL    sysconf _PROTO ((int));
  257.  
  258. /*
  259.  * Working directory
  260.  */
  261.  
  262. extern int _FAR_ _CDECL            chdir _PROTO ((const char _FAR_ *));
  263. extern char _FAR_ * _FAR_ _CDECL    getcwd _PROTO ((char _FAR_ *, int));
  264.  
  265. /*
  266.  * General file creation
  267.  */
  268.  
  269. extern int _FAR_ _CDECL        link _PROTO ((const char _FAR_ *,
  270.                           const char _FAR_ *));
  271. #ifndef __WATCOMC__
  272. extern int _FAR_ _CDECL        rename _PROTO ((const char _FAR_ *,
  273.                         const char _FAR_ *));
  274. #endif
  275. extern char _FAR_ * _FAR_ _CDECL mktemp _PROTO ((char _FAR_ *));
  276.  
  277. /*
  278.  * File removal
  279.  */
  280.  
  281. extern int _FAR_ _CDECL        unlink _PROTO ((const char _FAR_ *));
  282. #ifndef __WATCOMC__
  283. extern int _FAR_ _CDECL        remove _PROTO ((const char _FAR_ *));
  284. #endif
  285. extern int _FAR_ _CDECL        rmdir _PROTO ((const char _FAR_ *));
  286.  
  287. /*
  288.  * File characteristics
  289.  */
  290.  
  291. extern int _FAR_ _CDECL        access _PROTO ((const char _FAR_ *, int));
  292. extern int _CDECL        chown _PROTO ((const char _FAR_ *, uid_t, gid_t));
  293. extern long _FAR_ _CDECL    tell _PROTO ((int));
  294. extern int _FAR_ _CDECL        eof _PROTO ((int));
  295. extern long _FAR_ _CDECL    filelength _PROTO ((int));
  296. extern mode_t _FAR_ _CDECL    umask _PROTO ((mode_t));
  297.  
  298. /*
  299.  * Configurable pathname variables
  300.  */
  301.  
  302. extern long _FAR_ _CDECL    pathconf _PROTO ((char _FAR_ *, int));
  303. extern long _FAR_ _CDECL    fpathconf _PROTO ((int, int));
  304.  
  305. /*
  306.  * Pipes
  307.  */
  308.  
  309. extern int _FAR_ _CDECL        pipe _PROTO ((int[2]));
  310.  
  311. /*
  312.  * File descriptor manipulation
  313.  */
  314.  
  315. extern int _FAR_ _CDECL        dup _PROTO ((int));
  316. extern int _FAR_ _CDECL        dup2 _PROTO ((int, int));
  317.  
  318. /*
  319.  * File descriptor assignment
  320.  */
  321.  
  322. #ifndef __WATCOMC__
  323. extern int _FAR_ _CDECL    open _PROTO ((const char _FAR_ *, int, ...));
  324. extern int _FAR_ _CDECL    sopen _PROTO ((const char _FAR_ *, int, int, ...));
  325. #endif
  326. extern int _FAR_ _CDECL    creat _PROTO ((const char _FAR_ *, mode_t));
  327. extern int _FAR_ _CDECL    setmode _PROTO ((int, int));
  328.  
  329. /*
  330.  * File descriptor deassignment
  331.  */
  332.  
  333. extern int _FAR_ _CDECL    close _PROTO ((int));
  334.  
  335. /*
  336.  * Input and output
  337.  */
  338.  
  339. extern int _FAR_ _CDECL    read _PROTO ((int, const void _FAR_ *, unsigned int));
  340. extern int _FAR_ _CDECL    write _PROTO ((int, const void _FAR_ *, unsigned int));
  341.  
  342. /*
  343.  * Control operations on files
  344.  */
  345.  
  346. extern off_t _FAR_ _CDECL    lseek _PROTO ((int, off_t, int));
  347. extern int _FAR_ _CDECL     locking _PROTO ((int, int, long));
  348. #endif
  349.