Changeset 1624 for trunk/src/emx/include/unistd.h
- Timestamp:
- Nov 8, 2004, 2:06:04 AM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/include/unistd.h
-
Property cvs2svn:cvs-rev
changed from
1.21
to1.22
r1623 r1624 1 1 /* $Id: */ 2 2 /** @file 3 * EMX/FreeBSD 5.13 * FreeBSD 5.3 4 4 * 5 5 * @changed Commented out stuff which isn't implemented, TCPIP stuff at bottom. 6 * @todo Several man-years.. ;) Serious, complete the FreeBSD 5. 1merge and6 * @todo Several man-years.. ;) Serious, complete the FreeBSD 5.3 merge and 7 7 * implement all the functions. Currently there is a bunch of POSIX 8 8 * #defines missing. … … 42 42 * 43 43 * @(#)unistd.h 8.12 (Berkeley) 4/27/95 44 * $FreeBSD: src/include/unistd.h,v 1. 66 2002/12/29 01:07:55 mike Exp $44 * $FreeBSD: src/include/unistd.h,v 1.73 2004/02/23 04:51:07 ache Exp $ 45 45 */ 46 46 … … 49 49 #define _UNISTD_H /* bird: emx */ 50 50 51 52 51 #include <sys/cdefs.h> 53 52 #include <sys/types.h> /* XXX adds too much pollution. */ 54 /** @todo port FreeBSD sys/unistd.h: #include <sys/unistd.h> */ 53 #include <sys/unistd.h> 54 #include <sys/_null.h> 55 55 #include <sys/_types.h> 56 56 … … 96 96 #endif 97 97 98 #if !defined(STDIN_FILENO) /* bird: emx */99 98 #define STDIN_FILENO 0 /* standard input file descriptor */ 100 99 #define STDOUT_FILENO 1 /* standard output file descriptor */ 101 100 #define STDERR_FILENO 2 /* standard error file descriptor */ 102 #endif103 104 #ifndef NULL105 #define NULL 0 /* null pointer constant */106 #endif107 101 108 102 #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 … … 113 107 #endif 114 108 115 116 /** @todo: big todo to get in all the POSIX defines. */ 117 118 /* whence values for lseek(2) */ 119 #ifndef SEEK_SET 120 #define SEEK_SET 0 /* set file offset to offset */ 121 #define SEEK_CUR 1 /* set file offset to current plus offset */ 122 #define SEEK_END 2 /* set file offset to EOF plus offset */ 123 #endif 124 125 #ifndef _POSIX_SOURCE 126 /* whence values for lseek(2); renamed by POSIX 1003.1 */ 127 #define L_SET SEEK_SET 128 #define L_INCR SEEK_CUR 129 #define L_XTND SEEK_END 130 #endif 131 132 #if !defined (F_OK) 133 #define F_OK 0 134 #define X_OK 1 135 #define W_OK 2 136 #define R_OK 4 137 #endif 138 139 #if !defined (SEEK_SET) 140 #define SEEK_SET 0 141 #define SEEK_CUR 1 142 #define SEEK_END 2 143 #endif 144 145 #if !defined (_PC_LINK_MAX) 146 #define _PC_LINK_MAX 1 147 #define _PC_MAX_CANON 2 148 #define _PC_MAX_INPUT 3 149 #define _PC_NAME_MAX 4 150 #define _PC_PATH_MAX 5 151 #define _PC_PIPE_BUF 6 152 #define _PC_CHOWN_RESTRICTED 7 153 #define _PC_NO_TRUNC 8 154 #define _PC_VDISABLE 9 155 #endif 156 157 #if !defined (_SC_ARG_MAX) 158 #define _SC_ARG_MAX 1 159 #define _SC_CHILD_MAX 2 160 #define _SC_CLK_TCK 3 161 #define _SC_NGROUPS_MAX 4 162 #define _SC_OPEN_MAX 5 163 #define _SC_STREAM_MAX 6 164 #define _SC_TZNAME_MAX 7 165 #define _SC_JOB_CONTROL 8 166 #define _SC_SAVED_IDS 9 167 #define _SC_VERSION 10 168 #endif 169 170 #if !defined (_POSIX_VERSION) 171 #define _POSIX_VERSION 199009L 172 #endif 173 109 /* 110 * POSIX options and option groups we unconditionally do or don't 111 * implement. This list includes those options which are exclusively 112 * implemented (or not) in user mode. Please keep this list in 113 * alphabetical order. 114 * 115 * Anything which is defined as zero below **must** have an 116 * implementation for the corresponding sysconf() which is able to 117 * determine conclusively whether or not the feature is supported. 118 * Anything which is defined as other than -1 below **must** have 119 * complete headers, types, and function declarations as specified by 120 * the POSIX standard; however, if the relevant sysconf() function 121 * returns -1, the functions may be stubbed out. 122 */ 123 #define _POSIX_BARRIERS -1 124 #define _POSIX_READER_WRITER_LOCKS 200112L 125 #define _POSIX_REGEXP 1 126 #define _POSIX_SHELL 1 127 #define _POSIX_SPAWN -1 128 #define _POSIX_SPIN_LOCKS -1 129 #define _POSIX_THREAD_ATTR_STACKADDR 200112L 130 #define _POSIX_THREAD_ATTR_STACKSIZE 200112L 131 #define _POSIX_THREAD_CPUTIME -1 132 #define _POSIX_THREAD_PRIO_INHERIT 200112L 133 #define _POSIX_THREAD_PRIO_PROTECT 200112L 134 #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L 135 #define _POSIX_THREAD_PROCESS_SHARED -1 136 #define _POSIX_THREAD_SAFE_FUNCTIONS -1 137 #define _POSIX_THREAD_SPORADIC_SERVER -1 138 #define _POSIX_THREADS 200112L 139 #define _POSIX_TRACE -1 140 #define _POSIX_TRACE_EVENT_FILTER -1 141 #define _POSIX_TRACE_INHERIT -1 142 #define _POSIX_TRACE_LOG -1 143 #define _POSIX2_C_BIND 200112L /* mandatory */ 144 #define _POSIX2_C_DEV -1 /* need c99 utility */ 145 #define _POSIX2_CHAR_TERM 1 146 #define _POSIX2_FORT_DEV -1 /* need fort77 utility */ 147 #define _POSIX2_FORT_RUN 200112L 148 #define _POSIX2_LOCALEDEF -1 149 #define _POSIX2_PBS -1 150 #define _POSIX2_PBS_ACCOUNTING -1 151 #define _POSIX2_PBS_CHECKPOINT -1 152 #define _POSIX2_PBS_LOCATE -1 153 #define _POSIX2_PBS_MESSAGE -1 154 #define _POSIX2_PBS_TRACK -1 155 #define _POSIX2_SW_DEV -1 /* XXX ??? */ 156 #define _POSIX2_UPE 200112L 157 #define _V6_ILP32_OFF32 -1 158 #define _V6_ILP32_OFFBIG 0 159 #define _V6_LP64_OFF64 0 160 #define _V6_LPBIG_OFFBIG -1 161 162 #if __XSI_VISIBLE 163 #define _XOPEN_CRYPT -1 /* XXX ??? */ 164 #define _XOPEN_ENH_I18N -1 /* mandatory in XSI */ 165 #define _XOPEN_LEGACY -1 166 #define _XOPEN_REALTIME -1 167 #define _XOPEN_REALTIME_THREADS -1 168 #define _XOPEN_UNIX -1 169 #endif 170 171 /* Define the POSIX.2 version we target for compliance. */ 172 #define _POSIX2_VERSION 199212L 173 174 /* 175 * POSIX-style system configuration variable accessors (for the 176 * sysconf function). The kernel does not directly implement the 177 * sysconf() interface; rather, a C library stub translates references 178 * to sysconf() into calls to sysctl() using a giant switch statement. 179 * Those that are marked `user' are implemented entirely in the C 180 * library and never query the kernel. pathconf() is implemented 181 * directly by the kernel so those are not defined here. 182 */ 183 #define _SC_ARG_MAX 1 184 #define _SC_CHILD_MAX 2 185 #define _SC_CLK_TCK 3 186 #define _SC_NGROUPS_MAX 4 187 #define _SC_OPEN_MAX 5 188 #define _SC_JOB_CONTROL 6 189 #define _SC_SAVED_IDS 7 190 #define _SC_VERSION 8 191 #define _SC_BC_BASE_MAX 9 /* user */ 192 #define _SC_BC_DIM_MAX 10 /* user */ 193 #define _SC_BC_SCALE_MAX 11 /* user */ 194 #define _SC_BC_STRING_MAX 12 /* user */ 195 #define _SC_COLL_WEIGHTS_MAX 13 /* user */ 196 #define _SC_EXPR_NEST_MAX 14 /* user */ 197 #define _SC_LINE_MAX 15 /* user */ 198 #define _SC_RE_DUP_MAX 16 /* user */ 199 #define _SC_2_VERSION 17 /* user */ 200 #define _SC_2_C_BIND 18 /* user */ 201 #define _SC_2_C_DEV 19 /* user */ 202 #define _SC_2_CHAR_TERM 20 /* user */ 203 #define _SC_2_FORT_DEV 21 /* user */ 204 #define _SC_2_FORT_RUN 22 /* user */ 205 #define _SC_2_LOCALEDEF 23 /* user */ 206 #define _SC_2_SW_DEV 24 /* user */ 207 #define _SC_2_UPE 25 /* user */ 208 #define _SC_STREAM_MAX 26 /* user */ 209 #define _SC_TZNAME_MAX 27 /* user */ 210 211 #if __POSIX_VISIBLE >= 199309 212 #define _SC_ASYNCHRONOUS_IO 28 213 #define _SC_MAPPED_FILES 29 214 #define _SC_MEMLOCK 30 215 #define _SC_MEMLOCK_RANGE 31 216 #define _SC_MEMORY_PROTECTION 32 217 #define _SC_MESSAGE_PASSING 33 218 #define _SC_PRIORITIZED_IO 34 219 #define _SC_PRIORITY_SCHEDULING 35 220 #define _SC_REALTIME_SIGNALS 36 221 #define _SC_SEMAPHORES 37 222 #define _SC_FSYNC 38 223 #define _SC_SHARED_MEMORY_OBJECTS 39 224 #define _SC_SYNCHRONIZED_IO 40 225 #define _SC_TIMERS 41 226 #define _SC_AIO_LISTIO_MAX 42 227 #define _SC_AIO_MAX 43 228 #define _SC_AIO_PRIO_DELTA_MAX 44 229 #define _SC_DELAYTIMER_MAX 45 230 #define _SC_MQ_OPEN_MAX 46 231 #define _SC_PAGESIZE 47 232 #define _SC_RTSIG_MAX 48 233 #define _SC_SEM_NSEMS_MAX 49 234 #define _SC_SEM_VALUE_MAX 50 235 #define _SC_SIGQUEUE_MAX 51 236 #define _SC_TIMER_MAX 52 237 #endif 238 239 #if __POSIX_VISIBLE >= 200112 240 #define _SC_2_PBS 59 /* user */ 241 #define _SC_2_PBS_ACCOUNTING 60 /* user */ 242 #define _SC_2_PBS_CHECKPOINT 61 /* user */ 243 #define _SC_2_PBS_LOCATE 62 /* user */ 244 #define _SC_2_PBS_MESSAGE 63 /* user */ 245 #define _SC_2_PBS_TRACK 64 /* user */ 246 #define _SC_ADVISORY_INFO 65 247 #define _SC_BARRIERS 66 /* user */ 248 #define _SC_CLOCK_SELECTION 67 249 #define _SC_CPUTIME 68 250 #define _SC_FILE_LOCKING 69 251 #define _SC_GETGR_R_SIZE_MAX 70 /* user */ 252 #define _SC_GETPW_R_SIZE_MAX 71 /* user */ 253 #define _SC_HOST_NAME_MAX 72 254 #define _SC_LOGIN_NAME_MAX 73 255 #define _SC_MONOTONIC_CLOCK 74 256 #define _SC_MQ_PRIO_MAX 75 257 #define _SC_READER_WRITER_LOCKS 76 /* user */ 258 #define _SC_REGEXP 77 /* user */ 259 #define _SC_SHELL 78 /* user */ 260 #define _SC_SPAWN 79 /* user */ 261 #define _SC_SPIN_LOCKS 80 /* user */ 262 #define _SC_SPORADIC_SERVER 81 263 #define _SC_THREAD_ATTR_STACKADDR 82 /* user */ 264 #define _SC_THREAD_ATTR_STACKSIZE 83 /* user */ 265 #define _SC_THREAD_CPUTIME 84 /* user */ 266 #define _SC_THREAD_DESTRUCTOR_ITERATIONS 85 /* user */ 267 #define _SC_THREAD_KEYS_MAX 86 /* user */ 268 #define _SC_THREAD_PRIO_INHERIT 87 /* user */ 269 #define _SC_THREAD_PRIO_PROTECT 88 /* user */ 270 #define _SC_THREAD_PRIORITY_SCHEDULING 89 /* user */ 271 #define _SC_THREAD_PROCESS_SHARED 90 /* user */ 272 #define _SC_THREAD_SAFE_FUNCTIONS 91 /* user */ 273 #define _SC_THREAD_SPORADIC_SERVER 92 /* user */ 274 #define _SC_THREAD_STACK_MIN 93 /* user */ 275 #define _SC_THREAD_THREADS_MAX 94 /* user */ 276 #define _SC_TIMEOUTS 95 /* user */ 277 #define _SC_THREADS 96 /* user */ 278 #define _SC_TRACE 97 /* user */ 279 #define _SC_TRACE_EVENT_FILTER 98 /* user */ 280 #define _SC_TRACE_INHERIT 99 /* user */ 281 #define _SC_TRACE_LOG 100 /* user */ 282 #define _SC_TTY_NAME_MAX 101 /* user */ 283 #define _SC_TYPED_MEMORY_OBJECTS 102 284 #define _SC_V6_ILP32_OFF32 103 /* user */ 285 #define _SC_V6_ILP32_OFFBIG 104 /* user */ 286 #define _SC_V6_LP64_OFF64 105 /* user */ 287 #define _SC_V6_LPBIG_OFFBIG 106 /* user */ 288 #define _SC_IPV6 118 289 #define _SC_RAW_SOCKETS 119 290 #define _SC_SYMLOOP_MAX 120 291 #endif 292 293 #if __XSI_VISIBLE 294 #define _SC_ATEXIT_MAX 107 /* user */ 295 #define _SC_IOV_MAX 56 296 #define _SC_PAGE_SIZE _SC_PAGESIZE 297 #define _SC_XOPEN_CRYPT 108 /* user */ 298 #define _SC_XOPEN_ENH_I18N 109 /* user */ 299 #define _SC_XOPEN_LEGACY 110 /* user */ 300 #define _SC_XOPEN_REALTIME 111 301 #define _SC_XOPEN_REALTIME_THREADS 112 302 #define _SC_XOPEN_SHM 113 303 #define _SC_XOPEN_STREAMS 114 304 #define _SC_XOPEN_UNIX 115 305 #define _SC_XOPEN_VERSION 116 306 #define _SC_XOPEN_XCU_VERSION 117 /* user */ 307 #endif 308 309 #if __BSD_VISIBLE 310 #define _SC_NPROCESSORS_CONF 57 311 #define _SC_NPROCESSORS_ONLN 58 312 #endif 313 314 /* Keys for the confstr(3) function. */ 315 #if __POSIX_VISIBLE >= 199209 316 #define _CS_PATH 1 /* default value of PATH */ 317 #endif 318 319 #if __POSIX_VISIBLE >= 200112 320 #define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 2 321 #define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 3 322 #define _CS_POSIX_V6_ILP32_OFF32_LIBS 4 323 #define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 5 324 #define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 6 325 #define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 7 326 #define _CS_POSIX_V6_LP64_OFF64_CFLAGS 8 327 #define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 9 328 #define _CS_POSIX_V6_LP64_OFF64_LIBS 10 329 #define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 11 330 #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 12 331 #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 13 332 #define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 14 333 #endif 174 334 175 335 __BEGIN_DECLS 176 336 /* 1003.1-1990 */ 177 void 178 int 179 unsigned int 180 int 337 void _exit(int) __dead2; 338 int access(const char *, int); 339 unsigned int alarm(unsigned int); 340 int chdir(const char *); 181 341 int chown(const char *, uid_t, gid_t); 182 int close(int); 183 char * cuserid(char *); /* bird: emx/todo/obosolete? */ 184 int dup(int); 185 int dup2(int, int); 342 int close(int); 343 int dup(int); 344 int dup2(int, int); 186 345 int eaccess(const char *, int); 187 int 188 int 189 int 190 int 191 int 192 int 193 pid_t 194 long 195 char 196 gid_t 197 uid_t 198 gid_t 199 int 200 char 201 pid_t 202 pid_t 203 pid_t 204 uid_t 205 int 346 int execl(const char *, const char *, ...); 347 int execle(const char *, const char *, ...); 348 int execlp(const char *, const char *, ...); 349 int execv(const char *, char * const *); 350 int execve(const char *, char * const *, char * const *); 351 int execvp(const char *, char * const *); 352 pid_t fork(void); 353 long fpathconf(int, int); 354 char *getcwd(char *, size_t); 355 gid_t getegid(void); 356 uid_t geteuid(void); 357 gid_t getgid(void); 358 int getgroups(int, gid_t []); 359 char *getlogin(void); 360 pid_t getpgrp(void); 361 pid_t getpid(void); 362 pid_t getppid(void); 363 uid_t getuid(void); 364 int isatty(int); 206 365 int link(const char *, const char *); 207 366 #ifndef _LSEEK_DECLARED 208 367 #define _LSEEK_DECLARED 209 off_t 210 #endif 211 long 212 int 213 int 214 ssize_t 215 int 216 int 217 /** @todo void setproctitle(const char *_fmt, ...) __printf0like(1, 2); */ 218 int setpgid(pid_t, pid_t);219 pid_t 220 int 221 unsigned sleep(unsigned);222 long 223 pid_t 224 int 225 char 226 int 227 intwrite(int, const void *, size_t);368 off_t lseek(int, off_t, int); 369 #endif 370 long pathconf(const char *, int); 371 int pause(void); 372 int pipe(int *); 373 ssize_t read(int, void *, size_t); 374 int rmdir(const char *); 375 int setgid(gid_t); 376 int setpgid(pid_t, pid_t); 377 void setproctitle(const char *_fmt, ...) __printf0like(1, 2); 378 pid_t setsid(void); 379 int setuid(uid_t); 380 unsigned int sleep(unsigned int); 381 long sysconf(int); 382 pid_t tcgetpgrp(int); 383 int tcsetpgrp(int, pid_t); 384 char *ttyname(int); 385 int unlink(const char *); 386 ssize_t write(int, const void *, size_t); 228 387 229 388 /* 1003.2-1992 */ 230 389 #if __POSIX_VISIBLE >= 199209 || __XSI_VISIBLE 231 390 /** @todo size_t confstr(int, char *, size_t);*/ 391 #ifndef _GETOPT_DECLARED 392 #define _GETOPT_DECLARED 232 393 int getopt(int, char * const [], const char *); 233 394 234 395 extern char *optarg; /* getopt(3) external variables */ 235 396 extern int optind, opterr, optopt; 397 #endif /* _GETOPT_DECLARED */ 236 398 #endif 237 399 … … 260 422 #endif 261 423 #if __POSIX_VISIBLE >= 200112 262 /* tcpip: int gethostname(char *, int / * socklen_t * /); */424 /* tcpip: int gethostname(char *, size_t); */ 263 425 /** @todo int setegid(gid_t); */ 264 426 /** @todo int seteuid(uid_t); */ … … 311 473 int getpagesize(void) __pure2; 312 474 char *getpass(const char *); 313 char *_getpass1(const char *); /* bird: emx stuff */314 char *_getpass2(const char *, int); /* bird: emx stuff */315 475 void *sbrk(intptr_t); 316 476 #endif … … 328 488 void endusershell(void); 329 489 /** @todo int exect(const char *, char * const *, char * const *); */ 490 /** @todo int execvP(const char *, const char *, char * const *); */ 330 491 /** @todo char *fflagstostr(u_long); */ 331 492 /** @todo int getdomainname(char *, int); */ … … 399 560 void *valloc(size_t); /* obsoleted by malloc() */ 400 561 401 /** @todo extern char *suboptarg; */ /* getsubopt(3) external variable */ 402 /** @todo #ifndef _GETSUBOPT_DECLARED */ 403 /** @todo int getsubopt(char **, char * const *, char **); */ 404 /** @todo #define _GETSUBOPT_DECLARED */ 405 /** @todo #endif */ 562 #ifndef _OPTRESET_DECLARED 563 #define _OPTRESET_DECLARED 406 564 extern int optreset; /* getopt(3) external variable */ 565 #endif 407 566 #endif /* __BSD_VISIBLE */ 408 567 … … 419 578 * EMX stuff. 420 579 */ 580 #if __XSI_VISIBLE <= 500 || __BSD_VISIBLE 581 char *_getpass1(const char *); 582 char *_getpass2(const char *, int); 583 #endif 584 421 585 #if !defined(_POSIX_SOURCE) || defined(_WITH_UNDERSCORE) 422 586 /** @todo update this section to match the one without underscores as far as needed! */ … … 513 677 __END_DECLS 514 678 515 #endif /* not _UNISTD_H*/679 #endif /* !_UNISTD_H_ */ -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.