unistd.h revision 93514
11539Srgrimes/*- 21539Srgrimes * Copyright (c) 1991, 1993, 1994 31539Srgrimes * The Regents of the University of California. All rights reserved. 41539Srgrimes * 51539Srgrimes * Redistribution and use in source and binary forms, with or without 61539Srgrimes * modification, are permitted provided that the following conditions 71539Srgrimes * are met: 81539Srgrimes * 1. Redistributions of source code must retain the above copyright 91539Srgrimes * notice, this list of conditions and the following disclaimer. 101539Srgrimes * 2. Redistributions in binary form must reproduce the above copyright 111539Srgrimes * notice, this list of conditions and the following disclaimer in the 121539Srgrimes * documentation and/or other materials provided with the distribution. 131539Srgrimes * 3. All advertising materials mentioning features or use of this software 141539Srgrimes * must display the following acknowledgement: 151539Srgrimes * This product includes software developed by the University of 161539Srgrimes * California, Berkeley and its contributors. 171539Srgrimes * 4. Neither the name of the University nor the names of its contributors 181539Srgrimes * may be used to endorse or promote products derived from this software 191539Srgrimes * without specific prior written permission. 201539Srgrimes * 211539Srgrimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 221539Srgrimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 231539Srgrimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 241539Srgrimes * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 251539Srgrimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 261539Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 271539Srgrimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 281539Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 291539Srgrimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 301539Srgrimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 311539Srgrimes * SUCH DAMAGE. 321539Srgrimes * 3323657Speter * @(#)unistd.h 8.12 (Berkeley) 4/27/95 3455033Sbde * $FreeBSD: head/include/unistd.h 93514 2002-04-01 08:12:25Z mike $ 351539Srgrimes */ 361539Srgrimes 371539Srgrimes#ifndef _UNISTD_H_ 381539Srgrimes#define _UNISTD_H_ 391539Srgrimes 401539Srgrimes#include <sys/cdefs.h> 4193514Smike#include <sys/types.h> /* XXX adds too much pollution. */ 421539Srgrimes#include <sys/unistd.h> 4393514Smike#include <sys/_types.h> 441539Srgrimes 4593514Smike#ifdef _BSD_GID_T_ 4693514Smiketypedef _BSD_GID_T_ gid_t; 4793514Smike#undef _BSD_GID_T_ 4893514Smike#endif 4993514Smike 5093514Smike#ifdef _BSD_SIZE_T_ 5193514Smiketypedef _BSD_SIZE_T_ size_t; 5293514Smike#undef _BSD_SIZE_T_ 5393514Smike#endif 5493514Smike 5593514Smike#ifdef _BSD_SSIZE_T_ 5693514Smiketypedef _BSD_SSIZE_T_ ssize_t; 5793514Smike#undef _BSD_SSIZE_T_ 5893514Smike#endif 5993514Smike 6093514Smike#ifdef _BSD_UID_T_ 6193514Smiketypedef _BSD_UID_T_ uid_t; 6293514Smike#undef _BSD_UID_T_ 6393514Smike#endif 6493514Smike 6593514Smike/* 6693514Smike * XXX missing type definitions for off_t, pid_t and useconds_t. 6793514Smike */ 6893514Smike 691539Srgrimes#define STDIN_FILENO 0 /* standard input file descriptor */ 701539Srgrimes#define STDOUT_FILENO 1 /* standard output file descriptor */ 711539Srgrimes#define STDERR_FILENO 2 /* standard error file descriptor */ 721539Srgrimes 731539Srgrimes#ifndef NULL 741539Srgrimes#define NULL 0 /* null pointer constant */ 751539Srgrimes#endif 761539Srgrimes 7737509Sdt#ifndef _POSIX_SOURCE 7837566Sbde#define F_ULOCK 0 /* unlock locked section */ 7937566Sbde#define F_LOCK 1 /* lock a section for exclusive use */ 8037566Sbde#define F_TLOCK 2 /* test and lock a section for exclusive use */ 8137566Sbde#define F_TEST 3 /* test a section for locks by other procs */ 8237509Sdt#endif 8337509Sdt 841539Srgrimes__BEGIN_DECLS 8593032Simpvoid _exit(int) __dead2; 8693032Simpint access(const char *, int); 8793032Simpunsigned int alarm(unsigned int); 8893032Simpint chdir(const char *); 8993032Simpint chown(const char *, uid_t, gid_t); 9093032Simpint close(int); 9193032Simpint dup(int); 9293032Simpint dup2(int, int); 9393032Simpint eaccess(const char *, int); 9493032Simpint execl(const char *, const char *, ...); 9593032Simpint execle(const char *, const char *, ...); 9693032Simpint execlp(const char *, const char *, ...); 9793032Simpint execv(const char *, char * const *); 9893032Simpint execve(const char *, char * const *, char * const *); 9993032Simpint execvp(const char *, char * const *); 10093032Simppid_t fork(void); 10193032Simplong fpathconf(int, int); 10293032Simpchar *getcwd(char *, size_t); 10393032Simpgid_t getegid(void); 10493032Simpuid_t geteuid(void); 10593032Simpgid_t getgid(void); 10693032Simpint getgroups(int, gid_t []); 10793032Simpchar *getlogin(void); 10893032Simppid_t getpgrp(void); 10993032Simppid_t getpid(void); 11093032Simppid_t getppid(void); 11193032Simpuid_t getuid(void); 11293032Simpint isatty(int); 11393032Simpint link(const char *, const char *); 11424896Sbde#ifndef _LSEEK_DECLARED 11524896Sbde#define _LSEEK_DECLARED 11693032Simpoff_t lseek(int, off_t, int); 11724896Sbde#endif 11893032Simplong pathconf(const char *, int); 11993032Simpint pause(void); 12093032Simpint pipe(int *); 12193032Simpssize_t read(int, void *, size_t); 12293032Simpint rmdir(const char *); 12393032Simpint setgid(gid_t); 12493032Simpint setpgid(pid_t, pid_t); 12593032Simpvoid setproctitle(const char *_fmt, ...) __printf0like(1, 2); 12693032Simppid_t setsid(void); 12793032Simpint setuid(uid_t); 12893032Simpunsigned int sleep(unsigned int); 12993032Simplong sysconf(int); 13093032Simppid_t tcgetpgrp(int); 13193032Simpint tcsetpgrp(int, pid_t); 13293032Simpchar *ttyname(int); 13393032Simpint unlink(const char *); 13493032Simpssize_t write(int, const void *, size_t); 1351539Srgrimes 13623657Speterextern char *optarg; /* getopt(3) external variables */ 13723657Speterextern int optind, opterr, optopt; 13893032Simpint getopt(int, char * const [], const char *); 13923657Speter 1401539Srgrimes#ifndef _POSIX_SOURCE 1411539Srgrimesstruct timeval; /* select(2) */ 14293032Simpint acct(const char *); 14393032Simpint async_daemon(void); 14493032Simpint brk(const void *); 14593032Simpint chroot(const char *); 14693032Simpsize_t confstr(int, char *, size_t); 14793032Simpchar *crypt(const char *, const char *); 14888399Smike__const char * 14993032Simp crypt_get_format(void); 15093032Simpint crypt_set_format(const char *); 15193032Simpint des_cipher(const char *, char *, long, int); 15293032Simpint des_setkey(const char *key); 15393032Simpint encrypt(char *, int); 15493032Simpvoid endusershell(void); 15593032Simpint exect(const char *, char * const *, char * const *); 15693032Simpint fchdir(int); 15793032Simpint fchown(int, uid_t, gid_t); 15893032Simpchar *fflagstostr(u_long); 15993032Simpint fsync(int); 16024896Sbde#ifndef _FTRUNCATE_DECLARED 16124896Sbde#define _FTRUNCATE_DECLARED 16293032Simpint ftruncate(int, off_t); 16324896Sbde#endif 16493032Simpint getdomainname(char *, int); 16593032Simpint getdtablesize(void); 16693032Simpint getgrouplist(const char *, gid_t, gid_t *, int *); 16793032Simplong gethostid(void); 16893032Simpint gethostname(char *, int); 16993032Simpint getlogin_r(char *, int); 17093032Simpmode_t getmode(const void *, mode_t); 17193032Simpint getpagesize(void) __pure2; 17293032Simpchar *getpass(const char *); 17393032Simpint getpeereid(int, uid_t *, gid_t *); 17493032Simpint getpgid(pid_t _pid); 17593032Simpint getresgid(gid_t *, gid_t *, gid_t *); 17693032Simpint getresuid(uid_t *, uid_t *, uid_t *); 17793032Simpint getsid(pid_t _pid); 17893032Simpchar *getusershell(void); 17993032Simpchar *getwd(char *); /* obsoleted by getcwd() */ 18093032Simpint initgroups(const char *, gid_t); 18193032Simpint iruserok(unsigned long, int, const char *, const char *); 18293032Simpint iruserok_sa(const void *, int, int, const char *, const char *); 18393032Simpint issetugid(void); 18493032Simpint lchown(const char *, uid_t, gid_t); 18593032Simpint lockf(int, int, off_t); 18693032Simpchar *mkdtemp(char *); 18793032Simpint mknod(const char *, mode_t, dev_t); 18893032Simpint mkstemp(char *); 18993032Simpint mkstemps(char *, int); 19093032Simpchar *mktemp(char *); 19193032Simpint nfsclnt(int, void *); 19293032Simpint nfssvc(int, void *); 19393032Simpint nice(int); 19493032Simpssize_t pread(int, void *, size_t, off_t); 19593032Simpint profil(char *, size_t, vm_offset_t, int); 19693032Simpssize_t pwrite(int, const void *, size_t, off_t); 19793032Simpint rcmd(char **, int, const char *, const char *, const char *, int *); 19893032Simpint rcmd_af(char **, int, const char *, 19993032Simp const char *, const char *, int *, int); 20093032Simpint rcmdsh(char **, int, const char *, 20193032Simp const char *, const char *, const char *); 20293032Simpchar *re_comp(const char *); 20393032Simpint re_exec(const char *); 20493032Simpint readlink(const char *, char *, int); 20593032Simpint reboot(int); 20693032Simpint revoke(const char *); 20793032Simppid_t rfork(int); 20893032Simppid_t rfork_thread(int, void *, int (*)(void *), void *); 20993032Simpint rresvport(int *); 21093032Simpint rresvport_af(int *, int); 21193032Simpint ruserok(const char *, int, const char *, const char *); 21293032Simpvoid *sbrk(intptr_t); 21393032Simpint select(int, fd_set *, fd_set *, fd_set *, struct timeval *); 21493032Simpint setdomainname(const char *, int); 21593032Simpint setegid(gid_t); 21693032Simpint seteuid(uid_t); 21793032Simpint setgroups(int, const gid_t *); 21893032Simpvoid sethostid(long); 21993032Simpint sethostname(const char *, int); 22093032Simpint setkey(const char *); 22193032Simpint setlogin(const char *); 22293032Simpvoid *setmode(const char *); 22393032Simpint setpgrp(pid_t _pid, pid_t _pgrp); /* obsoleted by setpgid() */ 22493032Simpint setregid(gid_t, gid_t); 22593032Simpint setresgid(gid_t, gid_t, gid_t); 22693032Simpint setresuid(uid_t, uid_t, uid_t); 22793032Simpint setreuid(uid_t, uid_t); 22893032Simpint setrgid(gid_t); 22993032Simpint setruid(uid_t); 23093032Simpvoid setusershell(void); 23193032Simpint strtofflags(char **, u_long *, u_long *); 23293032Simpint swapon(const char *); 23393032Simpint symlink(const char *, const char *); 23493032Simpvoid sync(void); 23593032Simpint syscall(int, ...); 23693032Simpoff_t __syscall(quad_t, ...); 23724896Sbde#ifndef _TRUNCATE_DECLARED 23824896Sbde#define _TRUNCATE_DECLARED 23993032Simpint truncate(const char *, off_t); 24024896Sbde#endif 24193032Simpint ttyslot(void); 24293032Simpunsigned int ualarm(unsigned int, unsigned int); 24393032Simpint undelete(const char *); 24493032Simpint unwhiteout(const char *); 24593032Simpint usleep(unsigned int); 24693032Simpvoid *valloc(size_t); /* obsoleted by malloc() */ 24793032Simppid_t vfork(void); 24823657Speter 24923657Speterextern char *suboptarg; /* getsubopt(3) external variable */ 25093032Simpint getsubopt(char **, char * const *, char **); 2511539Srgrimes#endif /* !_POSIX_SOURCE */ 25242518Smsmithextern int optreset; /* getopt(3) external variable */ 2531539Srgrimes__END_DECLS 2541539Srgrimes 2551539Srgrimes#endif /* !_UNISTD_H_ */ 256