1 |
/*- |
2 |
* Copyright (c) 1991, 1993, 1994 |
3 |
* The Regents of the University of California. All rights reserved. |
4 |
* |
5 |
* Redistribution and use in source and binary forms, with or without |
6 |
* modification, are permitted provided that the following conditions |
7 |
* are met: |
8 |
* 1. Redistributions of source code must retain the above copyright |
9 |
* notice, this list of conditions and the following disclaimer. |
10 |
* 2. Redistributions in binary form must reproduce the above copyright |
11 |
* notice, this list of conditions and the following disclaimer in the |
12 |
* documentation and/or other materials provided with the distribution. |
13 |
* 3. All advertising materials mentioning features or use of this software |
14 |
* must display the following acknowledgement: |
15 |
* This product includes software developed by the University of |
16 |
* California, Berkeley and its contributors. |
17 |
* 4. Neither the name of the University nor the names of its contributors |
18 |
* may be used to endorse or promote products derived from this software |
19 |
* without specific prior written permission. |
20 |
* |
21 |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
22 |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
23 |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
24 |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
25 |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
26 |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
27 |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
28 |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
29 |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
30 |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
31 |
* SUCH DAMAGE. |
32 |
* |
33 |
* @(#)unistd.h 8.12 (Berkeley) 4/27/95 |
34 |
* $FreeBSD: src/include/unistd.h,v 1.80 2006/12/14 21:42:03 pjd Exp $ |
35 |
* $MidnightBSD$ |
36 |
*/ |
37 |
|
38 |
#ifndef _UNISTD_H_ |
39 |
#define _UNISTD_H_ |
40 |
|
41 |
#include <sys/cdefs.h> |
42 |
#include <sys/types.h> /* XXX adds too much pollution. */ |
43 |
#include <sys/unistd.h> |
44 |
#include <sys/_null.h> |
45 |
#include <sys/_types.h> |
46 |
|
47 |
#ifndef _GID_T_DECLARED |
48 |
typedef __gid_t gid_t; |
49 |
#define _GID_T_DECLARED |
50 |
#endif |
51 |
|
52 |
#ifndef _OFF_T_DECLARED |
53 |
typedef __off_t off_t; |
54 |
#define _OFF_T_DECLARED |
55 |
#endif |
56 |
|
57 |
#ifndef _PID_T_DECLARED |
58 |
typedef __pid_t pid_t; |
59 |
#define _PID_T_DECLARED |
60 |
#endif |
61 |
|
62 |
#ifndef _SIZE_T_DECLARED |
63 |
typedef __size_t size_t; |
64 |
#define _SIZE_T_DECLARED |
65 |
#endif |
66 |
|
67 |
#ifndef _SSIZE_T_DECLARED |
68 |
typedef __ssize_t ssize_t; |
69 |
#define _SSIZE_T_DECLARED |
70 |
#endif |
71 |
|
72 |
#ifndef _UID_T_DECLARED |
73 |
typedef __uid_t uid_t; |
74 |
#define _UID_T_DECLARED |
75 |
#endif |
76 |
|
77 |
#ifndef _USECONDS_T_DECLARED |
78 |
typedef __useconds_t useconds_t; |
79 |
#define _USECONDS_T_DECLARED |
80 |
#endif |
81 |
|
82 |
#define STDIN_FILENO 0 /* standard input file descriptor */ |
83 |
#define STDOUT_FILENO 1 /* standard output file descriptor */ |
84 |
#define STDERR_FILENO 2 /* standard error file descriptor */ |
85 |
|
86 |
#if __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 |
87 |
#define F_ULOCK 0 /* unlock locked section */ |
88 |
#define F_LOCK 1 /* lock a section for exclusive use */ |
89 |
#define F_TLOCK 2 /* test and lock a section for exclusive use */ |
90 |
#define F_TEST 3 /* test a section for locks by other procs */ |
91 |
#endif |
92 |
|
93 |
/* |
94 |
* POSIX options and option groups we unconditionally do or don't |
95 |
* implement. This list includes those options which are exclusively |
96 |
* implemented (or not) in user mode. Please keep this list in |
97 |
* alphabetical order. |
98 |
* |
99 |
* Anything which is defined as zero below **must** have an |
100 |
* implementation for the corresponding sysconf() which is able to |
101 |
* determine conclusively whether or not the feature is supported. |
102 |
* Anything which is defined as other than -1 below **must** have |
103 |
* complete headers, types, and function declarations as specified by |
104 |
* the POSIX standard; however, if the relevant sysconf() function |
105 |
* returns -1, the functions may be stubbed out. |
106 |
*/ |
107 |
#define _POSIX_BARRIERS 200112L |
108 |
#define _POSIX_READER_WRITER_LOCKS 200112L |
109 |
#define _POSIX_REGEXP 1 |
110 |
#define _POSIX_SHELL 1 |
111 |
#define _POSIX_SPAWN -1 |
112 |
#define _POSIX_SPIN_LOCKS 200112L |
113 |
#define _POSIX_THREAD_ATTR_STACKADDR 200112L |
114 |
#define _POSIX_THREAD_ATTR_STACKSIZE 200112L |
115 |
#define _POSIX_THREAD_CPUTIME -1 |
116 |
#define _POSIX_THREAD_PRIO_INHERIT 200112L |
117 |
#define _POSIX_THREAD_PRIO_PROTECT 200112L |
118 |
#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L |
119 |
#define _POSIX_THREAD_PROCESS_SHARED -1 |
120 |
#define _POSIX_THREAD_SAFE_FUNCTIONS -1 |
121 |
#define _POSIX_THREAD_SPORADIC_SERVER -1 |
122 |
#define _POSIX_THREADS 200112L |
123 |
#define _POSIX_TRACE -1 |
124 |
#define _POSIX_TRACE_EVENT_FILTER -1 |
125 |
#define _POSIX_TRACE_INHERIT -1 |
126 |
#define _POSIX_TRACE_LOG -1 |
127 |
#define _POSIX2_C_BIND 200112L /* mandatory */ |
128 |
#define _POSIX2_C_DEV -1 /* need c99 utility */ |
129 |
#define _POSIX2_CHAR_TERM 1 |
130 |
#define _POSIX2_FORT_DEV -1 /* need fort77 utility */ |
131 |
#define _POSIX2_FORT_RUN 200112L |
132 |
#define _POSIX2_LOCALEDEF -1 |
133 |
#define _POSIX2_PBS -1 |
134 |
#define _POSIX2_PBS_ACCOUNTING -1 |
135 |
#define _POSIX2_PBS_CHECKPOINT -1 |
136 |
#define _POSIX2_PBS_LOCATE -1 |
137 |
#define _POSIX2_PBS_MESSAGE -1 |
138 |
#define _POSIX2_PBS_TRACK -1 |
139 |
#define _POSIX2_SW_DEV -1 /* XXX ??? */ |
140 |
#define _POSIX2_UPE 200112L |
141 |
#define _V6_ILP32_OFF32 -1 |
142 |
#define _V6_ILP32_OFFBIG 0 |
143 |
#define _V6_LP64_OFF64 0 |
144 |
#define _V6_LPBIG_OFFBIG -1 |
145 |
|
146 |
#if __XSI_VISIBLE |
147 |
#define _XOPEN_CRYPT -1 /* XXX ??? */ |
148 |
#define _XOPEN_ENH_I18N -1 /* mandatory in XSI */ |
149 |
#define _XOPEN_LEGACY -1 |
150 |
#define _XOPEN_REALTIME -1 |
151 |
#define _XOPEN_REALTIME_THREADS -1 |
152 |
#define _XOPEN_UNIX -1 |
153 |
#endif |
154 |
|
155 |
/* Define the POSIX.2 version we target for compliance. */ |
156 |
#define _POSIX2_VERSION 199212L |
157 |
|
158 |
/* |
159 |
* POSIX-style system configuration variable accessors (for the |
160 |
* sysconf function). The kernel does not directly implement the |
161 |
* sysconf() interface; rather, a C library stub translates references |
162 |
* to sysconf() into calls to sysctl() using a giant switch statement. |
163 |
* Those that are marked `user' are implemented entirely in the C |
164 |
* library and never query the kernel. pathconf() is implemented |
165 |
* directly by the kernel so those are not defined here. |
166 |
*/ |
167 |
#define _SC_ARG_MAX 1 |
168 |
#define _SC_CHILD_MAX 2 |
169 |
#define _SC_CLK_TCK 3 |
170 |
#define _SC_NGROUPS_MAX 4 |
171 |
#define _SC_OPEN_MAX 5 |
172 |
#define _SC_JOB_CONTROL 6 |
173 |
#define _SC_SAVED_IDS 7 |
174 |
#define _SC_VERSION 8 |
175 |
#define _SC_BC_BASE_MAX 9 /* user */ |
176 |
#define _SC_BC_DIM_MAX 10 /* user */ |
177 |
#define _SC_BC_SCALE_MAX 11 /* user */ |
178 |
#define _SC_BC_STRING_MAX 12 /* user */ |
179 |
#define _SC_COLL_WEIGHTS_MAX 13 /* user */ |
180 |
#define _SC_EXPR_NEST_MAX 14 /* user */ |
181 |
#define _SC_LINE_MAX 15 /* user */ |
182 |
#define _SC_RE_DUP_MAX 16 /* user */ |
183 |
#define _SC_2_VERSION 17 /* user */ |
184 |
#define _SC_2_C_BIND 18 /* user */ |
185 |
#define _SC_2_C_DEV 19 /* user */ |
186 |
#define _SC_2_CHAR_TERM 20 /* user */ |
187 |
#define _SC_2_FORT_DEV 21 /* user */ |
188 |
#define _SC_2_FORT_RUN 22 /* user */ |
189 |
#define _SC_2_LOCALEDEF 23 /* user */ |
190 |
#define _SC_2_SW_DEV 24 /* user */ |
191 |
#define _SC_2_UPE 25 /* user */ |
192 |
#define _SC_STREAM_MAX 26 /* user */ |
193 |
#define _SC_TZNAME_MAX 27 /* user */ |
194 |
|
195 |
#if __POSIX_VISIBLE >= 199309 |
196 |
#define _SC_ASYNCHRONOUS_IO 28 |
197 |
#define _SC_MAPPED_FILES 29 |
198 |
#define _SC_MEMLOCK 30 |
199 |
#define _SC_MEMLOCK_RANGE 31 |
200 |
#define _SC_MEMORY_PROTECTION 32 |
201 |
#define _SC_MESSAGE_PASSING 33 |
202 |
#define _SC_PRIORITIZED_IO 34 |
203 |
#define _SC_PRIORITY_SCHEDULING 35 |
204 |
#define _SC_REALTIME_SIGNALS 36 |
205 |
#define _SC_SEMAPHORES 37 |
206 |
#define _SC_FSYNC 38 |
207 |
#define _SC_SHARED_MEMORY_OBJECTS 39 |
208 |
#define _SC_SYNCHRONIZED_IO 40 |
209 |
#define _SC_TIMERS 41 |
210 |
#define _SC_AIO_LISTIO_MAX 42 |
211 |
#define _SC_AIO_MAX 43 |
212 |
#define _SC_AIO_PRIO_DELTA_MAX 44 |
213 |
#define _SC_DELAYTIMER_MAX 45 |
214 |
#define _SC_MQ_OPEN_MAX 46 |
215 |
#define _SC_PAGESIZE 47 |
216 |
#define _SC_RTSIG_MAX 48 |
217 |
#define _SC_SEM_NSEMS_MAX 49 |
218 |
#define _SC_SEM_VALUE_MAX 50 |
219 |
#define _SC_SIGQUEUE_MAX 51 |
220 |
#define _SC_TIMER_MAX 52 |
221 |
#endif |
222 |
|
223 |
#if __POSIX_VISIBLE >= 200112 |
224 |
#define _SC_2_PBS 59 /* user */ |
225 |
#define _SC_2_PBS_ACCOUNTING 60 /* user */ |
226 |
#define _SC_2_PBS_CHECKPOINT 61 /* user */ |
227 |
#define _SC_2_PBS_LOCATE 62 /* user */ |
228 |
#define _SC_2_PBS_MESSAGE 63 /* user */ |
229 |
#define _SC_2_PBS_TRACK 64 /* user */ |
230 |
#define _SC_ADVISORY_INFO 65 |
231 |
#define _SC_BARRIERS 66 /* user */ |
232 |
#define _SC_CLOCK_SELECTION 67 |
233 |
#define _SC_CPUTIME 68 |
234 |
#define _SC_FILE_LOCKING 69 |
235 |
#define _SC_GETGR_R_SIZE_MAX 70 /* user */ |
236 |
#define _SC_GETPW_R_SIZE_MAX 71 /* user */ |
237 |
#define _SC_HOST_NAME_MAX 72 |
238 |
#define _SC_LOGIN_NAME_MAX 73 |
239 |
#define _SC_MONOTONIC_CLOCK 74 |
240 |
#define _SC_MQ_PRIO_MAX 75 |
241 |
#define _SC_READER_WRITER_LOCKS 76 /* user */ |
242 |
#define _SC_REGEXP 77 /* user */ |
243 |
#define _SC_SHELL 78 /* user */ |
244 |
#define _SC_SPAWN 79 /* user */ |
245 |
#define _SC_SPIN_LOCKS 80 /* user */ |
246 |
#define _SC_SPORADIC_SERVER 81 |
247 |
#define _SC_THREAD_ATTR_STACKADDR 82 /* user */ |
248 |
#define _SC_THREAD_ATTR_STACKSIZE 83 /* user */ |
249 |
#define _SC_THREAD_CPUTIME 84 /* user */ |
250 |
#define _SC_THREAD_DESTRUCTOR_ITERATIONS 85 /* user */ |
251 |
#define _SC_THREAD_KEYS_MAX 86 /* user */ |
252 |
#define _SC_THREAD_PRIO_INHERIT 87 /* user */ |
253 |
#define _SC_THREAD_PRIO_PROTECT 88 /* user */ |
254 |
#define _SC_THREAD_PRIORITY_SCHEDULING 89 /* user */ |
255 |
#define _SC_THREAD_PROCESS_SHARED 90 /* user */ |
256 |
#define _SC_THREAD_SAFE_FUNCTIONS 91 /* user */ |
257 |
#define _SC_THREAD_SPORADIC_SERVER 92 /* user */ |
258 |
#define _SC_THREAD_STACK_MIN 93 /* user */ |
259 |
#define _SC_THREAD_THREADS_MAX 94 /* user */ |
260 |
#define _SC_TIMEOUTS 95 /* user */ |
261 |
#define _SC_THREADS 96 /* user */ |
262 |
#define _SC_TRACE 97 /* user */ |
263 |
#define _SC_TRACE_EVENT_FILTER 98 /* user */ |
264 |
#define _SC_TRACE_INHERIT 99 /* user */ |
265 |
#define _SC_TRACE_LOG 100 /* user */ |
266 |
#define _SC_TTY_NAME_MAX 101 /* user */ |
267 |
#define _SC_TYPED_MEMORY_OBJECTS 102 |
268 |
#define _SC_V6_ILP32_OFF32 103 /* user */ |
269 |
#define _SC_V6_ILP32_OFFBIG 104 /* user */ |
270 |
#define _SC_V6_LP64_OFF64 105 /* user */ |
271 |
#define _SC_V6_LPBIG_OFFBIG 106 /* user */ |
272 |
#define _SC_IPV6 118 |
273 |
#define _SC_RAW_SOCKETS 119 |
274 |
#define _SC_SYMLOOP_MAX 120 |
275 |
#endif |
276 |
|
277 |
#if __XSI_VISIBLE |
278 |
#define _SC_ATEXIT_MAX 107 /* user */ |
279 |
#define _SC_IOV_MAX 56 |
280 |
#define _SC_PAGE_SIZE _SC_PAGESIZE |
281 |
#define _SC_XOPEN_CRYPT 108 /* user */ |
282 |
#define _SC_XOPEN_ENH_I18N 109 /* user */ |
283 |
#define _SC_XOPEN_LEGACY 110 /* user */ |
284 |
#define _SC_XOPEN_REALTIME 111 |
285 |
#define _SC_XOPEN_REALTIME_THREADS 112 |
286 |
#define _SC_XOPEN_SHM 113 |
287 |
#define _SC_XOPEN_STREAMS 114 |
288 |
#define _SC_XOPEN_UNIX 115 |
289 |
#define _SC_XOPEN_VERSION 116 |
290 |
#define _SC_XOPEN_XCU_VERSION 117 /* user */ |
291 |
#endif |
292 |
|
293 |
#if __BSD_VISIBLE |
294 |
#define _SC_NPROCESSORS_CONF 57 |
295 |
#define _SC_NPROCESSORS_ONLN 58 |
296 |
#endif |
297 |
|
298 |
/* Extensions found in Solaris and Linux. */ |
299 |
#define _SC_PHYS_PAGES 121 |
300 |
|
301 |
/* Keys for the confstr(3) function. */ |
302 |
#if __POSIX_VISIBLE >= 199209 |
303 |
#define _CS_PATH 1 /* default value of PATH */ |
304 |
#endif |
305 |
|
306 |
#if __POSIX_VISIBLE >= 200112 |
307 |
#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 2 |
308 |
#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 3 |
309 |
#define _CS_POSIX_V6_ILP32_OFF32_LIBS 4 |
310 |
#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 5 |
311 |
#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 6 |
312 |
#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 7 |
313 |
#define _CS_POSIX_V6_LP64_OFF64_CFLAGS 8 |
314 |
#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 9 |
315 |
#define _CS_POSIX_V6_LP64_OFF64_LIBS 10 |
316 |
#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 11 |
317 |
#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 12 |
318 |
#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 13 |
319 |
#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 14 |
320 |
#endif |
321 |
|
322 |
__BEGIN_DECLS |
323 |
/* 1003.1-1990 */ |
324 |
void _exit(int) __dead2; |
325 |
int access(const char *, int); |
326 |
unsigned int alarm(unsigned int); |
327 |
int chdir(const char *); |
328 |
int chown(const char *, uid_t, gid_t); |
329 |
int close(int); |
330 |
int dup(int); |
331 |
int dup2(int, int); |
332 |
int eaccess(const char *, int); |
333 |
int execl(const char *, const char *, ...); |
334 |
int execle(const char *, const char *, ...); |
335 |
int execlp(const char *, const char *, ...); |
336 |
int execv(const char *, char * const *); |
337 |
int execve(const char *, char * const *, char * const *); |
338 |
int execvp(const char *, char * const *); |
339 |
pid_t fork(void); |
340 |
long fpathconf(int, int); |
341 |
char *getcwd(char *, size_t); |
342 |
gid_t getegid(void); |
343 |
uid_t geteuid(void); |
344 |
gid_t getgid(void); |
345 |
int getgroups(int, gid_t []); |
346 |
char *getlogin(void); |
347 |
pid_t getpgrp(void); |
348 |
pid_t getpid(void); |
349 |
pid_t getppid(void); |
350 |
uid_t getuid(void); |
351 |
int isatty(int); |
352 |
int link(const char *, const char *); |
353 |
#ifndef _LSEEK_DECLARED |
354 |
#define _LSEEK_DECLARED |
355 |
off_t lseek(int, off_t, int); |
356 |
#endif |
357 |
long pathconf(const char *, int); |
358 |
int pause(void); |
359 |
int pipe(int *); |
360 |
ssize_t read(int, void *, size_t); |
361 |
int rmdir(const char *); |
362 |
int setgid(gid_t); |
363 |
int setpgid(pid_t, pid_t); |
364 |
void setproctitle(const char *_fmt, ...) __printf0like(1, 2); |
365 |
pid_t setsid(void); |
366 |
int setuid(uid_t); |
367 |
unsigned int sleep(unsigned int); |
368 |
long sysconf(int); |
369 |
pid_t tcgetpgrp(int); |
370 |
int tcsetpgrp(int, pid_t); |
371 |
char *ttyname(int); |
372 |
int ttyname_r(int, char *, size_t); |
373 |
int unlink(const char *); |
374 |
ssize_t write(int, const void *, size_t); |
375 |
|
376 |
/* 1003.2-1992 */ |
377 |
#if __POSIX_VISIBLE >= 199209 || __XSI_VISIBLE |
378 |
size_t confstr(int, char *, size_t); |
379 |
#ifndef _GETOPT_DECLARED |
380 |
#define _GETOPT_DECLARED |
381 |
int getopt(int, char * const [], const char *); |
382 |
|
383 |
extern char *optarg; /* getopt(3) external variables */ |
384 |
extern int optind, opterr, optopt; |
385 |
#endif /* _GETOPT_DECLARED */ |
386 |
#endif |
387 |
|
388 |
/* ISO/IEC 9945-1: 1996 */ |
389 |
#if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE |
390 |
int fsync(int); |
391 |
|
392 |
/* |
393 |
* ftruncate() was in the POSIX Realtime Extension (it's used for shared |
394 |
* memory), but truncate() was not. |
395 |
*/ |
396 |
#ifndef _FTRUNCATE_DECLARED |
397 |
#define _FTRUNCATE_DECLARED |
398 |
int ftruncate(int, off_t); |
399 |
#endif |
400 |
#endif |
401 |
|
402 |
#if __POSIX_VISIBLE >= 199506 |
403 |
int getlogin_r(char *, int); |
404 |
#endif |
405 |
|
406 |
/* 1003.1-2001 */ |
407 |
#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE |
408 |
int fchown(int, uid_t, gid_t); |
409 |
int readlink(const char *, char *, int); |
410 |
#endif |
411 |
#if __POSIX_VISIBLE >= 200112 |
412 |
int gethostname(char *, size_t); |
413 |
int setegid(gid_t); |
414 |
int seteuid(uid_t); |
415 |
#endif |
416 |
|
417 |
/* |
418 |
* symlink() was originally in POSIX.1a, which was withdrawn after |
419 |
* being overtaken by events (1003.1-2001). It was in XPG4.2, and of |
420 |
* course has been in BSD since 4.2. |
421 |
*/ |
422 |
#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >= 402 || __BSD_VISIBLE |
423 |
int symlink(const char * __restrict, const char * __restrict); |
424 |
#endif |
425 |
|
426 |
/* X/Open System Interfaces */ |
427 |
#if __XSI_VISIBLE |
428 |
char *crypt(const char *, const char *); |
429 |
/* char *ctermid(char *); */ /* XXX ??? */ |
430 |
int encrypt(char *, int); |
431 |
int fchdir(int); |
432 |
long gethostid(void); |
433 |
int getpgid(pid_t _pid); |
434 |
int getsid(pid_t _pid); |
435 |
char *getwd(char *); /* LEGACY: obsoleted by getcwd() */ |
436 |
int lchown(const char *, uid_t, gid_t); |
437 |
int lockf(int, int, off_t); |
438 |
int nice(int); |
439 |
ssize_t pread(int, void *, size_t, off_t); |
440 |
ssize_t pwrite(int, const void *, size_t, off_t); |
441 |
int setpgrp(pid_t _pid, pid_t _pgrp); /* obsoleted by setpgid() */ |
442 |
int setregid(gid_t, gid_t); |
443 |
int setreuid(uid_t, uid_t); |
444 |
|
445 |
#ifndef _SWAB_DECLARED |
446 |
#define _SWAB_DECLARED |
447 |
void swab(const void * __restrict, void * __restrict, ssize_t); |
448 |
#endif /* _SWAB_DECLARED */ |
449 |
|
450 |
void sync(void); |
451 |
useconds_t ualarm(useconds_t, useconds_t); |
452 |
int usleep(useconds_t); |
453 |
pid_t vfork(void); |
454 |
|
455 |
/* See comment at ftruncate() above. */ |
456 |
#ifndef _TRUNCATE_DECLARED |
457 |
#define _TRUNCATE_DECLARED |
458 |
int truncate(const char *, off_t); |
459 |
#endif |
460 |
#endif /* __XSI_VISIBLE */ |
461 |
|
462 |
#if __XSI_VISIBLE <= 500 || __BSD_VISIBLE |
463 |
int brk(const void *); |
464 |
int chroot(const char *); |
465 |
int getdtablesize(void); |
466 |
int getpagesize(void) __pure2; |
467 |
char *getpass(const char *); |
468 |
void *sbrk(intptr_t); |
469 |
#endif |
470 |
|
471 |
#if __BSD_VISIBLE |
472 |
struct timeval; /* select(2) */ |
473 |
int acct(const char *); |
474 |
int async_daemon(void); |
475 |
int check_utility_compat(const char *); |
476 |
const char * |
477 |
crypt_get_format(void); |
478 |
int crypt_set_format(const char *); |
479 |
int des_cipher(const char *, char *, long, int); |
480 |
int des_setkey(const char *key); |
481 |
void endusershell(void); |
482 |
int exect(const char *, char * const *, char * const *); |
483 |
int execvP(const char *, const char *, char * const *); |
484 |
int feature_present(const char *); |
485 |
char *fflagstostr(u_long); |
486 |
int getdomainname(char *, int); |
487 |
int getgrouplist(const char *, gid_t, gid_t *, int *); |
488 |
mode_t getmode(const void *, mode_t); |
489 |
int getpeereid(int, uid_t *, gid_t *); |
490 |
int getresgid(gid_t *, gid_t *, gid_t *); |
491 |
int getresuid(uid_t *, uid_t *, uid_t *); |
492 |
char *getusershell(void); |
493 |
int initgroups(const char *, gid_t); |
494 |
int iruserok(unsigned long, int, const char *, const char *); |
495 |
int iruserok_sa(const void *, int, int, const char *, const char *); |
496 |
int issetugid(void); |
497 |
void __FreeBSD_libc_enter_restricted_mode(void); |
498 |
char *mkdtemp(char *); |
499 |
#ifndef _MKNOD_DECLARED |
500 |
int mknod(const char *, mode_t, dev_t); |
501 |
#define _MKNOD_DECLARED |
502 |
#endif |
503 |
#ifndef _MKSTEMP_DECLARED |
504 |
int mkstemp(char *); |
505 |
#define _MKSTEMP_DECLARED |
506 |
#endif |
507 |
int mkstemps(char *, int); |
508 |
#ifndef _MKTEMP_DECLARED |
509 |
char *mktemp(char *); |
510 |
#define _MKTEMP_DECLARED |
511 |
#endif |
512 |
int nfssvc(int, void *); |
513 |
int profil(char *, size_t, vm_offset_t, int); |
514 |
int rcmd(char **, int, const char *, const char *, const char *, int *); |
515 |
int rcmd_af(char **, int, const char *, |
516 |
const char *, const char *, int *, int); |
517 |
int rcmdsh(char **, int, const char *, |
518 |
const char *, const char *, const char *); |
519 |
char *re_comp(const char *); |
520 |
int re_exec(const char *); |
521 |
int reboot(int); |
522 |
int revoke(const char *); |
523 |
pid_t rfork(int); |
524 |
pid_t rfork_thread(int, void *, int (*)(void *), void *); |
525 |
int rresvport(int *); |
526 |
int rresvport_af(int *, int); |
527 |
int ruserok(const char *, int, const char *, const char *); |
528 |
#if __BSD_VISIBLE |
529 |
#ifndef _SELECT_DECLARED |
530 |
#define _SELECT_DECLARED |
531 |
int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); |
532 |
#endif |
533 |
#endif |
534 |
int setdomainname(const char *, int); |
535 |
int setgroups(int, const gid_t *); |
536 |
void sethostid(long); |
537 |
int sethostname(const char *, int); |
538 |
#ifndef _SETKEY_DECLARED |
539 |
int setkey(const char *); |
540 |
#define _SETKEY_DECLARED |
541 |
#endif |
542 |
int setlogin(const char *); |
543 |
void *setmode(const char *); |
544 |
int setresgid(gid_t, gid_t, gid_t); |
545 |
int setresuid(uid_t, uid_t, uid_t); |
546 |
int setrgid(gid_t); |
547 |
int setruid(uid_t); |
548 |
void setusershell(void); |
549 |
int strtofflags(char **, u_long *, u_long *); |
550 |
int swapon(const char *); |
551 |
int swapoff(const char *); |
552 |
int syscall(int, ...); |
553 |
off_t __syscall(quad_t, ...); |
554 |
int ttyslot(void); |
555 |
int undelete(const char *); |
556 |
int unwhiteout(const char *); |
557 |
void *valloc(size_t); /* obsoleted by malloc() */ |
558 |
|
559 |
#ifndef _OPTRESET_DECLARED |
560 |
#define _OPTRESET_DECLARED |
561 |
extern int optreset; /* getopt(3) external variable */ |
562 |
#endif |
563 |
#endif /* __BSD_VISIBLE */ |
564 |
__END_DECLS |
565 |
|
566 |
#endif /* !_UNISTD_H_ */ |