home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / SH162_2S.ZIP / UNISTD.H < prev   
C/C++ Source or Header  |  1990-05-21  |  6KB  |  206 lines

  1. #ifndef _UNISTD_H
  2. #define _UNISTD_H
  3.  
  4. /*  unistd.h  */
  5.  
  6. #include <sys/types.h>
  7. #include <proto.h>
  8. #include <changes.h>
  9.  
  10. /* Definition for NULL pointer */
  11.  
  12. #ifndef NULL
  13. #  ifdef MSDOS
  14. #    if (defined(M_I86SM) || defined(M_I86MM))
  15. #      define NULL    0
  16. #    else
  17. #      if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM))
  18. #        define NULL    0L
  19. #      endif
  20. #    endif
  21. #  else
  22. #    define NULL    0
  23. #  endif
  24. #endif
  25.  
  26. /*  for access(2)  */
  27.  
  28. #define R_OK         4
  29. #define W_OK         2
  30. #define X_OK         1
  31. #define F_OK         0
  32.  
  33. /*  for lockf()  */
  34.  
  35. #define F_ULOCK        0
  36. #define F_LOCK        1
  37. #define F_TLOCK        2
  38. #define F_TEST        3
  39.  
  40. /*  for lseek(2)  */
  41.  
  42. #ifndef SEEK_SET
  43. #define SEEK_SET    0
  44. #endif
  45.  
  46. #ifndef SEEK_CUR
  47. #define SEEK_CUR    1
  48. #endif
  49.  
  50. #ifndef SEEK_END
  51. #define SEEK_END    2
  52. #endif
  53.  
  54. /* STDIO definitions */
  55.  
  56. #define    STDIN_FILENO    0
  57. #define    STDOUT_FILENO    1
  58. #define    STDERR_FILENO    2
  59.  
  60. /* Standard paths */
  61.  
  62. #define GF_PATH        "/etc/group"
  63. #define PF_PATH        "/etc/passwd"
  64. #define IF_PATH        "/usr/include"
  65. #define SF_PATH        "/etc/shadow"
  66.  
  67. /* POSIX definitions */
  68.  
  69. #define _POSIX_VERSION        198803L
  70. #undef    _POSIX_CHOWN_RESTRICTED
  71. #undef    _POSIX_JOB_CONTROL
  72. #define    _POSIX_NO_TRUNC        1
  73. #define _POSIX_SAVED_IDS    1
  74. #undef    _POSIX_VDISABLE
  75. /* #define _XOPEN_VERSION        */
  76.  
  77. /* sysconf values */
  78.  
  79. #define _SC_ARG_MAX        0
  80. #define _SC_CHILD_MAX        1
  81. #define _SC_CLK_TCK        2
  82. #define _SC_NGROUPS_MAX        3
  83. #define _SC_OPEN_MAX        4
  84. #define _SC_JOB_CONTROL        5
  85. #define _SC_SAVED_IDS        6
  86. #define _SC_VERSION        7
  87. #define _SC_PASS_MAX        8
  88. #define _SC_XOPEN_VERSION    9
  89.  
  90. /* pathconf values */
  91.  
  92. #define _PC_LINK_MAX        0
  93. #define _PC_MAX_CANON        1
  94. #define _PC_MAX_INPUT        2
  95. #define _PC_NAME_MAX        3
  96. #define _PC_PATH_MAX        4
  97. #define _PC_PIPE_BUF        5
  98. #define _PC_CHOWN_RESTRICTED    6
  99. #define _PC_NO_TRUNC        7
  100. #define _PC_VDISABLE        8
  101.  
  102. /* confstring values */
  103.  
  104. #define _CS_PATH        1
  105.  
  106. /* Function declarations */
  107.  
  108. extern size_t _CDECL    confstring    _PROTO ((int, char *, size_t));
  109. extern void _CDECL    abort        _PROTO ((void));
  110. #ifdef MSDOS
  111. extern int _CDECL    chsize        _PROTO ((int, off_t));
  112. #else
  113. extern int _CDECL    chsize        _PROTO ((char *, off_t));
  114. #endif
  115. extern void _CDECL    sync        _PROTO ((void));
  116.  
  117. /* --- Process creation and execution --- */
  118. extern pid_t _CDECL    fork        _PROTO ((void));
  119. extern pid_t _CDECL    vfork        _PROTO ((void));
  120. extern int _CDECL    execl        _PROTO ((char *, char *, ...));
  121. extern int _CDECL    execle        _PROTO ((char *, char *, ...));
  122. extern int _CDECL    execlp        _PROTO ((char *, char *, ...));
  123. extern int _CDECL    execlpe        _PROTO ((char *, char *, ...));
  124. extern int _CDECL    execv        _PROTO ((char *, char **));
  125. extern int _CDECL    execve        _PROTO ((char *, char **, char **));
  126. extern int _CDECL    execvp        _PROTO ((char *, char **));
  127. extern int _CDECL    execvpe        _PROTO ((char *, char **, char **));
  128.  
  129. /* --- Process termination --- */
  130. extern void _CDECL    _exit        _PROTO ((int));
  131. extern void _CDECL    exit        _PROTO ((int));
  132.  
  133. /* --- Timer operations --- */
  134. extern unsigned int _CDECL    alarm    _PROTO ((unsigned int));
  135. extern int _CDECL        pause    _PROTO ((void));
  136. extern unsigned int _CDECL    sleep    _PROTO ((unsigned int));
  137.  
  138. /* --- Process identification --- */
  139. extern pid_t _CDECL    getpid        _PROTO ((void));
  140. extern pid_t _CDECL    getppid        _PROTO ((void));
  141.  
  142. /* --- User identification --- */
  143. extern uid_t _CDECL    getuid        _PROTO ((void));
  144. extern uid_t _CDECL    geteuid        _PROTO ((void));
  145. extern gid_t _CDECL    getgid        _PROTO ((void));
  146. extern gid_t _CDECL    getegid        _PROTO ((void));
  147. extern int _CDECL    setuid        _PROTO ((uid_t));
  148. extern int _CDECL    setgid        _PROTO ((gid_t));
  149. extern int _CDECL    getgroups    _PROTO ((int, gid_t *));
  150. extern char * _CDECL    getlogin    _PROTO ((void));
  151. extern char * _CDECL    cuserid        _PROTO ((char *));
  152.  
  153. /* --- Process groups --- */
  154. extern pid_t _CDECL    getpgrp        _PROTO ((void));
  155. extern pid_t _CDECL    setsid        _PROTO ((void));
  156. extern int _CDECL    setpgid        _PROTO ((pid_t, pid_t));
  157.  
  158. /* --- Terminal identification --- */
  159. extern char * _CDECL    ctermid    _PROTO ((char *));
  160. extern char * _CDECL    ttyname    _PROTO ((int));
  161. extern int _CDECL    isatty        _PROTO ((int));
  162.  
  163. /* --- Configurable system variables --- */
  164. extern long _CDECL    sysconf        _PROTO ((int));
  165.  
  166. /* --- Working directory --- */
  167. extern int _CDECL    chdir        _PROTO ((char *));
  168. extern char * _CDECL    getcwd        _PROTO ((char *, int));
  169.  
  170. /* --- General file creation --- */
  171. extern int _CDECL    link        _PROTO ((char *, char *));
  172. extern int _CDECL    rename        _PROTO ((const char *, const char *));
  173. extern char * _CDECL    mktemp        _PROTO ((char *));
  174.  
  175. /* --- File removal --- */
  176. extern int _CDECL    unlink        _PROTO ((const char *));
  177. extern int _CDECL    remove        _PROTO ((const char *));
  178. extern int _CDECL    rmdir        _PROTO ((char *));
  179.  
  180. /* --- File characteristics --- */
  181. extern int _CDECL    access        _PROTO ((char *, int));
  182. extern int _CDECL    chown        _PROTO ((char *, uid_t, gid_t));
  183. extern long _CDECL    tell         _PROTO ((int));
  184.  
  185. /* --- Configurable pathname variables --- */
  186. extern long _CDECL    pathconf    _PROTO ((char *, int));
  187. extern long _CDECL    fpathconf    _PROTO ((int, int));
  188.  
  189. /* --- Pipes --- */
  190. extern int _CDECL    pipe        _PROTO ((int[2]));
  191.  
  192. /* --- File descriptor manipulation --- */
  193. extern int _CDECL    dup        _PROTO ((int));
  194. extern int _CDECL    dup2        _PROTO ((int, int));
  195.  
  196. /* --- File descriptor deassignment --- */
  197. extern int _CDECL    close        _PROTO ((int));
  198.  
  199. /* --- Input and output --- */
  200. extern int _CDECL    read        _PROTO ((int, char *, unsigned int));
  201. extern int _CDECL    write        _PROTO ((int, char *, unsigned int));
  202.  
  203. /* --- Control operations on files --- */
  204. extern off_t _CDECL    lseek        _PROTO ((int, off_t, int));
  205. #endif
  206.