1# http://www.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html
2
3from posix.types cimport gid_t, pid_t, off_t, uid_t
4
5cdef extern from "<unistd.h>" nogil:
6
7    #:NULL
8
9    enum: R_OK
10    enum: W_OK
11    enum: X_OK
12    enum: F_OK
13
14    enum: _CS_PATH
15    enum: _CS_POSIX_V6_ILP32_OFF32_CFLAGS
16    enum: _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
17    enum: _CS_POSIX_V6_ILP32_OFF32_LIBS
18    enum: _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
19    enum: _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
20    enum: _CS_POSIX_V6_ILP32_OFFBIG_LIBS
21    enum: _CS_POSIX_V6_LP64_OFF64_CFLAGS
22    enum: _CS_POSIX_V6_LP64_OFF64_LDFLAGS
23    enum: _CS_POSIX_V6_LP64_OFF64_LIBS
24    enum: _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
25    enum: _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
26    enum: _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
27    enum: _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
28
29    enum: SEEK_SET
30    enum: SEEK_CUR
31    enum: SEEK_END
32
33    enum: F_LOCK
34    enum: F_TEST
35    enum: F_TLOCK
36    enum: F_ULOCK
37
38    enum: _PC_2_SYMLINKS
39    enum: _PC_ALLOC_SIZE_MIN
40    enum: _PC_ASYNC_IO
41    enum: _PC_CHOWN_RESTRICTED
42    enum: _PC_FILESIZEBITS
43    enum: _PC_LINK_MAX
44    enum: _PC_MAX_CANON
45    enum: _PC_MAX_INPUT
46    enum: _PC_NAME_MAX
47    enum: _PC_NO_TRUNC
48    enum: _PC_PATH_MAX
49    enum: _PC_PIPE_BUF
50    enum: _PC_PRIO_IO
51    enum: _PC_REC_INCR_XFER_SIZE
52    enum: _PC_REC_MIN_XFER_SIZE
53    enum: _PC_REC_XFER_ALIGN
54    enum: _PC_SYMLINK_MAX
55    enum: _PC_SYNC_IO
56    enum: _PC_VDISABLE
57
58    enum: _SC_2_C_BIND
59    enum: _SC_2_C_DEV
60    enum: _SC_2_CHAR_TERM
61    enum: _SC_2_FORT_DEV
62    enum: _SC_2_FORT_RUN
63    enum: _SC_2_LOCALEDEF
64    enum: _SC_2_PBS
65    enum: _SC_2_PBS_ACCOUNTING
66    enum: _SC_2_PBS_CHECKPOINT
67    enum: _SC_2_PBS_LOCATE
68    enum: _SC_2_PBS_MESSAGE
69    enum: _SC_2_PBS_TRACK
70    enum: _SC_2_SW_DEV
71    enum: _SC_2_UPE
72    enum: _SC_2_VERSION
73    enum: _SC_ADVISORY_INFO
74    enum: _SC_AIO_LISTIO_MAX
75    enum: _SC_AIO_MAX
76    enum: _SC_AIO_PRIO_DELTA_MAX
77    enum: _SC_ARG_MAX
78    enum: _SC_ASYNCHRONOUS_IO
79    enum: _SC_ATEXIT_MAX
80    enum: _SC_BARRIERS
81    enum: _SC_BC_BASE_MAX
82    enum: _SC_BC_DIM_MAX
83    enum: _SC_BC_SCALE_MAX
84    enum: _SC_BC_STRING_MAX
85    enum: _SC_CHILD_MAX
86    enum: _SC_CLK_TCK
87    enum: _SC_CLOCK_SELECTION
88    enum: _SC_COLL_WEIGHTS_MAX
89    enum: _SC_CPUTIME
90    enum: _SC_DELAYTIMER_MAX
91    enum: _SC_EXPR_NEST_MAX
92    enum: _SC_FSYNC
93    enum: _SC_GETGR_R_SIZE_MAX
94    enum: _SC_GETPW_R_SIZE_MAX
95    enum: _SC_HOST_NAME_MAX
96    enum: _SC_IOV_MAX
97    enum: _SC_IPV6
98    enum: _SC_JOB_CONTROL
99    enum: _SC_LINE_MAX
100    enum: _SC_LOGIN_NAME_MAX
101    enum: _SC_MAPPED_FILES
102    enum: _SC_MEMLOCK
103    enum: _SC_MEMLOCK_RANGE
104    enum: _SC_MEMORY_PROTECTION
105    enum: _SC_MESSAGE_PASSING
106    enum: _SC_MONOTONIC_CLOCK
107    enum: _SC_MQ_OPEN_MAX
108    enum: _SC_MQ_PRIO_MAX
109    enum: _SC_NGROUPS_MAX
110    enum: _SC_OPEN_MAX
111    enum: _SC_PAGE_SIZE
112    enum: _SC_PAGESIZE
113    enum: _SC_PRIORITIZED_IO
114    enum: _SC_PRIORITY_SCHEDULING
115    enum: _SC_RAW_SOCKETS
116    enum: _SC_RE_DUP_MAX
117    enum: _SC_READER_WRITER_LOCKS
118    enum: _SC_REALTIME_SIGNALS
119    enum: _SC_REGEXP
120    enum: _SC_RTSIG_MAX
121    enum: _SC_SAVED_IDS
122    enum: _SC_SEM_NSEMS_MAX
123    enum: _SC_SEM_VALUE_MAX
124    enum: _SC_SEMAPHORES
125    enum: _SC_SHARED_MEMORY_OBJECTS
126    enum: _SC_SHELL
127    enum: _SC_SIGQUEUE_MAX
128    enum: _SC_SPAWN
129    enum: _SC_SPIN_LOCKS
130    enum: _SC_SPORADIC_SERVER
131    enum: _SC_SS_REPL_MAX
132    enum: _SC_STREAM_MAX
133    enum: _SC_SYMLOOP_MAX
134    enum: _SC_SYNCHRONIZED_IO
135    enum: _SC_THREAD_ATTR_STACKADDR
136    enum: _SC_THREAD_ATTR_STACKSIZE
137    enum: _SC_THREAD_CPUTIME
138    enum: _SC_THREAD_DESTRUCTOR_ITERATIONS
139    enum: _SC_THREAD_KEYS_MAX
140    enum: _SC_THREAD_PRIO_INHERIT
141    enum: _SC_THREAD_PRIO_PROTECT
142    enum: _SC_THREAD_PRIORITY_SCHEDULING
143    enum: _SC_THREAD_PROCESS_SHARED
144    enum: _SC_THREAD_SAFE_FUNCTIONS
145    enum: _SC_THREAD_SPORADIC_SERVER
146    enum: _SC_THREAD_STACK_MIN
147    enum: _SC_THREAD_THREADS_MAX
148    enum: _SC_THREADS
149    enum: _SC_TIMEOUTS
150    enum: _SC_TIMER_MAX
151    enum: _SC_TIMERS
152    enum: _SC_TRACE
153    enum: _SC_TRACE_EVENT_FILTER
154    enum: _SC_TRACE_EVENT_NAME_MAX
155    enum: _SC_TRACE_INHERIT
156    enum: _SC_TRACE_LOG
157    enum: _SC_TRACE_NAME_MAX
158    enum: _SC_TRACE_SYS_MAX
159    enum: _SC_TRACE_USER_EVENT_MAX
160    enum: _SC_TTY_NAME_MAX
161    enum: _SC_TYPED_MEMORY_OBJECTS
162    enum: _SC_TZNAME_MAX
163    enum: _SC_V6_ILP32_OFF32
164    enum: _SC_V6_ILP32_OFFBIG
165    enum: _SC_V6_LP64_OFF64
166    enum: _SC_V6_LPBIG_OFFBIG
167    enum: _SC_VERSION
168    enum: _SC_XBS5_ILP32_OFF32
169    enum: _SC_XBS5_ILP32_OFFBIG
170    enum: _SC_XBS5_LP64_OFF64
171    enum: _SC_XBS5_LPBIG_OFFBIG
172    enum: _SC_XOPEN_CRYPT
173    enum: _SC_XOPEN_ENH_I18N
174    enum: _SC_XOPEN_LEGACY
175    enum: _SC_XOPEN_REALTIME
176    enum: _SC_XOPEN_REALTIME_THREADS
177    enum: _SC_XOPEN_SHM
178    enum: _SC_XOPEN_STREAMS
179    enum: _SC_XOPEN_UNIX
180    enum: _SC_XOPEN_VERSION
181
182    enum: STDIN_FILENO	#0
183    enum: STDOUT_FILENO	#1
184    enum: STDERR_FILENO	#2
185
186    ctypedef unsigned useconds_t
187
188    int          access(const char *, int)
189    unsigned     alarm(unsigned)
190    int          chdir(const char *)
191    int          chown(const char *, uid_t, gid_t)
192    int          close(int)
193    size_t       confstr(int, char *, size_t)
194    char        *crypt(const char *, const char *)
195    char        *ctermid(char *)
196    int          dup(int)
197    int          dup2(int, int)
198    void         encrypt(char[64], int)
199    int          execl(const char *, const char *, ...)
200    int          execle(const char *, const char *, ...)
201    int          execlp(const char *, const char *, ...)
202    int          execv(const char *, char *[])
203    int          execve(const char *, char *[], char *[])
204    int          execvp(const char *, char *[])
205    void        _exit(int)
206    int          fchown(int, uid_t, gid_t)
207    int          fchdir(int)
208    int          fdatasync(int)
209    pid_t        fork()
210    long         fpathconf(int, int)
211    int          fsync(int)
212    int          ftruncate(int, off_t)
213    char        *getcwd(char *, size_t)
214    gid_t        getegid()
215    uid_t        geteuid()
216    gid_t        getgid()
217    int          getgroups(int, gid_t [])
218    long         gethostid()
219    int          gethostname(char *, size_t)
220    char        *getlogin()
221    int          getlogin_r(char *, size_t)
222    int          getopt(int, char * [], const char *)
223    pid_t        getpgid(pid_t)
224    pid_t        getpgrp()
225    pid_t        getpid()
226    pid_t        getppid()
227    pid_t        getsid(pid_t)
228    uid_t        getuid()
229    char        *getwd(char *)
230    int          isatty(int)
231    int          lchown(const char *, uid_t, gid_t)
232    int          link(const char *, const char *)
233    int          lockf(int, int, off_t)
234    off_t        lseek(int, off_t, int)
235    int          nice(int)
236    long         pathconf(char *, int)
237    int          pause()
238    int          pipe(int [2])
239    ssize_t      pread(int, void *, size_t, off_t)
240    ssize_t      pwrite(int, const void *, size_t, off_t)
241    ssize_t      read(int, void *, size_t)
242    ssize_t      readlink(const char *, char *, size_t)
243    int          rmdir(const char *)
244    int          setegid(gid_t)
245    int          seteuid(uid_t)
246    int          setgid(gid_t)
247    int          setpgid(pid_t, pid_t)
248    pid_t        setpgrp()
249    int          setregid(gid_t, gid_t)
250    int          setreuid(uid_t, uid_t)
251    pid_t        setsid()
252    int          setuid(uid_t)
253    unsigned     sleep(unsigned)
254    void         swab(const void *, void *, ssize_t)
255    int          symlink(const char *, const char *)
256    void         sync()
257    long         sysconf(int)
258    pid_t        tcgetpgrp(int)
259    int          tcsetpgrp(int, pid_t)
260    int          truncate(const char *, off_t)
261    char        *ttyname(int)
262    int          ttyname_r(int, char *, size_t)
263    useconds_t   ualarm(useconds_t, useconds_t)
264    int          unlink(const char *)
265    int          usleep(useconds_t)
266    pid_t        vfork()
267    ssize_t      write(int, const void *, size_t)
268    char         *optarg
269    int          optind
270    int          opterr
271    int          optopt
272