xref: /original-bsd/sys/sys/unistd.h (revision 333da485)
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