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.35.2.10 2002/04/15 12:52:28 nectar Exp $ 35 * $DragonFly: src/include/unistd.h,v 1.6 2003/11/14 01:01:43 dillon Exp $ 36 */ 37 38 #ifndef _UNISTD_H_ 39 #define _UNISTD_H_ 40 41 #include <sys/cdefs.h> 42 #include <sys/types.h> 43 #include <sys/unistd.h> 44 45 #define STDIN_FILENO 0 /* standard input file descriptor */ 46 #define STDOUT_FILENO 1 /* standard output file descriptor */ 47 #define STDERR_FILENO 2 /* standard error file descriptor */ 48 49 #ifndef NULL 50 #define NULL 0 /* null pointer constant */ 51 #endif 52 53 #ifndef _POSIX_SOURCE 54 #define F_ULOCK 0 /* unlock locked section */ 55 #define F_LOCK 1 /* lock a section for exclusive use */ 56 #define F_TLOCK 2 /* test and lock a section for exclusive use */ 57 #define F_TEST 3 /* test a section for locks by other procs */ 58 #endif 59 60 __BEGIN_DECLS 61 void _exit (int) __dead2; 62 int access (const char *, int); 63 unsigned int alarm (unsigned int); 64 int chdir (const char *); 65 int chown (const char *, uid_t, gid_t); 66 int close (int); 67 int dup (int); 68 int dup2 (int, int); 69 int execl (const char *, const char *, ...); 70 int execle (const char *, const char *, ...); 71 int execlp (const char *, const char *, ...); 72 int execv (const char *, char * const *); 73 int execve (const char *, char * const *, char * const *); 74 int execvp (const char *, char * const *); 75 pid_t fork (void); 76 long fpathconf (int, int); 77 char *getcwd (char *, size_t); 78 gid_t getegid (void); 79 uid_t geteuid (void); 80 gid_t getgid (void); 81 int getgroups (int, gid_t []); 82 char *getlogin (void); 83 pid_t getpgrp (void); 84 pid_t getpid (void); 85 pid_t getppid (void); 86 uid_t getuid (void); 87 int isatty (int); 88 int link (const char *, const char *); 89 #ifndef _LSEEK_DECLARED 90 #define _LSEEK_DECLARED 91 off_t lseek (int, off_t, int); 92 #endif 93 long pathconf (const char *, int); 94 int pause (void); 95 int pipe (int *); 96 ssize_t read (int, void *, size_t); 97 int rmdir (const char *); 98 int setgid (gid_t); 99 int setpgid (pid_t, pid_t); 100 void setproctitle (const char *_fmt, ...) __printf0like(1, 2); 101 pid_t setsid (void); 102 int setuid (uid_t); 103 unsigned int sleep (unsigned int); 104 long sysconf (int); 105 pid_t tcgetpgrp (int); 106 int tcsetpgrp (int, pid_t); 107 char *ttyname (int); 108 int unlink (const char *); 109 ssize_t write (int, const void *, size_t); 110 111 extern char *optarg; /* getopt(3) external variables */ 112 extern int optind, opterr, optopt; 113 int getopt (int, char * const [], const char *); 114 115 #ifndef _POSIX_SOURCE 116 #ifdef __STDC__ 117 struct timeval; /* select(2) */ 118 #endif 119 int acct (const char *); 120 int async_daemon (void); 121 int brk (const void *); 122 int chroot (const char *); 123 size_t confstr (int, char *, size_t); 124 char *crypt (const char *, const char *); 125 __const char * 126 crypt_get_format (void); 127 int crypt_set_format (const char *); 128 int des_cipher (const char *, char *, long, int); 129 int des_setkey (const char *key); 130 int encrypt (char *, int); 131 void endusershell (void); 132 int exect (const char *, char * const *, char * const *); 133 int fchdir (int); 134 int fchown (int, uid_t, gid_t); 135 char *fflagstostr (u_long); 136 int fsync (int); 137 #ifndef _FTRUNCATE_DECLARED 138 #define _FTRUNCATE_DECLARED 139 int ftruncate (int, off_t); 140 #endif 141 int getdomainname (char *, int); 142 int getdtablesize (void); 143 int getgrouplist (const char *, int, int *, int *); 144 long gethostid (void); 145 int gethostname (char *, int); 146 int getlogin_r (char *, int); 147 mode_t getmode (const void *, mode_t); 148 int getpagesize (void) __pure2; 149 char *getpass (const char *); 150 int getpeereid (int, uid_t *, gid_t *); 151 int getpgid (pid_t _pid); 152 int getresgid (gid_t *, gid_t *, gid_t *); 153 int getresuid (uid_t *, uid_t *, uid_t *); 154 int getsid (pid_t _pid); 155 char *getusershell (void); 156 char *getwd (char *); /* obsoleted by getcwd() */ 157 int initgroups (const char *, int); 158 int iruserok (unsigned long, int, const char *, const char *); 159 int iruserok_sa (const void *, int, int, const char *, const char *); 160 int issetugid (void); 161 int lchown (const char *, uid_t, gid_t); 162 int lockf (int, int, off_t); 163 char *mkdtemp (char *); 164 int mknod (const char *, mode_t, dev_t); 165 int mkstemp (char *); 166 int mkstemps (char *, int); 167 char *mktemp (char *); 168 int nfssvc (int, void *); 169 int nice (int); 170 ssize_t pread (int, void *, size_t, off_t); 171 int profil (char *, size_t, vm_offset_t, int); 172 ssize_t pwrite (int, const void *, size_t, off_t); 173 int rcmd (char **, int, const char *, 174 const char *, const char *, int *); 175 int rcmd_af (char **, int, const char *, 176 const char *, const char *, int *, int); 177 int rcmdsh (char **, int, const char *, 178 const char *, const char *, const char *); 179 char *re_comp (const char *); 180 int re_exec (const char *); 181 int readlink (const char *, char *, int); 182 int reboot (int); 183 int revoke (const char *); 184 pid_t rfork (int); 185 pid_t rfork_thread (int, void *, int (*) (void *), void *); 186 int rresvport (int *); 187 int rresvport_af (int *, int); 188 int ruserok (const char *, int, const char *, const char *); 189 void *sbrk (intptr_t); 190 int select (int, fd_set *, fd_set *, fd_set *, struct timeval *); 191 int setdomainname (const char *, int); 192 int setegid (gid_t); 193 int seteuid (uid_t); 194 int setgroups (int, const gid_t *); 195 void sethostid (long); 196 int sethostname (const char *, int); 197 int setkey (const char *); 198 int setlogin (const char *); 199 void *setmode (const char *); 200 int setpgrp (pid_t _pid, pid_t _pgrp); /* obsoleted by setpgid() */ 201 int setregid (gid_t, gid_t); 202 int setresgid (gid_t, gid_t, gid_t); 203 int setresuid (uid_t, uid_t, uid_t); 204 int setreuid (uid_t, uid_t); 205 int setrgid (gid_t); 206 int setruid (uid_t); 207 void setusershell (void); 208 int strtofflags (char **, u_long *, u_long *); 209 int swapon (const char *); 210 int symlink (const char *, const char *); 211 void sync (void); 212 int syscall (int, ...); 213 off_t __syscall (quad_t, ...); 214 #ifndef _TRUNCATE_DECLARED 215 #define _TRUNCATE_DECLARED 216 int truncate (const char *, off_t); 217 #endif 218 int ttyslot (void); 219 unsigned int ualarm (unsigned int, unsigned int); 220 int undelete (const char *); 221 int unwhiteout (const char *); 222 int usleep (unsigned int); 223 void *valloc (size_t); /* obsoleted by malloc() */ 224 pid_t vfork (void); 225 int varsym_set(int, const char *, const char *); 226 int varsym_get(int, const char *, char *, int); 227 int varsym_list(int, char *, int, int *); 228 229 extern char *suboptarg; /* getsubopt(3) external variable */ 230 int getsubopt (char **, char * const *, char **); 231 #endif /* !_POSIX_SOURCE */ 232 extern int optreset; /* getopt(3) external variable */ 233 __END_DECLS 234 235 #endif /* !_UNISTD_H_ */ 236