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