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