Chameleon

Chameleon Svn Source Tree

Root/branches/ErmaC/Enoch/i386/include/unistd.h

1/*
2 * Copyright (c) 2000, 2002-2006, 2008, 2009 Apple Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23/*-
24 * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
25 * Copyright (c) 1991, 1993, 1994
26 *The Regents of the University of California. All rights reserved.
27 *
28 * Redistribution and use in source and binary forms, with or without
29 * modification, are permitted provided that the following conditions
30 * are met:
31 * 1. Redistributions of source code must retain the above copyright
32 * notice, this list of conditions and the following disclaimer.
33 * 2. Redistributions in binary form must reproduce the above copyright
34 * notice, this list of conditions and the following disclaimer in the
35 * documentation and/or other materials provided with the distribution.
36 * 3. All advertising materials mentioning features or use of this software
37 * must display the following acknowledgement:
38 *This product includes software developed by the University of
39 *California, Berkeley and its contributors.
40 * 4. Neither the name of the University nor the names of its contributors
41 * may be used to endorse or promote products derived from this software
42 * without specific prior written permission.
43 *
44 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
45 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
46 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
47 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
48 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
49 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
50 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
51 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
52 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
53 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
54 * SUCH DAMAGE.
55 *
56 *@(#)unistd.h8.12 (Berkeley) 4/27/95
57 *
58 * Copyright (c) 1998 Apple Compter, Inc.
59 * All Rights Reserved
60 */
61
62/* History:
63 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
64 3/26/98 CHW at Apple added real interface to searchfs call
65 3/5/98 CHW at Apple added hfs semantic system calls headers
66*/
67
68#ifndef _UNISTD_H_
69#define_UNISTD_H_
70
71#include <_types.h>
72#include <sys/unistd.h>
73
74#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
75#ifndef _DEV_T
76#define_DEV_T
77typedef __darwin_dev_tdev_t;
78#endif
79#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
80
81#ifndef _GID_T
82#define_GID_T
83typedef __darwin_gid_tgid_t;
84#endif
85
86#ifndef _INTPTR_T
87#define_INTPTR_T
88typedef __darwin_intptr_tintptr_t;
89#endif
90
91#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
92#ifndef _MODE_T
93#define_MODE_T
94typedef __darwin_mode_tmode_t;
95#endif
96#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
97
98#ifndef _OFF_T
99#define_OFF_T
100typedef __darwin_off_toff_t;
101#endif
102
103#ifndef _PID_T
104#define_PID_T
105typedef __darwin_pid_tpid_t;
106#endif
107
108#ifndef _SIZE_T
109#define_SIZE_T
110/* DO NOT REMOVE THIS COMMENT: fixincludes needs to see:
111 * _GCC_SIZE_T */
112typedef __darwin_size_tsize_t;
113#endif
114
115#ifndef_SSIZE_T
116#define_SSIZE_T
117typedef__darwin_ssize_tssize_t;
118#endif
119
120#ifndef _UID_T
121#define_UID_T
122typedef __darwin_uid_tuid_t;/* user id */
123#endif
124
125#ifndef _USECONDS_T
126#define_USECONDS_T
127typedef __darwin_useconds_tuseconds_t;
128#endif
129
130#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
131#ifndef _UUID_T
132#define_UUID_T
133typedef __darwin_uuid_tuuid_t;
134#endif /* _UUID_T */
135#endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */
136
137#define STDIN_FILENO0/* standard input file descriptor */
138#defineSTDOUT_FILENO1/* standard output file descriptor */
139#defineSTDERR_FILENO2/* standard error file descriptor */
140
141#ifndef NULL
142#defineNULL __DARWIN_NULL
143#endif /* ! NULL */
144
145/* Version test macros */
146/* _POSIX_VERSION and _POSIX2_VERSION from sys/unistd.h */
147#define_XOPEN_VERSION600/* [XSI] */
148#define_XOPEN_XCU_VERSION4/* Older standard */
149
150
151/* Please keep this list in the same order as the applicable standard */
152#define_POSIX_ADVISORY_INFO(-1)/* [ADV] */
153#define_POSIX_ASYNCHRONOUS_IO(-1)/* [AIO] */
154#define_POSIX_BARRIERS(-1)/* [BAR] */
155#define_POSIX_CHOWN_RESTRICTED200112L
156#define_POSIX_CLOCK_SELECTION(-1)/* [CS] */
157#define_POSIX_CPUTIME(-1)/* [CPT] */
158#define_POSIX_FSYNC200112L/* [FSC] */
159#define_POSIX_IPV6200112L
160#define_POSIX_JOB_CONTROL200112L
161#define_POSIX_MAPPED_FILES200112L/* [MF] */
162#define_POSIX_MEMLOCK(-1)/* [ML] */
163#define_POSIX_MEMLOCK_RANGE(-1)/* [MR] */
164#define_POSIX_MEMORY_PROTECTION200112L/* [MPR] */
165#define_POSIX_MESSAGE_PASSING(-1)/* [MSG] */
166#define_POSIX_MONOTONIC_CLOCK(-1)/* [MON] */
167#define_POSIX_NO_TRUNC200112L
168#define_POSIX_PRIORITIZED_IO(-1)/* [PIO] */
169#define_POSIX_PRIORITY_SCHEDULING(-1)/* [PS] */
170#define_POSIX_RAW_SOCKETS(-1)/* [RS] */
171#define_POSIX_READER_WRITER_LOCKS200112L/* [THR] */
172#define_POSIX_REALTIME_SIGNALS(-1)/* [RTS] */
173#define_POSIX_REGEXP200112L
174#define_POSIX_SAVED_IDS200112L/* XXX required */
175#define_POSIX_SEMAPHORES(-1)/* [SEM] */
176#define_POSIX_SHARED_MEMORY_OBJECTS(-1)/* [SHM] */
177#define_POSIX_SHELL200112L
178#define_POSIX_SPAWN(-1)/* [SPN] */
179#define_POSIX_SPIN_LOCKS(-1)/* [SPI] */
180#define_POSIX_SPORADIC_SERVER(-1)/* [SS] */
181#define_POSIX_SYNCHRONIZED_IO(-1)/* [SIO] */
182#define_POSIX_THREAD_ATTR_STACKADDR200112L/* [TSA] */
183#define_POSIX_THREAD_ATTR_STACKSIZE200112L/* [TSS] */
184#define_POSIX_THREAD_CPUTIME(-1)/* [TCT] */
185#define_POSIX_THREAD_PRIO_INHERIT(-1)/* [TPI] */
186#define_POSIX_THREAD_PRIO_PROTECT(-1)/* [TPP] */
187#define_POSIX_THREAD_PRIORITY_SCHEDULING(-1)/* [TPS] */
188#define_POSIX_THREAD_PROCESS_SHARED200112L/* [TSH] */
189#define_POSIX_THREAD_SAFE_FUNCTIONS200112L/* [TSF] */
190#define_POSIX_THREAD_SPORADIC_SERVER(-1)/* [TSP] */
191#define_POSIX_THREADS200112L/* [THR] */
192#define_POSIX_TIMEOUTS(-1)/* [TMO] */
193#define_POSIX_TIMERS(-1)/* [TMR] */
194#define_POSIX_TRACE(-1)/* [TRC] */
195#define_POSIX_TRACE_EVENT_FILTER(-1)/* [TEF] */
196#define_POSIX_TRACE_INHERIT(-1)/* [TRI] */
197#define_POSIX_TRACE_LOG(-1)/* [TRL] */
198#define_POSIX_TYPED_MEMORY_OBJECTS(-1)/* [TYM] */
199#ifndef _POSIX_VDISABLE
200#define_POSIX_VDISABLE0xff/* same as sys/termios.h */
201#endif /* _POSIX_VDISABLE */
202
203#define_POSIX2_C_BIND200112L
204#define_POSIX2_C_DEV200112L/* c99 command */
205#define_POSIX2_CHAR_TERM200112L
206#define_POSIX2_FORT_DEV(-1)/* fort77 command */
207#define_POSIX2_FORT_RUN200112L
208#define_POSIX2_LOCALEDEF200112L/* localedef command */
209#define_POSIX2_PBS(-1)
210#define_POSIX2_PBS_ACCOUNTING(-1)
211#define_POSIX2_PBS_CHECKPOINT(-1)
212#define_POSIX2_PBS_LOCATE(-1)
213#define_POSIX2_PBS_MESSAGE(-1)
214#define_POSIX2_PBS_TRACK(-1)
215#define_POSIX2_SW_DEV200112L
216#define_POSIX2_UPE200112L/* XXXX no fc, newgrp, tabs */
217
218#define_V6_ILP32_OFF32(-1)
219#define_V6_ILP32_OFFBIG(1)
220#define_V6_LP64_OFF64(-1)
221#define_V6_LPBIG_OFFBIG(-1)
222
223#define_XBS5_ILP32_OFF32_V6_ILP32_OFF32/* legacy */
224#define_XBS5_ILP32_OFFBIG_V6_ILP32_OFFBIG/* legacy */
225#define_XBS5_LP64_OFF64_V6_LP64_OFF64/* legacy */
226#define_XBS5_LPBIG_OFFBIG_V6_LPBIG_OFFBIG/* legacy */
227
228#define_XOPEN_CRYPT(1)
229#define_XOPEN_ENH_I18N(1)/* XXX required */
230#define_XOPEN_LEGACY(-1)/* no ftime gcvt, wcswcs */
231#define_XOPEN_REALTIME(-1)/* no q'ed signals, mq_* */
232#define_XOPEN_REALTIME_THREADS(-1)/* no posix_spawn, et. al. */
233#define_XOPEN_SHM(1)
234#define_XOPEN_STREAMS(-1)
235#define_XOPEN_UNIX(1)
236
237
238#defineF_ULOCK 0 /* unlock locked section */
239#defineF_LOCK 1 /* lock a section for exclusive use */
240#defineF_TLOCK 2 /* test and lock a section for exclusive use */
241#defineF_TEST 3 /* test a section for locks by other procs */
242
243/* configurable system variables */
244#define_SC_ARG_MAX 1
245#define_SC_CHILD_MAX 2
246#define_SC_CLK_TCK 3
247#define_SC_NGROUPS_MAX 4
248#define_SC_OPEN_MAX 5
249#define_SC_JOB_CONTROL 6
250#define_SC_SAVED_IDS 7
251#define_SC_VERSION 8
252#define_SC_BC_BASE_MAX 9
253#define_SC_BC_DIM_MAX10
254#define_SC_BC_SCALE_MAX11
255#define_SC_BC_STRING_MAX12
256#define_SC_COLL_WEIGHTS_MAX13
257#define_SC_EXPR_NEST_MAX14
258#define_SC_LINE_MAX15
259#define_SC_RE_DUP_MAX16
260#define_SC_2_VERSION17
261#define_SC_2_C_BIND18
262#define_SC_2_C_DEV19
263#define_SC_2_CHAR_TERM20
264#define_SC_2_FORT_DEV21
265#define_SC_2_FORT_RUN22
266#define_SC_2_LOCALEDEF23
267#define_SC_2_SW_DEV24
268#define_SC_2_UPE25
269#define_SC_STREAM_MAX26
270#define_SC_TZNAME_MAX27
271#define_SC_ASYNCHRONOUS_IO28
272#define_SC_PAGESIZE29
273#define_SC_MEMLOCK30
274#define_SC_MEMLOCK_RANGE31
275#define_SC_MEMORY_PROTECTION32
276#define_SC_MESSAGE_PASSING33
277#define_SC_PRIORITIZED_IO34
278#define_SC_PRIORITY_SCHEDULING35
279#define_SC_REALTIME_SIGNALS36
280#define_SC_SEMAPHORES37
281#define_SC_FSYNC38
282#define_SC_SHARED_MEMORY_OBJECTS 39
283#define_SC_SYNCHRONIZED_IO40
284#define_SC_TIMERS41
285#define_SC_AIO_LISTIO_MAX42
286#define_SC_AIO_MAX43
287#define_SC_AIO_PRIO_DELTA_MAX44
288#define_SC_DELAYTIMER_MAX45
289#define_SC_MQ_OPEN_MAX46
290#define_SC_MAPPED_FILES47/* swap _SC_PAGESIZE vs. BSD */
291#define_SC_RTSIG_MAX48
292#define_SC_SEM_NSEMS_MAX49
293#define_SC_SEM_VALUE_MAX50
294#define_SC_SIGQUEUE_MAX51
295#define_SC_TIMER_MAX52
296#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
297#define_SC_NPROCESSORS_CONF57
298#define_SC_NPROCESSORS_ONLN58
299#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */
300#define_SC_2_PBS59
301#define_SC_2_PBS_ACCOUNTING60
302#define_SC_2_PBS_CHECKPOINT61
303#define_SC_2_PBS_LOCATE62
304#define_SC_2_PBS_MESSAGE63
305#define_SC_2_PBS_TRACK64
306#define_SC_ADVISORY_INFO65
307#define_SC_BARRIERS66
308#define_SC_CLOCK_SELECTION67
309#define_SC_CPUTIME68
310#define_SC_FILE_LOCKING69
311#define_SC_GETGR_R_SIZE_MAX70
312#define_SC_GETPW_R_SIZE_MAX71
313#define_SC_HOST_NAME_MAX72
314#define_SC_LOGIN_NAME_MAX73
315#define_SC_MONOTONIC_CLOCK74
316#define_SC_MQ_PRIO_MAX75
317#define_SC_READER_WRITER_LOCKS76
318#define_SC_REGEXP77
319#define_SC_SHELL78
320#define_SC_SPAWN79
321#define_SC_SPIN_LOCKS80
322#define_SC_SPORADIC_SERVER81
323#define_SC_THREAD_ATTR_STACKADDR82
324#define_SC_THREAD_ATTR_STACKSIZE83
325#define_SC_THREAD_CPUTIME84
326#define_SC_THREAD_DESTRUCTOR_ITERATIONS 85
327#define_SC_THREAD_KEYS_MAX86
328#define_SC_THREAD_PRIO_INHERIT87
329#define_SC_THREAD_PRIO_PROTECT88
330#define_SC_THREAD_PRIORITY_SCHEDULING89
331#define_SC_THREAD_PROCESS_SHARED90
332#define_SC_THREAD_SAFE_FUNCTIONS91
333#define_SC_THREAD_SPORADIC_SERVER92
334#define_SC_THREAD_STACK_MIN93
335#define_SC_THREAD_THREADS_MAX94
336#define_SC_TIMEOUTS95
337#define_SC_THREADS96
338#define_SC_TRACE97
339#define_SC_TRACE_EVENT_FILTER98
340#define_SC_TRACE_INHERIT99
341#define_SC_TRACE_LOG100
342#define_SC_TTY_NAME_MAX101
343#define_SC_TYPED_MEMORY_OBJECTS102
344#define_SC_V6_ILP32_OFF32103
345#define_SC_V6_ILP32_OFFBIG104
346#define_SC_V6_LP64_OFF64105
347#define_SC_V6_LPBIG_OFFBIG106
348#define_SC_IPV6118
349#define_SC_RAW_SOCKETS119
350#define_SC_SYMLOOP_MAX120
351#define_SC_ATEXIT_MAX107
352#define_SC_IOV_MAX56
353#define_SC_PAGE_SIZE_SC_PAGESIZE
354#define_SC_XOPEN_CRYPT108
355#define_SC_XOPEN_ENH_I18N109
356#define_SC_XOPEN_LEGACY110
357#define_SC_XOPEN_REALTIME111
358#define_SC_XOPEN_REALTIME_THREADS112
359#define_SC_XOPEN_SHM113
360#define_SC_XOPEN_STREAMS114
361#define_SC_XOPEN_UNIX115
362#define_SC_XOPEN_VERSION116
363#define_SC_XOPEN_XCU_VERSION121
364#define_SC_XBS5_ILP32_OFF32122
365#define_SC_XBS5_ILP32_OFFBIG123
366#define_SC_XBS5_LP64_OFF64124
367#define_SC_XBS5_LPBIG_OFFBIG125
368#define_SC_SS_REPL_MAX126
369#define_SC_TRACE_EVENT_NAME_MAX127
370#define_SC_TRACE_NAME_MAX128
371#define_SC_TRACE_SYS_MAX129
372#define_SC_TRACE_USER_EVENT_MAX130
373#define_SC_PASS_MAX131
374
375#ifndef _CS_PATH/* XXX temporary #ifdef'ed for <sys/unistd.h> */
376#define_CS_PATH1
377#endif
378#define_CS_POSIX_V6_ILP32_OFF32_CFLAGS2
379#define_CS_POSIX_V6_ILP32_OFF32_LDFLAGS3
380#define_CS_POSIX_V6_ILP32_OFF32_LIBS4
381#define_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS5
382#define_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS6
383#define_CS_POSIX_V6_ILP32_OFFBIG_LIBS7
384#define_CS_POSIX_V6_LP64_OFF64_CFLAGS8
385#define_CS_POSIX_V6_LP64_OFF64_LDFLAGS9
386#define_CS_POSIX_V6_LP64_OFF64_LIBS10
387#define_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS11
388#define_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS12
389#define_CS_POSIX_V6_LPBIG_OFFBIG_LIBS13
390#define_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS14
391
392/* reserved for compatibility with Issue 5 */
393#define_CS_XBS5_ILP32_OFF32_CFLAGS20
394#define_CS_XBS5_ILP32_OFF32_LDFLAGS21
395#define_CS_XBS5_ILP32_OFF32_LIBS22
396#define_CS_XBS5_ILP32_OFF32_LINTFLAGS23
397#define_CS_XBS5_ILP32_OFFBIG_CFLAGS24
398#define_CS_XBS5_ILP32_OFFBIG_LDFLAGS25
399#define_CS_XBS5_ILP32_OFFBIG_LIBS26
400#define_CS_XBS5_ILP32_OFFBIG_LINTFLAGS27
401#define_CS_XBS5_LP64_OFF64_CFLAGS28
402#define_CS_XBS5_LP64_OFF64_LDFLAGS29
403#define_CS_XBS5_LP64_OFF64_LIBS30
404#define_CS_XBS5_LP64_OFF64_LINTFLAGS31
405#define_CS_XBS5_LPBIG_OFFBIG_CFLAGS32
406#define_CS_XBS5_LPBIG_OFFBIG_LDFLAGS33
407#define_CS_XBS5_LPBIG_OFFBIG_LIBS34
408#define_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS35
409
410#define_CS_DARWIN_USER_DIR65536
411#define_CS_DARWIN_USER_TEMP_DIR65537
412#define_CS_DARWIN_USER_CACHE_DIR65538
413
414__BEGIN_DECLS
415
416void _exit(int) __dead2;
417int access(const char *, int);
418unsigned int
419 alarm(unsigned int);
420int chdir(const char *);
421int chown(const char *, uid_t, gid_t);
422int close(int) __DARWIN_ALIAS_C(close);
423size_t confstr(int, char *, size_t) __DARWIN_ALIAS(confstr);
424char*crypt(const char *, const char *);
425char*ctermid(char *);
426int dup(int);
427int dup2(int, int);
428#if __DARWIN_UNIX03
429void encrypt(char *, int) __DARWIN_ALIAS(encrypt);
430#else /* !__DARWIN_UNIX03 */
431int encrypt(char *, int);
432#endif /* __DARWIN_UNIX03 */
433int execl(const char *, const char *, ...);
434int execle(const char *, const char *, ...);
435int execlp(const char *, const char *, ...);
436int execv(const char *, char * const *);
437int execve(const char *, char * const *, char * const *);
438int execvp(const char *, char * const *);
439int fchown(int, uid_t, gid_t);
440int fchdir(int);
441pid_t fork(void);
442long fpathconf(int, int);
443int fsync(int) __DARWIN_ALIAS_C(fsync);
444int ftruncate(int, off_t);
445char*getcwd(char *, size_t);
446gid_t getegid(void);
447uid_t geteuid(void);
448gid_t getgid(void);
449#if defined(_DARWIN_UNLIMITED_GETGROUPS) || defined(_DARWIN_C_SOURCE)
450int getgroups(int, gid_t []) __DARWIN_EXTSN(getgroups);
451#else /* !_DARWIN_UNLIMITED_GETGROUPS && !_DARWIN_C_SOURCE */
452int getgroups(int, gid_t []);
453#endif /* _DARWIN_UNLIMITED_GETGROUPS || _DARWIN_C_SOURCE */
454long gethostid(void);
455int gethostname(char *, size_t);
456char*getlogin(void);
457int getlogin_r(char *, size_t);
458int getopt(int, char * const [], const char *) __DARWIN_ALIAS(getopt);
459pid_t getpgid(pid_t);
460pid_t getpgrp(void);
461pid_t getpid(void);
462pid_t getppid(void);
463pid_t getsid(pid_t);
464uid_t getuid(void);
465char*getwd(char *);/* obsoleted by getcwd() */
466int isatty(int);
467int lchown(const char *, uid_t, gid_t) __DARWIN_ALIAS(lchown);
468int link(const char *, const char *);
469int lockf(int, int, off_t) __DARWIN_ALIAS_C(lockf);
470off_t lseek(int, off_t, int);
471int nice(int) __DARWIN_ALIAS(nice);
472long pathconf(const char *, int);
473int pause(void) __DARWIN_ALIAS_C(pause);
474int pipe(int [2]);
475ssize_t pread(int, void *, size_t, off_t) __DARWIN_ALIAS_C(pread);
476ssize_t pwrite(int, const void *, size_t, off_t) __DARWIN_ALIAS_C(pwrite);
477ssize_t read(int, void *, size_t) __DARWIN_ALIAS_C(read);
478ssize_t readlink(const char * __restrict, char * __restrict, size_t);
479int rmdir(const char *);
480int setegid(gid_t);
481int seteuid(uid_t);
482int setgid(gid_t);
483int setpgid(pid_t, pid_t);
484#if __DARWIN_UNIX03
485pid_t setpgrp(void) __DARWIN_ALIAS(setpgrp);
486#else /* !__DARWIN_UNIX03 */
487int setpgrp(pid_t pid, pid_t pgrp);/* obsoleted by setpgid() */
488#endif /* __DARWIN_UNIX03 */
489int setregid(gid_t, gid_t) __DARWIN_ALIAS(setregid);
490int setreuid(uid_t, uid_t) __DARWIN_ALIAS(setreuid);
491pid_t setsid(void);
492int setuid(uid_t);
493unsigned int
494 sleep(unsigned int) __DARWIN_ALIAS_C(sleep);
495void swab(const void * __restrict, void * __restrict, ssize_t);
496int symlink(const char *, const char *);
497void sync(void);
498long sysconf(int);
499pid_t tcgetpgrp(int);
500int tcsetpgrp(int, pid_t);
501int truncate(const char *, off_t);
502char*ttyname(int);
503#if __DARWIN_UNIX03
504int ttyname_r(int, char *, size_t) __DARWIN_ALIAS(ttyname_r);
505#else /* !__DARWIN_UNIX03 */
506char*ttyname_r(int, char *, size_t);
507#endif /* __DARWIN_UNIX03 */
508useconds_t
509 ualarm(useconds_t, useconds_t);
510int unlink(const char *);
511int usleep(useconds_t) __DARWIN_ALIAS_C(usleep);
512pid_t vfork(void);
513ssize_t write(int, const void *, size_t) __DARWIN_ALIAS_C(write);
514
515extern char *optarg;/* getopt(3) external variables */
516extern int optind, opterr, optopt;
517
518#if!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
519#include <sys/select.h>
520
521void _Exit(int) __dead2;
522int accessx_np(const struct accessx_descriptor *, size_t, int *, uid_t);
523int acct(const char *);
524int add_profil(char *, size_t, unsigned long, unsigned int);
525void*brk(const void *);
526int chroot(const char *);
527void endusershell(void);
528int execvP(const char *, const char *, char * const *);
529char*fflagstostr(unsigned long);
530int getdtablesize(void);
531int getdomainname(char *, int);
532int getgrouplist(const char *, int, int *, int *);
533int gethostuuid(uuid_t, const struct timespec *);
534mode_t getmode(const void *, mode_t);
535int getpagesize(void) __pure2;
536char*getpass(const char *);
537int getpeereid(int, uid_t *, gid_t *);
538int getpgid(pid_t _pid);
539int getsgroups_np(int *, uuid_t);
540int getsid(pid_t _pid);
541char*getusershell(void);
542int getwgroups_np(int *, uuid_t);
543int initgroups(const char *, int);
544int iruserok(unsigned long, int, const char *, const char *);
545int iruserok_sa(const void *, int, int, const char *, const char *);
546int issetugid(void);
547char*mkdtemp(char *);
548int mknod(const char *, mode_t, dev_t);
549int mkstemp(char *);
550int mkstemps(char *, int);
551char*mktemp(char *);
552int nfssvc(int, void *);
553int profil(char *, size_t, unsigned long, unsigned int);
554int pthread_setugid_np(uid_t, gid_t);
555int pthread_getugid_np( uid_t *, gid_t *);
556int rcmd(char **, int, const char *, const char *, const char *, int *);
557int rcmd_af(char **, int, const char *, const char *, const char *, int *,
558int);
559int reboot(int);
560int revoke(const char *);
561int rresvport(int *);
562int rresvport_af(int *, int);
563int ruserok(const char *, int, const char *, const char *);
564void*sbrk(int);
565int setdomainname(const char *, int);
566int setgroups(int, const gid_t *);
567void sethostid(long);
568int sethostname(const char *, int);
569#if __DARWIN_UNIX03
570void setkey(const char *) __DARWIN_ALIAS(setkey);
571#else /* !__DARWIN_UNIX03 */
572int setkey(const char *);
573#endif /* __DARWIN_UNIX03 */
574int setlogin(const char *);
575void*setmode(const char *) __DARWIN_ALIAS(setmode);
576int setrgid(gid_t);
577int setruid(uid_t);
578int setsgroups_np(int, const uuid_t);
579void setusershell(void);
580int setwgroups_np(int, const uuid_t);
581int strtofflags(char **, unsigned long *, unsigned long *);
582int swapon(const char *);
583int syscall(int, ...);
584int ttyslot(void);
585int undelete(const char *);
586int unwhiteout(const char *);
587void*valloc(size_t);
588
589extern char *suboptarg;/* getsubopt(3) external variable */
590int getsubopt(char **, char * const *, char **);
591
592/* HFS & HFS Plus semantics system calls go here */
593#ifdef __LP64__
594int fgetattrlist(int,void*,void*,size_t,unsigned int);
595int fsetattrlist(int,void*,void*,size_t,unsigned int);
596int getattrlist(const char*,void*,void*,size_t,unsigned int) __DARWIN_ALIAS(getattrlist);
597int setattrlist(const char*,void*,void*,size_t,unsigned int) __DARWIN_ALIAS(setattrlist);
598int exchangedata(const char*,const char*,unsigned int);
599int getdirentriesattr(int,void*,void*,size_t,unsigned int*,unsigned int*,unsigned int*,unsigned int);
600
601#else /* __LP64__ */
602intfgetattrlist(int,void*,void*,size_t,unsigned long);
603intfsetattrlist(int,void*,void*,size_t,unsigned long);
604intgetattrlist(const char*,void*,void*,size_t,unsigned long) __DARWIN_ALIAS(getattrlist);
605intsetattrlist(const char*,void*,void*,size_t,unsigned long) __DARWIN_ALIAS(setattrlist);
606int exchangedata(const char*,const char*,unsigned long);
607intgetdirentriesattr(int,void*,void*,size_t,unsigned long*,unsigned long*,unsigned long*,unsigned long);
608
609#endif /* __LP64__ */
610
611struct fssearchblock;
612struct searchstate;
613
614int searchfs(const char *, struct fssearchblock *, unsigned long *, unsigned int, unsigned int, struct searchstate *);
615int fsctl(const char *,unsigned long,void*,unsigned int);
616int ffsctl(int,unsigned long,void*,unsigned int);
617
618extern int optreset;
619
620#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */
621__END_DECLS
622
623#endif /* !_UNISTD_H_ */
624

Archive Download this file

Revision: HEAD