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.1 (Berkeley) 06/02/93 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 #define _POSIX_CHOWN_RESTRICTED /* chown requires appropriate privileges */ 31 #define _POSIX_NO_TRUNC /* too-long path components generate errors */ 32 /* may disable terminal special characters */ 33 #define _POSIX_VDISABLE ((unsigned char)'\377') 34 35 /* access function */ 36 #define F_OK 0 /* test for existence of file */ 37 #define X_OK 0x01 /* test for execute or search permission */ 38 #define W_OK 0x02 /* test for write permission */ 39 #define R_OK 0x04 /* test for read permission */ 40 41 /* whence values for lseek(2) */ 42 #define SEEK_SET 0 /* set file offset to offset */ 43 #define SEEK_CUR 1 /* set file offset to current plus offset */ 44 #define SEEK_END 2 /* set file offset to EOF plus offset */ 45 46 #ifndef _POSIX_SOURCE 47 /* whence values for lseek(2); renamed by POSIX 1003.1 */ 48 #define L_SET SEEK_SET 49 #define L_INCR SEEK_CUR 50 #define L_XTND SEEK_END 51 #endif 52 53 /* configurable pathname variables */ 54 #define _PC_LINK_MAX 1 55 #define _PC_MAX_CANON 2 56 #define _PC_MAX_INPUT 3 57 #define _PC_NAME_MAX 4 58 #define _PC_PATH_MAX 5 59 #define _PC_PIPE_BUF 6 60 #define _PC_CHOWN_RESTRICTED 7 61 #define _PC_NO_TRUNC 8 62 #define _PC_VDISABLE 9 63 64 /* configurable system variables */ 65 #define _SC_ARG_MAX 1 66 #define _SC_CHILD_MAX 2 67 #define _SC_CLK_TCK 3 68 #define _SC_NGROUPS_MAX 4 69 #define _SC_OPEN_MAX 5 70 #define _SC_JOB_CONTROL 6 71 #define _SC_SAVED_IDS 7 72 #define _SC_VERSION 8 73 #define _SC_BC_BASE_MAX 9 74 #define _SC_BC_DIM_MAX 10 75 #define _SC_BC_SCALE_MAX 11 76 #define _SC_BC_STRING_MAX 12 77 #define _SC_COLL_WEIGHTS_MAX 13 78 #define _SC_EXPR_NEST_MAX 14 79 #define _SC_LINE_MAX 15 80 #define _SC_RE_DUP_MAX 16 81 #define _SC_2_VERSION 17 82 #define _SC_2_C_BIND 18 83 #define _SC_2_C_DEV 19 84 #define _SC_2_CHAR_TERM 20 85 #define _SC_2_FORT_DEV 21 86 #define _SC_2_FORT_RUN 22 87 #define _SC_2_LOCALEDEF 23 88 #define _SC_2_SW_DEV 24 89 #define _SC_2_UPE 25 90 #define _SC_STREAM_MAX 26 91 #define _SC_TZNAME_MAX 27 92 93 /* configurable system strings */ 94 #define _CS_PATH 1 95 96 #endif /* !_SYS_UNISTD_H_ */ 97