1da2e3ebdSchin#
2da2e3ebdSchin# posix { getconf limits } macro table
3da2e3ebdSchin#
4*b30d1939SAndy Fiddaman# @(#)conf.tab (AT&T Research) 2010-06-28
5da2e3ebdSchin#
6da2e3ebdSchin# name standard section call flags [ header ... ] [ value ... ]
7da2e3ebdSchin#
8da2e3ebdSchin# name:		sans prefix
9da2e3ebdSchin# standard:	AST, C, POSIX, SVID, XOPEN, <vendor> { SCO, SGI, SUN, ... }
10da2e3ebdSchin# section:	section number in standard
11da2e3ebdSchin# call:		CS=confstr PC=pathconf SC=sysconf SI=sysinfo QQ=query XX=none
12da2e3ebdSchin# flags:	0	no flags
13da2e3ebdSchin#		C	defer call to native getconf(1)
14da2e3ebdSchin#		D	defer minmax to native getconf(1)
15da2e3ebdSchin#		F	unistd.h feature
16da2e3ebdSchin#		L	limits.h constant
17da2e3ebdSchin#		M	has _<standard><section>_<name> minmax value
18da2e3ebdSchin#		N	_<call>_<name>
19da2e3ebdSchin#		O	use original name and definition
20da2e3ebdSchin#		R	_<standard>_<call>_<section>_<name>
21da2e3ebdSchin#		S	_<call>_<standard><section>_<name>
22da2e3ebdSchin#		U	<standard><section>_<name> prefixed by underscore
23da2e3ebdSchin#		V	_ prefix not allowed
24da2e3ebdSchin#		W	standard required
25da2e3ebdSchin#		X	define even if native is dynamic (ast special)
26da2e3ebdSchin#
27da2e3ebdSchin# default names if <section> <= 1
28da2e3ebdSchin#
29da2e3ebdSchin#	_<call>_<name>
30da2e3ebdSchin#	<standard>_<name>
31da2e3ebdSchin#
32da2e3ebdSchin# default names if <section> > 1
33da2e3ebdSchin#
34da2e3ebdSchin#	_<call>_<section>_<name>
35da2e3ebdSchin#	<standard><section>_<name>
36da2e3ebdSchin#
37da2e3ebdSchin# the [NSU] flags modify the default names
38da2e3ebdSchin#
39da2e3ebdSchin
40da2e3ebdSchinABI_AIO_XFER_MAX		C	QQ 1 L
41da2e3ebdSchinABI_ASYNCHRONOUS_IO		C	QQ 1 L
42da2e3ebdSchinABI_ASYNC_IO			C	QQ 1 L
43da2e3ebdSchinADVISORY_INFO			POSIX	SC 1 FUW
44da2e3ebdSchinAIO_LISTIO_MAX			POSIX	SC 1 LMU	2
45da2e3ebdSchinAIO_MAX				POSIX	SC 1 LMU	1
46da2e3ebdSchinAIO_PRIO_DELTA_MAX		POSIX	SC 1 LMU
47da2e3ebdSchinALLOC_SIZE_MIN			POSIX	PC 1 LUVW
487c2fbfb3SApril ChinARCHITECTURE			SVID	SI 1 O
49da2e3ebdSchinARG_MAX				POSIX	SC 1 CDLMUX	NCARGS 4096
50da2e3ebdSchinASYNCHRONOUS_IO			POSIX	SC 1 CDFUW
51da2e3ebdSchinASYNC_IO			POSIX	PC 1 FUW
52da2e3ebdSchinATEXIT_MAX			XOPEN	SC 1 LMU	32
53da2e3ebdSchinAUDIT				C	QQ 1 L
54da2e3ebdSchinAVAIL_PROCESSORS		C	QQ 1 L
55da2e3ebdSchinAVPHYS_PAGES			SUN	SC 1 0
56da2e3ebdSchinBARRIERS			POSIX	SC 1 FUW
57da2e3ebdSchinBC_BASE_MAX			POSIX	SC 2 LMN	99
58da2e3ebdSchinBC_DIM_MAX			POSIX	SC 2 LMN	2048
59da2e3ebdSchinBC_SCALE_MAX			POSIX	SC 2 LMN	99
60da2e3ebdSchinBC_STRING_MAX			POSIX	SC 2 LMN	1000
617c2fbfb3SApril ChinBUSTYPES			SVID	SI 1 O
62da2e3ebdSchinCHARCLASS_NAME_MAX		XOPEN	XX 1 L		14
63da2e3ebdSchinCHAR_BIT			C	XX 1 L		8
64da2e3ebdSchinCHAR_MAX			C	XX 1 L
65da2e3ebdSchinCHAR_MIN			C	XX 1 L
66da2e3ebdSchinCHAR_TERM			POSIX	SC 2 FUW
67da2e3ebdSchinCHILD_MAX			POSIX	SC 1 CDLMUX	6	cc{
68da2e3ebdSchin	#if _lib_fork
69da2e3ebdSchin	#define child()		fork()
70da2e3ebdSchin	#else
71da2e3ebdSchin	#ifdef	_map_spawnve
72da2e3ebdSchin	#define spawnve		_map_spawnve
73da2e3ebdSchin	#endif
74da2e3ebdSchin	extern int		spawnve(const char*, char* const[], char* const[]);
75da2e3ebdSchin	static char*		cmd[] = { "/bin/echo", 0 };
76da2e3ebdSchin	#define child()		spawnve(cmd[0],cmd,(char**)0)
77da2e3ebdSchin	#endif
78da2e3ebdSchin	int main()
79da2e3ebdSchin	{
80da2e3ebdSchin		int	i;
81da2e3ebdSchin		int	n;
82da2e3ebdSchin		for (i = 3; i < 512 && (n = child()) >= 0; i++)
83da2e3ebdSchin			if (!n) _exit(0);
84da2e3ebdSchin		while (wait((int*)0) > 0);
85da2e3ebdSchin		for (n = 8; n < i; n <<= 1);
86da2e3ebdSchin		printf("%d", n);
87da2e3ebdSchin		return 0;
88da2e3ebdSchin	}
89da2e3ebdSchin}
90da2e3ebdSchinCHOWN_RESTRICTED		POSIX	PC 1 FUW
91da2e3ebdSchinCKPT				POSIX	SC 1 FU
92da2e3ebdSchinCLK_TCK				POSIX	SC 1 L		HZ 60
93da2e3ebdSchinCLOCKRES_MIN			POSIX	SC 1 MUW	1
94da2e3ebdSchinCLOCKS_PER_SEC			C	QQ 1 L
95da2e3ebdSchinCLOCK_SELECTION			POSIX	SC 1 FUVW
96da2e3ebdSchinCOLL_WEIGHTS_MAX		POSIX	SC 2 DLMN	2
97da2e3ebdSchinCPUTIME				POSIX	SC 1 FUW
98da2e3ebdSchinCPU_KEYBITS1			C	QQ 1 L
99da2e3ebdSchinCPU_VERSION			C	QQ 1 L
100da2e3ebdSchinCRYPT				XOPEN	SC 1 FSUW
1017c2fbfb3SApril ChinC_BIND				POSIX	SC 2 CFU
1027c2fbfb3SApril ChinC_DEV				POSIX	SC 2 CFU
103da2e3ebdSchinC_VERSION			POSIX	SC 2 CDFU
104da2e3ebdSchinDATAKEYS_MAX			C	QQ 1 0
105da2e3ebdSchinDELAYTIMER_MAX			POSIX	SC 1 LMU	32
106da2e3ebdSchinENH_I18N			XOPEN	SC 1 FSUW
107da2e3ebdSchinEQUIV_CLASS_MAX			C	QQ 1 L
108da2e3ebdSchinEXEC_INTERPRETER_LENGTH		C	QQ 1 L
109da2e3ebdSchinEXPR_NEST_MAX			POSIX	SC 2 LMN	32
110da2e3ebdSchinFCHR_MAX			SVID	SC 1 LMU	LONG_MAX 2147483647
111da2e3ebdSchinFILESIZEBITS			POSIX	PC 1 LMU	(8*sizeof(off_t)) 32
112da2e3ebdSchinFILE_LOCKING			POSIX	SC 1 FU
1137c2fbfb3SApril ChinFORT_DEV			POSIX	SC 2 CFUW
1147c2fbfb3SApril ChinFORT_RUN			POSIX	SC 2 CFUW
115da2e3ebdSchinFSYNC				POSIX	SC 1 CDFUW	_lib_fsync
116da2e3ebdSchinGETGR_R_SIZE_MAX		C	QQ 1 L
117da2e3ebdSchinGETPW_R_SIZE_MAX		C	QQ 1 L
118da2e3ebdSchinHOSTID				C	QQ 1 L
1197c2fbfb3SApril ChinHOSTNAME			SVID	SI 1 O
120da2e3ebdSchinHOST_NAME_MAX			POSIX	SC 1 LMU	255
1217c2fbfb3SApril ChinHW_PROVIDER			SVID	SI 1 O
122da2e3ebdSchinHW_SERIAL			C	QQ 1 L
123da2e3ebdSchinILP32_OFF32			XBS5	SC 1 FU
124da2e3ebdSchinILP32_OFF32_CFLAGS		XBS5	CS 1 FU
125da2e3ebdSchinILP32_OFF32_LDFLAGS		XBS5	CS 1 FU
126da2e3ebdSchinILP32_OFF32_LIBS		XBS5	CS 1 FU
127da2e3ebdSchinILP32_OFF32_LINTFLAGS		XBS5	CS 1 FU
128da2e3ebdSchinILP32_OFFBIG			XBS5	SC 1 FU
129da2e3ebdSchinILP32_OFFBIG_CFLAGS		XBS5	CS 1 FU
130da2e3ebdSchinILP32_OFFBIG_LDFLAGS		XBS5	CS 1 FU
131da2e3ebdSchinILP32_OFFBIG_LIBS		XBS5	CS 1 FU
132da2e3ebdSchinILP32_OFFBIG_LINTFLAGS		XBS5	CS 1 FU
1337c2fbfb3SApril ChinINITTAB_NAME			SVID	SI 1 O
134da2e3ebdSchinINT_MAX				C	XX 1 L		32767
135da2e3ebdSchinINT_MIN				C	XX 1 L		-32767
136da2e3ebdSchinIOV_MAX				XOPEN	SC 1 LMU	16
137da2e3ebdSchinIO_TYPE				C	QQ 1 L
138da2e3ebdSchinIPV6				POSIX	SC 1 FUW
139da2e3ebdSchinIP_SECOPTS			C	QQ 1 L
140da2e3ebdSchinJOB_CONTROL			POSIX	SC 1 FUW	cc{
141da2e3ebdSchin	#include "FEATURE/wait"
142da2e3ebdSchin	#if _ok_wif
143da2e3ebdSchin	int main()
144da2e3ebdSchin	{
145da2e3ebdSchin		printf("1");
146da2e3ebdSchin		return 0;
147da2e3ebdSchin	}
148da2e3ebdSchin	#endif
149da2e3ebdSchin}
150da2e3ebdSchinKERNEL_CLIST			SCO	SC 1 0
151da2e3ebdSchinKERNEL_CLIST_MAX		SCO	SC 1 0
152da2e3ebdSchinKERNEL_DISK			SCO	SC 1 0
153da2e3ebdSchinKERNEL_DISK_MAX			SCO	SC 1 0
154da2e3ebdSchinKERNEL_DMABUF			SCO	SC 1 0
155da2e3ebdSchinKERNEL_DMABUF_MAX		SCO	SC 1 0
156da2e3ebdSchinKERNEL_FILE			SCO	SC 1 0
157da2e3ebdSchinKERNEL_FILE_MAX			SCO	SC 1 0
158da2e3ebdSchinKERNEL_FLCKREC			SCO	SC 1 0
159da2e3ebdSchinKERNEL_FLCKREC_MAX		SCO	SC 1 0
160da2e3ebdSchinKERNEL_INODE			SCO	SC 1 0
161da2e3ebdSchinKERNEL_INODE_MAX		SCO	SC 1 0
162da2e3ebdSchinKERNEL_MOUNT			SCO	SC 1 0
163da2e3ebdSchinKERNEL_MOUNT_MAX		SCO	SC 1 0
164da2e3ebdSchinKERNEL_PINODE			SCO	SC 1 0
165da2e3ebdSchinKERNEL_PINODE_MAX		SCO	SC 1 0
166da2e3ebdSchinKERNEL_PROC			SCO	SC 1 0
167da2e3ebdSchinKERNEL_PROC_MAX			SCO	SC 1 0
168da2e3ebdSchinKERNEL_REGION			SCO	SC 1 0
169da2e3ebdSchinKERNEL_REGION_MAX		SCO	SC 1 0
170da2e3ebdSchinKERNEL_S5INODE			SCO	SC 1 0
171da2e3ebdSchinKERNEL_S5INODE_MAX		SCO	SC 1 0
1727c2fbfb3SApril ChinKERNEL_STAMP			SVID	SI 1 O
173da2e3ebdSchinKERN_POINTERS			C	QQ 1 L
174da2e3ebdSchinKERN_SIM			C	QQ 1 L
175da2e3ebdSchinLEGACY				XOPEN	SC 1 FU
176da2e3ebdSchinLFS_CFLAGS			POSIX	CS 1 MU		cc{ -D_LARGEFILE_SOURCE "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -D_LARGEFILE64_SOURCE -64
177da2e3ebdSchin	#include <sys/types.h>
178da2e3ebdSchin	int
179da2e3ebdSchin	main()
180da2e3ebdSchin	{
181da2e3ebdSchin		if (sizeof(off_t) >= sizeof(off_64_t))
182da2e3ebdSchin		{
183da2e3ebdSchin			printf("-");
184da2e3ebdSchin			return 0;
185da2e3ebdSchin		}
186da2e3ebdSchin		return 1;
187da2e3ebdSchin	}
188da2e3ebdSchin}
189da2e3ebdSchinLFS64_CFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
190da2e3ebdSchinLFS64_LDFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
191da2e3ebdSchinLFS64_LIBS			POSIX	CS 1 MU
192da2e3ebdSchinLFS64_LINTFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
193da2e3ebdSchinLFS_LDFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
194da2e3ebdSchinLFS_LIBS			POSIX	CS 1 MU
195da2e3ebdSchinLFS_LINTFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
196da2e3ebdSchinLINE_MAX			POSIX	SC 2 LMN	2048
197da2e3ebdSchinLINK_MAX			POSIX	PC 1 LMU	MAXLINK SHRT_MAX 8
198da2e3ebdSchinLLONG_MAX			C	XX 1 L
199da2e3ebdSchinLLONG_MIN			C	XX 1 L
200da2e3ebdSchinLOCALEDEF			POSIX	SC 1 FUW
2017c2fbfb3SApril ChinLOCALEDEF			POSIX	SC 2 CFUW
202da2e3ebdSchinLOGIN_NAME_MAX			POSIX	SC 1 LMU
203da2e3ebdSchinLOGNAME_MAX			SVID	SC 1 MU		8
204da2e3ebdSchinLONG_BIT			XOPEN	XX 1 L		(8*sizeof(long)) 32
205da2e3ebdSchinLONG_MAX			C	XX 1 L		2147483647
206da2e3ebdSchinLONG_MIN			C	XX 1 L		-2147483647
207da2e3ebdSchinLP64_OFF64			XBS5	SC 1 FU
208da2e3ebdSchinLP64_OFF64_CFLAGS		XBS5	CS 1 FU
209da2e3ebdSchinLP64_OFF64_LDFLAGS		XBS5	CS 1 FU
210da2e3ebdSchinLP64_OFF64_LIBS			XBS5	CS 1 FU
211da2e3ebdSchinLP64_OFF64_LINTFLAGS		XBS5	CS 1 FU
212da2e3ebdSchinLPBIG_OFFBIG			XBS5	SC 1 FU
213da2e3ebdSchinLPBIG_OFFBIG_CFLAGS		XBS5	CS 1 FU
214da2e3ebdSchinLPBIG_OFFBIG_LDFLAGS		XBS5	CS 1 FU
215da2e3ebdSchinLPBIG_OFFBIG_LIBS		XBS5	CS 1 FU
216da2e3ebdSchinLPBIG_OFFBIG_LINTFLAGS		XBS5	CS 1 FU
2177c2fbfb3SApril ChinMACHINE				SVID	SI 1 O
218da2e3ebdSchinMAPPED_FILES			POSIX	SC 1 CDFUW	_lib_mmap
219da2e3ebdSchinMAX_CANON			POSIX	PC 1 LMU	CANBSIZ 255
220da2e3ebdSchinMAX_INPUT			POSIX	PC 1 LMU	MAX_CANON 255
221da2e3ebdSchinMB_LEN_MAX			C	XX 1 L		1
222da2e3ebdSchinMCAS_OFFSET			C	QQ 1 L
223da2e3ebdSchinMEMLOCK				POSIX	SC 1 CDFUW
224da2e3ebdSchinMEMLOCK_RANGE			POSIX	SC 1 CDFUW
225da2e3ebdSchinMEMORY_PROTECTION		POSIX	SC 1 CDFUW
226da2e3ebdSchinMESSAGE_PASSING			POSIX	SC 1 CDFUW
227da2e3ebdSchinMMAP_FIXED_ALIGNMENT		C	QQ 1 L		_AST_PAGESIZE
228da2e3ebdSchinMONOTONIC_CLOCK			POSIX	SC 1 FUW
229da2e3ebdSchinMQ_OPEN_MAX			POSIX	SC 1 LMU	8
230da2e3ebdSchinMQ_PRIO_MAX			POSIX	SC 1 LMU	32
231da2e3ebdSchinMSEM_LOCKID			C	QQ 1 L
232da2e3ebdSchinMULTI_PROCESS			POSIX	SC 1 FU
233da2e3ebdSchinNACLS_MAX			SVID	SC 1 0
234da2e3ebdSchinNAME_MAX			POSIX	PC 1 LMU	14	cc{
235da2e3ebdSchin	int main()
236da2e3ebdSchin	{
237da2e3ebdSchin	#ifdef MAXNAMLEN
238da2e3ebdSchin		printf("%d", MAXNAMLEN);
239da2e3ebdSchin	#else
240da2e3ebdSchin	#if !defined(remove) && (!_lib_remove || _lib_unlink)
241da2e3ebdSchin	#define remove		unlink
242da2e3ebdSchin	#endif
243da2e3ebdSchin		int	i;
244da2e3ebdSchin		int	n;
245da2e3ebdSchin		int	v;
246da2e3ebdSchin		char	name[256];
247da2e3ebdSchin		for (i = 0; i < sizeof(name); i++)
248da2e3ebdSchin			name[i] = 'F';
249da2e3ebdSchin		name[8] = '.';
250da2e3ebdSchin		name[sizeof(name) - 1] = 0;
251da2e3ebdSchin		if ((n = creat(name, 0666)) >= 0)
252da2e3ebdSchin		{
253da2e3ebdSchin			close(n);
254da2e3ebdSchin			for (v = 12; v < sizeof(name); v++)
255da2e3ebdSchin			{
256da2e3ebdSchin				name[v] = 0;
257da2e3ebdSchin				if (remove(name) >= 0) break;
258da2e3ebdSchin				name[v] = 'F';
259da2e3ebdSchin			}
260da2e3ebdSchin		}
261da2e3ebdSchin		else for (v = 12; v < sizeof(name); v++)
262da2e3ebdSchin		{
263da2e3ebdSchin			name[v] = 0;
264da2e3ebdSchin			if ((n = creat(name, 0666)) >= 0)
265da2e3ebdSchin			{
266da2e3ebdSchin				close(n);
267da2e3ebdSchin				remove(name);
268da2e3ebdSchin				name[v] = 'F';
269da2e3ebdSchin			}
270da2e3ebdSchin			else
271da2e3ebdSchin			{
272da2e3ebdSchin				v--;
273da2e3ebdSchin				break;
274da2e3ebdSchin			}
275da2e3ebdSchin		}
276da2e3ebdSchin		printf("%d", v);
277da2e3ebdSchin		return 0;
278da2e3ebdSchin	}
279da2e3ebdSchin	#endif
280da2e3ebdSchin}
281da2e3ebdSchinNGROUPS_MAX			POSIX	SC 1 CDLMU	8	cc{
282da2e3ebdSchin	#if _lib_getgroups
283da2e3ebdSchin	int main()
284da2e3ebdSchin	{
285da2e3ebdSchin		int	n;
286da2e3ebdSchin		gid_t	g;
287da2e3ebdSchin		if ((n = getgroups(0, &g)) < 0)
288da2e3ebdSchin	#if defined(NGROUPS) && (NGROUPS-0) > 0
289da2e3ebdSchin			n = NGROUPS;
290da2e3ebdSchin	#else
291da2e3ebdSchin			return 1;
292da2e3ebdSchin	#endif
293da2e3ebdSchin		printf("%d", n);
294da2e3ebdSchin		return 0;
295da2e3ebdSchin	}
296da2e3ebdSchin	#endif
297da2e3ebdSchin}
298da2e3ebdSchinNL_ARGMAX			XOPEN	XX 1 L		9
299da2e3ebdSchinNL_LANGMAX			XOPEN	XX 1 L		14
300da2e3ebdSchinNL_MAX				C	QQ 1 L
301da2e3ebdSchinNL_MSGMAX			XOPEN	XX 1 L		32767
302da2e3ebdSchinNL_NMAX				XOPEN	XX 1 L		1
303da2e3ebdSchinNL_SETMAX			XOPEN	XX 1 L		255
304da2e3ebdSchinNL_SPECMAX			C	QQ 1 L
305da2e3ebdSchinNL_TEXTMAX			XOPEN	XX 1 L		LINE_MAX
306da2e3ebdSchinNO_TRUNC			POSIX	PC 1 FUW
307da2e3ebdSchinNPROCESSORS_CONF		SVID	SC 1 0
30834f9b3eeSRoland MainzNPROCESSORS_MAX			SVID	SC 1 0
309da2e3ebdSchinNPROCESSORS_ONLN		SVID	SC 1 0
310da2e3ebdSchinNPROC_CONF			C	QQ 1 L
311da2e3ebdSchinNPROC_ONLN			C	QQ 1 L
312da2e3ebdSchinNSS_BUFLEN_GROUP		C	QQ 1 L
313da2e3ebdSchinNSS_BUFLEN_PASSWD		C	QQ 1 L
314da2e3ebdSchinNUM_PROCESSORS			C	QQ 1 L
315da2e3ebdSchinNZERO				XOPEN	XX 1 L		20
316da2e3ebdSchinOPEN_MAX			POSIX	SC 1 CDLMUX	16	cc{
317da2e3ebdSchin	#if _lib_getdtablesize
318da2e3ebdSchin	extern int		getdtablesize(void);
319da2e3ebdSchin	int main()
320da2e3ebdSchin	{
321da2e3ebdSchin		printf("%d", getdtablesize());
322da2e3ebdSchin		return 0;
323da2e3ebdSchin	}
324da2e3ebdSchin	#else
325da2e3ebdSchin	int main()
326da2e3ebdSchin	{
327da2e3ebdSchin		int	i;
328da2e3ebdSchin		int	n;
329da2e3ebdSchin		int	v;
330da2e3ebdSchin		n = 0;
331da2e3ebdSchin		v = 2;
332da2e3ebdSchin		while ((i = dup(0)) >= 0)
333da2e3ebdSchin		{
334da2e3ebdSchin			if (!n) n = i;
335da2e3ebdSchin			if (i > v) v = i;
336da2e3ebdSchin		}
337da2e3ebdSchin		while (n <= v) close(n++);
338da2e3ebdSchin		printf("%d", v);
339da2e3ebdSchin		return 0;
340da2e3ebdSchin	}
341da2e3ebdSchin	#endif
342da2e3ebdSchin}
343da2e3ebdSchinOPEN_MAX_CEIL			AST	XX 1 L		OPEN_MAX
344da2e3ebdSchinOSREL_MAJ			C	QQ 1 L
345da2e3ebdSchinOSREL_MIN			C	QQ 1 L
346da2e3ebdSchinOSREL_PATCH			C	QQ 1 L
3477c2fbfb3SApril ChinOS_BASE				SVID	SI 1 O
3487c2fbfb3SApril ChinOS_PROVIDER			SVID	SI 1 O
349da2e3ebdSchinOS_VERSION			AES	SC 1 FSU
350da2e3ebdSchinPAGESIZE			POSIX	SC 1 MU		PAGESIZE PAGE_SIZE 4096	cc{
351da2e3ebdSchin	int main()
352da2e3ebdSchin	{
353da2e3ebdSchin	#if _WIN32
354da2e3ebdSchin		printf("%ld", 64*1024L);
355da2e3ebdSchin		return 0;
356da2e3ebdSchin	#else
357da2e3ebdSchin	#if _lib_getpagesize
358da2e3ebdSchin	#if _npt_getpagesize
359da2e3ebdSchin	extern size_t		getpagesize(void);
360da2e3ebdSchin	#endif
361da2e3ebdSchin		printf("%d", getpagesize());
362da2e3ebdSchin		return 0;
363da2e3ebdSchin	#endif
364da2e3ebdSchin	#else
365da2e3ebdSchin		return 1;
366da2e3ebdSchin	#endif
367da2e3ebdSchin	}
368da2e3ebdSchin}
369da2e3ebdSchinPAGE_SIZE			POSIX	SC 1 MU		_AST_PAGESIZE
370da2e3ebdSchinPASS_MAX			SVID	SC 1 CDLMU	8
371da2e3ebdSchinPATH				POSIX	CS 1 CMU	"/bin:/usr/bin"
372da2e3ebdSchinPATH_MAX			POSIX	PC 1 CDLMUX	MAXPATHLEN 1024
373da2e3ebdSchinPBS				POSIX	SC 2 FUW
374da2e3ebdSchinPBS_ACCOUNTING			POSIX	SC 2 FUW
375da2e3ebdSchinPBS_CHECKPOINT			POSIX	SC 2 FUW
376da2e3ebdSchinPBS_LOCATE			POSIX	SC 2 FUW
377da2e3ebdSchinPBS_MESSAGE			POSIX	SC 2 FUW
378da2e3ebdSchinPBS_TRACK			POSIX	SC 2 FUW
379da2e3ebdSchinPHYS_PAGES			SUN	SC 1 0
380da2e3ebdSchinPID_MAX				SVID	SC 1 LMU	30000	cc{
381da2e3ebdSchin	int main()
382da2e3ebdSchin	{
383*b30d1939SAndy Fiddaman		long	v;
384da2e3ebdSchin		int	fd;
385da2e3ebdSchin		int	n;
386da2e3ebdSchin		char	buf[1024];
387*b30d1939SAndy Fiddaman#ifdef PID_MAX
388*b30d1939SAndy Fiddaman		v = PID_MAX;
389*b30d1939SAndy Fiddaman#else
390*b30d1939SAndy Fiddaman		v = 99999;
391*b30d1939SAndy Fiddaman#endif
392*b30d1939SAndy Fiddaman		if ((fd = open("/proc/sys/kernel/pid_max", 0)) >= 0 && (n = read(fd, buf, sizeof(buf)-1)) > 1)
393*b30d1939SAndy Fiddaman		{
394*b30d1939SAndy Fiddaman			buf[n] = 0;
395*b30d1939SAndy Fiddaman			v = strtol(buf, (char**)0, 0);
396*b30d1939SAndy Fiddaman		}
397*b30d1939SAndy Fiddaman		else
398*b30d1939SAndy Fiddaman		{
399*b30d1939SAndy Fiddaman#ifdef __sgi
400*b30d1939SAndy Fiddaman			v = 0x7fffffff;
401*b30d1939SAndy Fiddaman#endif
402*b30d1939SAndy Fiddaman		}
403*b30d1939SAndy Fiddaman		printf("%ld", v);
404da2e3ebdSchin		return 0;
405da2e3ebdSchin	}
406da2e3ebdSchin}
407da2e3ebdSchinPII				POSIX	SC 1 FU
408da2e3ebdSchinPII_INTERNET			POSIX	SC 1 FU
409da2e3ebdSchinPII_INTERNET_DGRAM		POSIX	SC 1 FU
410da2e3ebdSchinPII_INTERNET_STREAM		POSIX	SC 1 FU
411da2e3ebdSchinPII_OSI				POSIX	SC 1 FU
412da2e3ebdSchinPII_OSI_CLTS			POSIX	SC 1 FU
413da2e3ebdSchinPII_OSI_COTS			POSIX	SC 1 FU
414da2e3ebdSchinPII_OSI_M			POSIX	SC 1 FU
415da2e3ebdSchinPII_SOCKET			POSIX	SC 1 FU
416da2e3ebdSchinPII_XTI				POSIX	SC 1 FU
417da2e3ebdSchinPIPE_BUF			POSIX	PC 1 LMU	512
418da2e3ebdSchinPOLL				POSIX	SC 1 FU
419da2e3ebdSchinPRIORITIZED_IO			POSIX	SC 1 FUW
420da2e3ebdSchinPRIORITY_SCHEDULING		POSIX	SC 1 CDFUW
421da2e3ebdSchinPRIO_IO				POSIX	PC 1 FUW
422da2e3ebdSchinPROC_RSRC_MGR			C	QQ 1 L
423da2e3ebdSchinPTHREAD_DESTRUCTOR_ITERATIONS	C	QQ 1 L
424da2e3ebdSchinPTHREAD_KEYS_MAX		C	QQ 1 L
425da2e3ebdSchinPTHREAD_STACK_MIN		C	QQ 1 L
426da2e3ebdSchinPTHREAD_THREADS_MAX		C	QQ 1 L
427da2e3ebdSchinPTRDIFF_MAX			C	XX 1 LMU	stdint.h 65535
428da2e3ebdSchinPTRDIFF_MIN			C	XX 1 LMU	stdint.h -65535
429da2e3ebdSchinRAW_SOCKETS			POSIX	SC 1 FUW
430da2e3ebdSchinREADER_WRITER_LOCKS		POSIX	SC 1 FUW
431da2e3ebdSchinREALTIME			XOPEN	SC 1 FU
432da2e3ebdSchinREALTIME_SIGNALS		POSIX	SC 1 CDFUW
433da2e3ebdSchinREALTIME_THREADS		XOPEN	SC 1 FU
434da2e3ebdSchinREC_INCR_XFER_SIZE		POSIX	PC 1 LVW
435da2e3ebdSchinREC_MAX_XFER_SIZE		POSIX	PC 1 LVW
436da2e3ebdSchinREC_MIN_XFER_SIZE		POSIX	PC 1 LVW
437da2e3ebdSchinREC_XFER_ALIGN			POSIX	PC 1 LVW
438da2e3ebdSchinREENTRANT_FUNCTIONS		POSIX	SC 1 FU
439da2e3ebdSchinREGEXP				POSIX	SC 1 FUW
440da2e3ebdSchinREGEX_VERSION			POSIX	SC 1 F		20030916
4417c2fbfb3SApril ChinRELEASE				AST	XX 1 L
442da2e3ebdSchinRESOURCE_LIMITS			POSIX	SC 1 FU
443da2e3ebdSchinRE_DUP_MAX			POSIX	SC 2 LMN	255
444da2e3ebdSchinRTSIG_MAX			POSIX	SC 1 LMU	8
445da2e3ebdSchinSAVED_IDS			POSIX	SC 1 FUW	cc{
446da2e3ebdSchin	#if _lib_setuid && !_lib_setreuid
447da2e3ebdSchin	int main()
448da2e3ebdSchin	{
449da2e3ebdSchin		printf("1");
450da2e3ebdSchin		return 0;
451da2e3ebdSchin	}
452da2e3ebdSchin	#endif
453da2e3ebdSchin}
454da2e3ebdSchinSCHAR_MAX			C	XX 1 L		127
455da2e3ebdSchinSCHAR_MIN			C	XX 1 L		-127
456da2e3ebdSchinSECURITY_CLASS			C	QQ 1 L
457da2e3ebdSchinSELECT				POSIX	SC 1 FU
458da2e3ebdSchinSEMAPHORES			POSIX	SC 1 CDFUW
459da2e3ebdSchinSEM_NSEMS_MAX			POSIX	SC 1 LMU	256
460da2e3ebdSchinSEM_VALUE_MAX			POSIX	SC 1 LMU	32767
461*b30d1939SAndy FiddamanSF_BUFSIZE			AST	XX 1 MUX	sh{
462*b30d1939SAndy Fiddaman	sed -e '/[ 	]*#[ 	]*define[ 	][ 	]*SF_BUFSIZE[ 	]/!d' -e 's/^[^0-9]*//' -e 's/[^0-9]*$//' $PACKAGEROOT/src/lib/libast/include/sfio.h
463*b30d1939SAndy Fiddaman}
464da2e3ebdSchinSH				AST	CS 1 MU		sh{
465da2e3ebdSchin	ifs=$IFS
466da2e3ebdSchin	IFS=:
467da2e3ebdSchin	set '' `$CONF_getconf PATH 2>/dev/null` /bin /usr/bin /sbin /usr/sbin
468da2e3ebdSchin	shift
469da2e3ebdSchin	path=$*
470da2e3ebdSchin	IFS=$ifs
471da2e3ebdSchin	for s in ksh ksh93 sh
472da2e3ebdSchin	do	for d in $path
473da2e3ebdSchin		do	if	test -x $d/$s
474da2e3ebdSchin			then	case $s in
475da2e3ebdSchin				ksh)	case `$d/$s '--?-author' 2>&1` in
476da2e3ebdSchin					*'David Korn'*) ;;
477da2e3ebdSchin					*)		continue ;;
478da2e3ebdSchin					esac
479da2e3ebdSchin					;;
480da2e3ebdSchin				esac
4817c2fbfb3SApril Chin				echo '"'$d/$s'"'
482da2e3ebdSchin				exit
483da2e3ebdSchin			fi
484da2e3ebdSchin		done
485da2e3ebdSchin	done
486da2e3ebdSchin	echo '"/bin/sh"'
487da2e3ebdSchin}
488da2e3ebdSchinSHARED_MEMORY_OBJECTS		POSIX	SC 1 CDFUW
489da2e3ebdSchinSHELL				POSIX	SC 1 FUVW
490da2e3ebdSchinSHM				XOPEN	SC 1 FSUW
491da2e3ebdSchinSHRT_MAX			C	XX 1 L		32767
492da2e3ebdSchinSHRT_MIN			C	XX 1 L		-32767
493da2e3ebdSchinSIG_ATOMIC_MAX			C	XX 1 L		signal.h
494da2e3ebdSchinSIG_ATOMIC_MIN			C	XX 1 L		signal.h
495da2e3ebdSchinSIGQUEUE_MAX			POSIX	SC 1 LMU	32
496da2e3ebdSchinSIGQUEUE_MAX			POSIX	SC 1 LMU	32
497da2e3ebdSchinSIGRT_MAX			SVID	SC 1 0
498da2e3ebdSchinSIGRT_MIN			SVID	SC 1 0
499da2e3ebdSchinSIZE_MAX			C	XX 1 LMX	stdint.h UINT_MAX 65535
500da2e3ebdSchinSLVM_MAXNODES			C	QQ 1 L
501da2e3ebdSchinSOCK_MAXBUF			C	QQ 1 0
502da2e3ebdSchinSOFTPOWER			C	QQ 1 L
503da2e3ebdSchinSPAWN				POSIX	SC 1 FUW
504da2e3ebdSchinSPIN_LOCKS			POSIX	SC 1 FUW
505da2e3ebdSchinSPORADIC_SERVER			POSIX	SC 1 FUW
506da2e3ebdSchinSRPC_DOMAIN			C	QQ 1 0
507da2e3ebdSchinSS_REPL_MAX			POSIX	SC 1 FUW
508da2e3ebdSchinSSIZE_MAX			POSIX	XX 1 LMUX	INT_MAX 32767
509da2e3ebdSchinSTD_BLK				SVID	SC 1 LMU	1024
510da2e3ebdSchinSTREAM_MAX			POSIX	SC 1 LMU	OPEN_MAX 8
511da2e3ebdSchinSTREAMS				XOPEN	SC 1 FSUW
5127c2fbfb3SApril ChinSW_DEV				POSIX	SC 2 CFUW
513da2e3ebdSchinSYMLINK_MAX			POSIX	PC 1 LMU	255	cc{
514da2e3ebdSchin	int main()
515da2e3ebdSchin	{
516da2e3ebdSchin		printf("%d", PATH_MAX-1);
517da2e3ebdSchin		return 0;
518da2e3ebdSchin	}
519da2e3ebdSchin}
520da2e3ebdSchinSYMLINKS			POSIX	PC 2 FUW
521da2e3ebdSchinSYMLOOP_MAX			POSIX	SC 1 LMU	8
522da2e3ebdSchinSYNCHRONIZED_IO			POSIX	SC 1 CDFUW
523da2e3ebdSchinSYNC_IO				POSIX	PC 1 FUW
5247c2fbfb3SApril ChinSYSNAME				SVID	SI 1 O
525da2e3ebdSchinSYSPID_MAX			SVID	SC 1 LMU	2
526da2e3ebdSchinTHREADS				POSIX	SC 1 CDFUW
527da2e3ebdSchinTHREADS_PRIO_CEILING		POSIX	SC 1 FUW
528da2e3ebdSchinTHREADS_PRIO_INHERIT		POSIX	SC 1 FUW
529da2e3ebdSchinTHREAD_ATTR_STACKADDR		POSIX	SC 1 CDFUW
530da2e3ebdSchinTHREAD_ATTR_STACKSIZE		POSIX	SC 1 CDFUW
531da2e3ebdSchinTHREAD_CPUTIME			POSIX	SC 1 FUW
532da2e3ebdSchinTHREAD_DESTRUCTOR_ITERATIONS	POSIX	SC 1 LMUW	PTHREAD_DESTRUCTOR_ITERATIONS 4
533da2e3ebdSchinTHREAD_KEYS_MAX			POSIX	SC 1 LMUW	PTHREAD_KEYS_MAX 128
534da2e3ebdSchinTHREAD_PRIORITY_SCHEDULING	POSIX	SC 1 CDFUW
535da2e3ebdSchinTHREAD_PRIO_INHERIT		POSIX	SC 1 CDFUW
536da2e3ebdSchinTHREAD_PRIO_PROTECT		POSIX	SC 1 CDFUW
537da2e3ebdSchinTHREAD_PROCESS_SHARED		POSIX	SC 1 CDFUW
538da2e3ebdSchinTHREAD_SAFE_FUNCTIONS		POSIX	SC 1 CDFUW
539da2e3ebdSchinTHREAD_SPORADIC_SERVER		POSIX	SC 1 FUW
540da2e3ebdSchinTHREAD_STACK_MIN		POSIX	SC 1 LUW	PTHREAD_STACK_MIN
541da2e3ebdSchinTHREAD_THREADS_MAX		POSIX	SC 1 LMUW	PTHREAD_THREADS_MAX 64
542da2e3ebdSchinTIMEOUTS			POSIX	SC 1 FUW
543da2e3ebdSchinTIMERS				POSIX	SC 1 CDFUW
544da2e3ebdSchinTIMER_MAX			POSIX	SC 1 LMU	32
545da2e3ebdSchinTMP				AST	CS 1 MU		"/tmp"
546da2e3ebdSchinTMP_MAX				C	SC 1 LMU	10000
547da2e3ebdSchinTRACE				POSIX	SC 1 FUW
548da2e3ebdSchinTRACE_EVENT_FILTER		POSIX	SC 1 FUW
549da2e3ebdSchinTRACE_EVENT_NAME_MAX		POSIX	SC 1 FUVW
550da2e3ebdSchinTRACE_INHERIT			POSIX	SC 1 FUW
551da2e3ebdSchinTRACE_LOG			POSIX	SC 1 FUW
552da2e3ebdSchinTRACE_NAME_MAX			POSIX	SC 1 FUVW
553da2e3ebdSchinTRACE_SYS_MAX			POSIX	SC 1 FUVW
554da2e3ebdSchinTRACE_USER_EVENT_MAX		POSIX	SC 1 FUVW
555da2e3ebdSchinTTY_NAME_MAX			POSIX	SC 1 LMU	9
556da2e3ebdSchinTYPED_MEMORY_OBJECTS		POSIX	SC 1 FUW
557da2e3ebdSchinTZNAME_MAX			POSIX	SC 1 CDLMU	6
558da2e3ebdSchinT_IOV_MAX			C	QQ 1 0
559da2e3ebdSchinUCHAR_MAX			C	XX 1 L		255
560da2e3ebdSchinUCHAR_MIN			C	XX 1 L
561da2e3ebdSchinUID_MAX				SVID	SC 1 LMU	60002
562da2e3ebdSchinUINT_MAX			C	XX 1 L		65535
563da2e3ebdSchinUIO_MAXIOV			C	QQ 1 0
564da2e3ebdSchinULLONG_MAX			C	XX 1 L
565da2e3ebdSchinULONG_MAX			C	XX 1 L		4294967295
566da2e3ebdSchinUNIX				XOPEN	SC 1 FSUW
5677c2fbfb3SApril ChinUPE				POSIX	SC 2 CFUW
5687c2fbfb3SApril ChinUSER_LIMIT			SVID	SI 1 O
569da2e3ebdSchinUSHRT_MAX			C	XX 1 L		65535
570da2e3ebdSchinV6_ILP32_OFF32			POSIX	SC 1 W
571da2e3ebdSchinV6_ILP32_OFFBIG			POSIX	SC 1 W
572da2e3ebdSchinV6_LP64_OFF64			POSIX	SC 1 W
573da2e3ebdSchinV6_LPBIG_OFFBIG			POSIX	SC 1 W
574da2e3ebdSchinVDISABLE			POSIX	PC 1 FUW
575da2e3ebdSchinVERSION				POSIX	SC 1 CDFSU	200112
576da2e3ebdSchinVERSION				POSIX	SC 2 CDFSU	200112
577da2e3ebdSchinVERSION				XOPEN	SC 1 CDFSU	600
578da2e3ebdSchinVERSION				AST	XX 1 MS		_AST_VERSION
579da2e3ebdSchinVERSION				SVID	SI 1 S
580da2e3ebdSchinVERSION				XPG	SC 3 DFSU
581da2e3ebdSchinVERSION				XPG	SC 4 DFSU
582da2e3ebdSchinVERSION_88			C	XX 1 L
583da2e3ebdSchinVERSION_88			POSIX	SC 1 FSU
584da2e3ebdSchinVERSION_90			C	XX 1 L
585da2e3ebdSchinVERSION_90			POSIX	SC 1 FSU
586da2e3ebdSchinVERSION_93			C	XX 1 L
587da2e3ebdSchinVERSION_93			POSIX	SC 1 FSU
588da2e3ebdSchinWCHAR_MAX			C	XX 1 L		stddef.h
589da2e3ebdSchinWCHAR_MIN			C	XX 1 L		stddef.h
590da2e3ebdSchinWINT_MIN			C	XX 1 L		wchar.h
591da2e3ebdSchinWINT_MAX			C	XX 1 L		wchar.h
592da2e3ebdSchinWORD_BIT			XOPEN	XX 1 L		(8*sizeof(int))
593da2e3ebdSchinXCU_VERSION			XOPEN	SC 1 CDFSU
594da2e3ebdSchinXPG2				XOPEN	XX 1 FU
595da2e3ebdSchinXPG3				XOPEN	XX 1 FU
596da2e3ebdSchinXPG4				XOPEN	XX 1 FU
597da2e3ebdSchin
598da2e3ebdSchin# vendor prefixes
599da2e3ebdSchin
600da2e3ebdSchinVERSION				GNU		XX 1 S
601da2e3ebdSchinVERSION				TRUSTEDBSD	XX 1 S
602