1 /* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)unistd.h 8.2 (Berkeley) 01/07/94 8 */ 9 10 #ifndef _SYS_UNISTD_H_ 11 #define _SYS_UNISTD_H_ 12 13 /* compile-time symbolic constants */ 14 #define _POSIX_JOB_CONTROL /* implementation supports job control */ 15 16 /* 17 * Although we have saved user/group IDs, we do not use them in setuid 18 * as described in POSIX 1003.1, because the feature does not work for 19 * root. We use the saved IDs in seteuid/setegid, which are not currently 20 * part of the POSIX 1003.1 specification. 21 */ 22 #ifdef _NOT_AVAILABLE 23 #define _POSIX_SAVED_IDS /* saved set-user-ID and set-group-ID */ 24 #endif 25 26 #define _POSIX_VERSION 198808L 27 #define _POSIX2_VERSION 199212L 28 29 /* execution-time symbolic constants */ 30 /* chown requires appropriate privileges */ 31 #define _POSIX_CHOWN_RESTRICTED 1 32 /* too-long path components generate errors */ 33 #define _POSIX_NO_TRUNC 1 34 /* may disable terminal special characters */ 35 #define _POSIX_VDISABLE ((unsigned char)'\377') 36 37 /* access function */ 38 #define F_OK 0 /* test for existence of file */ 39 #define X_OK 0x01 /* test for execute or search permission */ 40 #define W_OK 0x02 /* test for write permission */ 41 #define R_OK 0x04 /* test for read permission */ 42 43 /* whence values for lseek(2) */ 44 #define SEEK_SET 0 /* set file offset to offset */ 45 #define SEEK_CUR 1 /* set file offset to current plus offset */ 46 #define SEEK_END 2 /* set file offset to EOF plus offset */ 47 48 #ifndef _POSIX_SOURCE 49 /* whence values for lseek(2); renamed by POSIX 1003.1 */ 50 #define L_SET SEEK_SET 51 #define L_INCR SEEK_CUR 52 #define L_XTND SEEK_END 53 #endif 54 55 /* configurable pathname variables */ 56 #define _PC_LINK_MAX 1 57 #define _PC_MAX_CANON 2 58 #define _PC_MAX_INPUT 3 59 #define _PC_NAME_MAX 4 60 #define _PC_PATH_MAX 5 61 #define _PC_PIPE_BUF 6 62 #define _PC_CHOWN_RESTRICTED 7 63 #define _PC_NO_TRUNC 8 64 #define _PC_VDISABLE 9 65 66 /* configurable system variables */ 67 #define _SC_ARG_MAX 1 68 #define _SC_CHILD_MAX 2 69 #define _SC_CLK_TCK 3 70 #define _SC_NGROUPS_MAX 4 71 #define _SC_OPEN_MAX 5 72 #define _SC_JOB_CONTROL 6 73 #define _SC_SAVED_IDS 7 74 #define _SC_VERSION 8 75 #define _SC_BC_BASE_MAX 9 76 #define _SC_BC_DIM_MAX 10 77 #define _SC_BC_SCALE_MAX 11 78 #define _SC_BC_STRING_MAX 12 79 #define _SC_COLL_WEIGHTS_MAX 13 80 #define _SC_EXPR_NEST_MAX 14 81 #define _SC_LINE_MAX 15 82 #define _SC_RE_DUP_MAX 16 83 #define _SC_2_VERSION 17 84 #define _SC_2_C_BIND 18 85 #define _SC_2_C_DEV 19 86 #define _SC_2_CHAR_TERM 20 87 #define _SC_2_FORT_DEV 21 88 #define _SC_2_FORT_RUN 22 89 #define _SC_2_LOCALEDEF 23 90 #define _SC_2_SW_DEV 24 91 #define _SC_2_UPE 25 92 #define _SC_STREAM_MAX 26 93 #define _SC_TZNAME_MAX 27 94 95 /* configurable system strings */ 96 #define _CS_PATH 1 97 98 #endif /* !_SYS_UNISTD_H_ */ 99