Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /* Copyright (C) 1999 DJ Delorie, see COPYING.DJ for details */
  2. /* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */
  3. /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
  4. #ifndef __dj_include_unistd_h_
  5. #define __dj_include_unistd_h_
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. #ifndef __dj_ENFORCE_ANSI_FREESTANDING
  12.  
  13. #ifndef __STRICT_ANSI__
  14.  
  15. #include <sys/types.h> /* NOT POSIX but you can't include just unistd.h without it */
  16. #include <sys/djtypes.h>
  17.  
  18. #define SEEK_SET        0
  19. #define SEEK_CUR        1
  20. #define SEEK_END        2
  21.  
  22. /* Some programs think they know better... */
  23. #undef NULL
  24.  
  25. #define NULL 0
  26.  
  27. #define F_OK    0x01
  28. #define R_OK    0x02
  29. #define W_OK    0x04
  30. #define X_OK    0x08
  31.  
  32. #define STDIN_FILENO            0
  33. #define STDOUT_FILENO           1
  34. #define STDERR_FILENO           2
  35.  
  36. #define _PC_CHOWN_RESTRICTED    1
  37. #define _PC_LINK_MAX            2
  38. #define _PC_MAX_CANON           3
  39. #define _PC_MAX_INPUT           4
  40. #define _PC_NAME_MAX            5
  41. #define _PC_NO_TRUNC            6
  42. #define _PC_PATH_MAX            7
  43. #define _PC_PIPE_BUF            8
  44. #define _PC_VDISABLE            9
  45.  
  46. #define _POSIX_CHOWN_RESTRICTED 0
  47. #undef  _POSIX_JOB_CONTROL
  48. #define _POSIX_NO_TRUNC         0
  49. #undef  _POSIX_SAVED_IDS
  50. #define _POSIX_VDISABLE         -1
  51. #define _POSIX_VERSION          199009L
  52.  
  53. #define _SC_ARG_MAX             1
  54. #define _SC_CHILD_MAX           2
  55. #define _SC_CLK_TCK             3
  56. #define _SC_JOB_CONTROL         4
  57. #define _SC_NGROUPS_MAX         5
  58. #define _SC_OPEN_MAX            6
  59. #define _SC_SAVED_IDS           7
  60. #define _SC_STREAM_MAX          8
  61. #define _SC_TZNAME_MAX          9
  62. #define _SC_VERSION             10
  63.  
  64. __DJ_size_t
  65. #undef __DJ_size_t
  66. #define __DJ_size_t
  67. __DJ_ssize_t
  68. #undef __DJ_ssize_t
  69. #define __DJ_ssize_t
  70.  
  71. extern char *optarg;
  72. extern int optind, opterr, optopt;
  73.  
  74. #ifdef _MSC_VER
  75. void __declspec(noreturn) __exit(int _status);
  76. void __declspec(noreturn) _exit(int _status);
  77. #else
  78. void            __exit(int _status) __attribute__((noreturn));
  79. void            _exit(int _status) __attribute__((noreturn));
  80. #endif
  81. int             access(const char *_path, int _amode);
  82. unsigned int    alarm(unsigned int _seconds);
  83. int             chdir(const char *_path);
  84. int             chown(const char *_path, uid_t _owner, gid_t _group);
  85. int             close(int _fildes);
  86. char *          ctermid(char *_s);
  87. int             dup(int _fildes);
  88. int             dup2(int _fildes, int _fildes2);
  89. int             execl(const char *_path, const char *_arg, ...);
  90. int             execle(const char *_path, const char *_arg, ...);
  91. int             execlp(const char *_file, const char *_arg, ...);
  92. int             execv(const char *_path, char *const _argv[]);
  93. int             execve(const char *_path, char *const _argv[], char *const _envp[]);
  94. int             execvp(const char *_file, char *const _argv[]);
  95. pid_t           fork(void);
  96. long            fpathconf(int _fildes, int _name);
  97. char *          getcwd(char *_buf, size_t _size);
  98. gid_t           getegid(void);
  99. uid_t           geteuid(void);
  100. gid_t           getgid(void);
  101. int             getgroups(int _gidsetsize, gid_t *_grouplist);
  102. char *          getlogin(void);
  103. int             getopt(int _argc, char *const _argv[], const char *_optstring);
  104. pid_t           getpgrp(void);
  105. pid_t           getpid(void);
  106. pid_t           getppid(void);
  107. uid_t           getuid(void);
  108. int             isatty(int _fildes);
  109. int             link(const char *_existing, const char *_new);
  110. off_t           lseek(int _fildes, off_t _offset, int _whence);
  111. long            pathconf(const char *_path, int _name);
  112. int             pause(void);
  113. int             pipe(int _fildes[2]);
  114. ssize_t         read(int _fildes, void *_buf, size_t _nbyte);
  115. int             rmdir(const char *_path);
  116. int             setgid(gid_t _gid);
  117. int             setpgid(pid_t _pid, pid_t _pgid);
  118. pid_t           setsid(void);
  119. int             setuid(uid_t uid);
  120. unsigned int    sleep(unsigned int _seconds);
  121. long            sysconf(int _name);
  122. pid_t           tcgetpgrp(int _fildes);
  123. int             tcsetpgrp(int _fildes, pid_t _pgrp_id);
  124. char *          ttyname(int _fildes);
  125. int             unlink(const char *_path);
  126. ssize_t         write(int _fildes, const void *_buf, size_t _nbyte);
  127.  
  128. #ifndef _POSIX_SOURCE
  129.  
  130. /* additional access() checks */
  131. #define D_OK    0x10
  132.  
  133. char *          basename(const char *);
  134. /*int           brk(void *_heaptop);*/
  135. char *          dirname(const char *_fn);
  136. int             __file_exists(const char *_fn);
  137. int             fsync(int _fd);
  138. int             ftruncate(int, off_t);
  139. int             getdtablesize(void);
  140. int             gethostname(char *buf, int size);
  141. int             getpagesize(void);
  142. char *          getwd(char *__buffer);
  143. int             nice(int _increment);
  144. void *          sbrk(int _delta);
  145. int             symlink (const char *, const char *);
  146. int             sync(void);
  147. int             truncate(const char*, off_t);
  148. unsigned int    usleep(unsigned int _useconds);
  149. #ifndef vfork
  150. pid_t           vfork(void);
  151. #endif
  152.  
  153. #endif /* !_POSIX_SOURCE */
  154. #endif /* !__STRICT_ANSI__ */
  155. #endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
  156.  
  157. #ifndef __dj_ENFORCE_FUNCTION_CALLS
  158. #endif /* !__dj_ENFORCE_FUNCTION_CALLS */
  159.  
  160. #ifdef __cplusplus
  161. }
  162. #endif
  163.  
  164. #endif /* !__dj_include_unistd_h_ */
  165.