xref: /onnv-gate/usr/src/lib/libast/common/comp/conf.tab (revision 4887:feebf9260c2e)
1*4887Schin#
2*4887Schin# posix { getconf limits } macro table
3*4887Schin#
4*4887Schin# @(#)conf.tab (AT&T Research) 2007-04-01
5*4887Schin#
6*4887Schin# name standard section call flags [ header ... ] [ value ... ]
7*4887Schin#
8*4887Schin# name:		sans prefix
9*4887Schin# standard:	AST, C, POSIX, SVID, XOPEN, <vendor> { SCO, SGI, SUN, ... }
10*4887Schin# section:	section number in standard
11*4887Schin# call:		CS=confstr PC=pathconf SC=sysconf SI=sysinfo QQ=query XX=none
12*4887Schin# flags:	0	no flags
13*4887Schin#		C	defer call to native getconf(1)
14*4887Schin#		D	defer minmax to native getconf(1)
15*4887Schin#		F	unistd.h feature
16*4887Schin#		L	limits.h constant
17*4887Schin#		M	has _<standard><section>_<name> minmax value
18*4887Schin#		N	_<call>_<name>
19*4887Schin#		O	use original name and definition
20*4887Schin#		R	_<standard>_<call>_<section>_<name>
21*4887Schin#		S	_<call>_<standard><section>_<name>
22*4887Schin#		U	<standard><section>_<name> prefixed by underscore
23*4887Schin#		V	_ prefix not allowed
24*4887Schin#		W	standard required
25*4887Schin#		X	define even if native is dynamic (ast special)
26*4887Schin#
27*4887Schin# default names if <section> <= 1
28*4887Schin#
29*4887Schin#	_<call>_<name>
30*4887Schin#	<standard>_<name>
31*4887Schin#
32*4887Schin# default names if <section> > 1
33*4887Schin#
34*4887Schin#	_<call>_<section>_<name>
35*4887Schin#	<standard><section>_<name>
36*4887Schin#
37*4887Schin# the [NSU] flags modify the default names
38*4887Schin#
39*4887Schin
40*4887SchinABI_AIO_XFER_MAX		C	QQ 1 L
41*4887SchinABI_ASYNCHRONOUS_IO		C	QQ 1 L
42*4887SchinABI_ASYNC_IO			C	QQ 1 L
43*4887SchinADVISORY_INFO			POSIX	SC 1 FUW
44*4887SchinAIO_LISTIO_MAX			POSIX	SC 1 LMU	2
45*4887SchinAIO_MAX				POSIX	SC 1 LMU	1
46*4887SchinAIO_PRIO_DELTA_MAX		POSIX	SC 1 LMU
47*4887SchinALLOC_SIZE_MIN			POSIX	PC 1 LUVW
48*4887SchinARCHITECTURE			SVID	SI 1 0
49*4887SchinARG_MAX				POSIX	SC 1 CDLMUX	NCARGS 4096
50*4887SchinASYNCHRONOUS_IO			POSIX	SC 1 CDFUW
51*4887SchinASYNC_IO			POSIX	PC 1 FUW
52*4887SchinATEXIT_MAX			XOPEN	SC 1 LMU	32
53*4887SchinAUDIT				C	QQ 1 L
54*4887SchinAVAIL_PROCESSORS		C	QQ 1 L
55*4887SchinAVPHYS_PAGES			SUN	SC 1 0
56*4887SchinBARRIERS			POSIX	SC 1 FUW
57*4887SchinBC_BASE_MAX			POSIX	SC 2 LMN	99
58*4887SchinBC_DIM_MAX			POSIX	SC 2 LMN	2048
59*4887SchinBC_SCALE_MAX			POSIX	SC 2 LMN	99
60*4887SchinBC_STRING_MAX			POSIX	SC 2 LMN	1000
61*4887SchinBUSTYPES			SVID	SI 1 0
62*4887SchinCHARCLASS_NAME_MAX		XOPEN	XX 1 L		14
63*4887SchinCHAR_BIT			C	XX 1 L		8
64*4887SchinCHAR_MAX			C	XX 1 L
65*4887SchinCHAR_MIN			C	XX 1 L
66*4887SchinCHAR_TERM			POSIX	SC 2 FUW
67*4887SchinCHILD_MAX			POSIX	SC 1 CDLMUX	6	cc{
68*4887Schin	#if _lib_fork
69*4887Schin	#define child()		fork()
70*4887Schin	#else
71*4887Schin	#ifdef	_map_spawnve
72*4887Schin	#define spawnve		_map_spawnve
73*4887Schin	#endif
74*4887Schin	extern int		spawnve(const char*, char* const[], char* const[]);
75*4887Schin	static char*		cmd[] = { "/bin/echo", 0 };
76*4887Schin	#define child()		spawnve(cmd[0],cmd,(char**)0)
77*4887Schin	#endif
78*4887Schin	int main()
79*4887Schin	{
80*4887Schin		int	i;
81*4887Schin		int	n;
82*4887Schin		for (i = 3; i < 512 && (n = child()) >= 0; i++)
83*4887Schin			if (!n) _exit(0);
84*4887Schin		while (wait((int*)0) > 0);
85*4887Schin		for (n = 8; n < i; n <<= 1);
86*4887Schin		printf("%d", n);
87*4887Schin		return 0;
88*4887Schin	}
89*4887Schin}
90*4887SchinCHOWN_RESTRICTED		POSIX	PC 1 FUW
91*4887SchinCKPT				POSIX	SC 1 FU
92*4887SchinCLK_TCK				POSIX	SC 1 L		HZ 60
93*4887SchinCLOCKRES_MIN			POSIX	SC 1 MUW	1
94*4887SchinCLOCKS_PER_SEC			C	QQ 1 L
95*4887SchinCLOCK_SELECTION			POSIX	SC 1 FUVW
96*4887SchinCOLL_WEIGHTS_MAX		POSIX	SC 2 DLMN	2
97*4887SchinCPUTIME				POSIX	SC 1 FUW
98*4887SchinCPU_KEYBITS1			C	QQ 1 L
99*4887SchinCPU_VERSION			C	QQ 1 L
100*4887SchinCRYPT				XOPEN	SC 1 FSUW
101*4887SchinC_BIND				POSIX	SC 2 FU
102*4887SchinC_DEV				POSIX	SC 2 FU
103*4887SchinC_VERSION			POSIX	SC 2 CDFU
104*4887SchinDATAKEYS_MAX			C	QQ 1 0
105*4887SchinDELAYTIMER_MAX			POSIX	SC 1 LMU	32
106*4887SchinENH_I18N			XOPEN	SC 1 FSUW
107*4887SchinEQUIV_CLASS_MAX			C	QQ 1 L
108*4887SchinEXEC_INTERPRETER_LENGTH		C	QQ 1 L
109*4887SchinEXPR_NEST_MAX			POSIX	SC 2 LMN	32
110*4887SchinFCHR_MAX			SVID	SC 1 LMU	LONG_MAX 2147483647
111*4887SchinFILESIZEBITS			POSIX	PC 1 LMU	(8*sizeof(off_t)) 32
112*4887SchinFILE_LOCKING			POSIX	SC 1 FU
113*4887SchinFORT_DEV			POSIX	SC 2 FUW
114*4887SchinFORT_RUN			POSIX	SC 2 FUW
115*4887SchinFSYNC				POSIX	SC 1 CDFUW	_lib_fsync
116*4887SchinGETGR_R_SIZE_MAX		C	QQ 1 L
117*4887SchinGETPW_R_SIZE_MAX		C	QQ 1 L
118*4887SchinHOSTID				C	QQ 1 L
119*4887SchinHOSTNAME			SVID	SI 1 0
120*4887SchinHOST_NAME_MAX			POSIX	SC 1 LMU	255
121*4887SchinHW_PROVIDER			SVID	SI 1 0
122*4887SchinHW_SERIAL			C	QQ 1 L
123*4887SchinILP32_OFF32			XBS5	SC 1 FU
124*4887SchinILP32_OFF32_CFLAGS		XBS5	CS 1 FU
125*4887SchinILP32_OFF32_LDFLAGS		XBS5	CS 1 FU
126*4887SchinILP32_OFF32_LIBS		XBS5	CS 1 FU
127*4887SchinILP32_OFF32_LINTFLAGS		XBS5	CS 1 FU
128*4887SchinILP32_OFFBIG			XBS5	SC 1 FU
129*4887SchinILP32_OFFBIG_CFLAGS		XBS5	CS 1 FU
130*4887SchinILP32_OFFBIG_LDFLAGS		XBS5	CS 1 FU
131*4887SchinILP32_OFFBIG_LIBS		XBS5	CS 1 FU
132*4887SchinILP32_OFFBIG_LINTFLAGS		XBS5	CS 1 FU
133*4887SchinINITTAB_NAME			SVID	SI 1 0
134*4887SchinINT_MAX				C	XX 1 L		32767
135*4887SchinINT_MIN				C	XX 1 L		-32767
136*4887SchinIOV_MAX				XOPEN	SC 1 LMU	16
137*4887SchinIO_TYPE				C	QQ 1 L
138*4887SchinIPV6				POSIX	SC 1 FUW
139*4887SchinIP_SECOPTS			C	QQ 1 L
140*4887SchinJOB_CONTROL			POSIX	SC 1 FUW	cc{
141*4887Schin	#include "FEATURE/wait"
142*4887Schin	#if _ok_wif
143*4887Schin	int main()
144*4887Schin	{
145*4887Schin		printf("1");
146*4887Schin		return 0;
147*4887Schin	}
148*4887Schin	#endif
149*4887Schin}
150*4887SchinKERNEL_CLIST			SCO	SC 1 0
151*4887SchinKERNEL_CLIST_MAX		SCO	SC 1 0
152*4887SchinKERNEL_DISK			SCO	SC 1 0
153*4887SchinKERNEL_DISK_MAX			SCO	SC 1 0
154*4887SchinKERNEL_DMABUF			SCO	SC 1 0
155*4887SchinKERNEL_DMABUF_MAX		SCO	SC 1 0
156*4887SchinKERNEL_FILE			SCO	SC 1 0
157*4887SchinKERNEL_FILE_MAX			SCO	SC 1 0
158*4887SchinKERNEL_FLCKREC			SCO	SC 1 0
159*4887SchinKERNEL_FLCKREC_MAX		SCO	SC 1 0
160*4887SchinKERNEL_INODE			SCO	SC 1 0
161*4887SchinKERNEL_INODE_MAX		SCO	SC 1 0
162*4887SchinKERNEL_MOUNT			SCO	SC 1 0
163*4887SchinKERNEL_MOUNT_MAX		SCO	SC 1 0
164*4887SchinKERNEL_PINODE			SCO	SC 1 0
165*4887SchinKERNEL_PINODE_MAX		SCO	SC 1 0
166*4887SchinKERNEL_PROC			SCO	SC 1 0
167*4887SchinKERNEL_PROC_MAX			SCO	SC 1 0
168*4887SchinKERNEL_REGION			SCO	SC 1 0
169*4887SchinKERNEL_REGION_MAX		SCO	SC 1 0
170*4887SchinKERNEL_S5INODE			SCO	SC 1 0
171*4887SchinKERNEL_S5INODE_MAX		SCO	SC 1 0
172*4887SchinKERNEL_STAMP			SVID	SI 1 0
173*4887SchinKERN_POINTERS			C	QQ 1 L
174*4887SchinKERN_SIM			C	QQ 1 L
175*4887SchinLEGACY				XOPEN	SC 1 FU
176*4887SchinLFS_CFLAGS			POSIX	CS 1 MU		cc{ -D_LARGEFILE_SOURCE "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -D_LARGEFILE64_SOURCE -64
177*4887Schin	#include <sys/types.h>
178*4887Schin	int
179*4887Schin	main()
180*4887Schin	{
181*4887Schin		if (sizeof(off_t) >= sizeof(off_64_t))
182*4887Schin		{
183*4887Schin			printf("-");
184*4887Schin			return 0;
185*4887Schin		}
186*4887Schin		return 1;
187*4887Schin	}
188*4887Schin}
189*4887SchinLFS64_CFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
190*4887SchinLFS64_LDFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
191*4887SchinLFS64_LIBS			POSIX	CS 1 MU
192*4887SchinLFS64_LINTFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
193*4887SchinLFS_LDFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
194*4887SchinLFS_LIBS			POSIX	CS 1 MU
195*4887SchinLFS_LINTFLAGS			POSIX	CS 1 MU		: LFS_CFLAGS
196*4887SchinLINE_MAX			POSIX	SC 2 LMN	2048
197*4887SchinLINK_MAX			POSIX	PC 1 LMU	MAXLINK SHRT_MAX 8
198*4887SchinLLONG_MAX			C	XX 1 L
199*4887SchinLLONG_MIN			C	XX 1 L
200*4887SchinLOCALEDEF			POSIX	SC 1 FUW
201*4887SchinLOCALEDEF			POSIX	SC 2 FUW
202*4887SchinLOGIN_NAME_MAX			POSIX	SC 1 LMU
203*4887SchinLOGNAME_MAX			SVID	SC 1 MU		8
204*4887SchinLONG_BIT			XOPEN	XX 1 L		(8*sizeof(long)) 32
205*4887SchinLONG_MAX			C	XX 1 L		2147483647
206*4887SchinLONG_MIN			C	XX 1 L		-2147483647
207*4887SchinLP64_OFF64			XBS5	SC 1 FU
208*4887SchinLP64_OFF64_CFLAGS		XBS5	CS 1 FU
209*4887SchinLP64_OFF64_LDFLAGS		XBS5	CS 1 FU
210*4887SchinLP64_OFF64_LIBS			XBS5	CS 1 FU
211*4887SchinLP64_OFF64_LINTFLAGS		XBS5	CS 1 FU
212*4887SchinLPBIG_OFFBIG			XBS5	SC 1 FU
213*4887SchinLPBIG_OFFBIG_CFLAGS		XBS5	CS 1 FU
214*4887SchinLPBIG_OFFBIG_LDFLAGS		XBS5	CS 1 FU
215*4887SchinLPBIG_OFFBIG_LIBS		XBS5	CS 1 FU
216*4887SchinLPBIG_OFFBIG_LINTFLAGS		XBS5	CS 1 FU
217*4887SchinMACHINE				SVID	SI 1 0
218*4887SchinMAPPED_FILES			POSIX	SC 1 CDFUW	_lib_mmap
219*4887SchinMAX_CANON			POSIX	PC 1 LMU	CANBSIZ 255
220*4887SchinMAX_INPUT			POSIX	PC 1 LMU	MAX_CANON 255
221*4887SchinMB_LEN_MAX			C	XX 1 L		1
222*4887SchinMCAS_OFFSET			C	QQ 1 L
223*4887SchinMEMLOCK				POSIX	SC 1 CDFUW
224*4887SchinMEMLOCK_RANGE			POSIX	SC 1 CDFUW
225*4887SchinMEMORY_PROTECTION		POSIX	SC 1 CDFUW
226*4887SchinMESSAGE_PASSING			POSIX	SC 1 CDFUW
227*4887SchinMMAP_FIXED_ALIGNMENT		C	QQ 1 L		_AST_PAGESIZE
228*4887SchinMONOTONIC_CLOCK			POSIX	SC 1 FUW
229*4887SchinMQ_OPEN_MAX			POSIX	SC 1 LMU	8
230*4887SchinMQ_PRIO_MAX			POSIX	SC 1 LMU	32
231*4887SchinMSEM_LOCKID			C	QQ 1 L
232*4887SchinMULTI_PROCESS			POSIX	SC 1 FU
233*4887SchinNACLS_MAX			SVID	SC 1 0
234*4887SchinNAME_MAX			POSIX	PC 1 LMU	14	cc{
235*4887Schin	int main()
236*4887Schin	{
237*4887Schin	#ifdef MAXNAMLEN
238*4887Schin		printf("%d", MAXNAMLEN);
239*4887Schin	#else
240*4887Schin	#if !defined(remove) && (!_lib_remove || _lib_unlink)
241*4887Schin	#define remove		unlink
242*4887Schin	#endif
243*4887Schin		int	i;
244*4887Schin		int	n;
245*4887Schin		int	v;
246*4887Schin		char	name[256];
247*4887Schin		for (i = 0; i < sizeof(name); i++)
248*4887Schin			name[i] = 'F';
249*4887Schin		name[8] = '.';
250*4887Schin		name[sizeof(name) - 1] = 0;
251*4887Schin		if ((n = creat(name, 0666)) >= 0)
252*4887Schin		{
253*4887Schin			close(n);
254*4887Schin			for (v = 12; v < sizeof(name); v++)
255*4887Schin			{
256*4887Schin				name[v] = 0;
257*4887Schin				if (remove(name) >= 0) break;
258*4887Schin				name[v] = 'F';
259*4887Schin			}
260*4887Schin		}
261*4887Schin		else for (v = 12; v < sizeof(name); v++)
262*4887Schin		{
263*4887Schin			name[v] = 0;
264*4887Schin			if ((n = creat(name, 0666)) >= 0)
265*4887Schin			{
266*4887Schin				close(n);
267*4887Schin				remove(name);
268*4887Schin				name[v] = 'F';
269*4887Schin			}
270*4887Schin			else
271*4887Schin			{
272*4887Schin				v--;
273*4887Schin				break;
274*4887Schin			}
275*4887Schin		}
276*4887Schin		printf("%d", v);
277*4887Schin		return 0;
278*4887Schin	}
279*4887Schin	#endif
280*4887Schin}
281*4887SchinNGROUPS_MAX			POSIX	SC 1 CDLMU	8	cc{
282*4887Schin	#if _lib_getgroups
283*4887Schin	int main()
284*4887Schin	{
285*4887Schin		int	n;
286*4887Schin		gid_t	g;
287*4887Schin		if ((n = getgroups(0, &g)) < 0)
288*4887Schin	#if defined(NGROUPS) && (NGROUPS-0) > 0
289*4887Schin			n = NGROUPS;
290*4887Schin	#else
291*4887Schin			return 1;
292*4887Schin	#endif
293*4887Schin		printf("%d", n);
294*4887Schin		return 0;
295*4887Schin	}
296*4887Schin	#endif
297*4887Schin}
298*4887SchinNL_ARGMAX			XOPEN	XX 1 L		9
299*4887SchinNL_LANGMAX			XOPEN	XX 1 L		14
300*4887SchinNL_MAX				C	QQ 1 L
301*4887SchinNL_MSGMAX			XOPEN	XX 1 L		32767
302*4887SchinNL_NMAX				XOPEN	XX 1 L		1
303*4887SchinNL_SETMAX			XOPEN	XX 1 L		255
304*4887SchinNL_SPECMAX			C	QQ 1 L
305*4887SchinNL_TEXTMAX			XOPEN	XX 1 L		LINE_MAX
306*4887SchinNO_TRUNC			POSIX	PC 1 FUW
307*4887SchinNPROCESSORS_CONF		SVID	SC 1 0
308*4887SchinNPROCESSORS_ONLN		SVID	SC 1 0
309*4887SchinNPROC_CONF			C	QQ 1 L
310*4887SchinNPROC_ONLN			C	QQ 1 L
311*4887SchinNSS_BUFLEN_GROUP		C	QQ 1 L
312*4887SchinNSS_BUFLEN_PASSWD		C	QQ 1 L
313*4887SchinNUM_PROCESSORS			C	QQ 1 L
314*4887SchinNZERO				XOPEN	XX 1 L		20
315*4887SchinOPEN_MAX			POSIX	SC 1 CDLMUX	16	cc{
316*4887Schin	#if _lib_getdtablesize
317*4887Schin	extern int		getdtablesize(void);
318*4887Schin	int main()
319*4887Schin	{
320*4887Schin		printf("%d", getdtablesize());
321*4887Schin		return 0;
322*4887Schin	}
323*4887Schin	#else
324*4887Schin	int main()
325*4887Schin	{
326*4887Schin		int	i;
327*4887Schin		int	n;
328*4887Schin		int	v;
329*4887Schin		n = 0;
330*4887Schin		v = 2;
331*4887Schin		while ((i = dup(0)) >= 0)
332*4887Schin		{
333*4887Schin			if (!n) n = i;
334*4887Schin			if (i > v) v = i;
335*4887Schin		}
336*4887Schin		while (n <= v) close(n++);
337*4887Schin		printf("%d", v);
338*4887Schin		return 0;
339*4887Schin	}
340*4887Schin	#endif
341*4887Schin}
342*4887SchinOPEN_MAX_CEIL			AST	XX 1 L		OPEN_MAX
343*4887SchinOSREL_MAJ			C	QQ 1 L
344*4887SchinOSREL_MIN			C	QQ 1 L
345*4887SchinOSREL_PATCH			C	QQ 1 L
346*4887SchinOS_BASE				SVID	SI 1 0
347*4887SchinOS_PROVIDER			SVID	SI 1 0
348*4887SchinOS_VERSION			AES	SC 1 FSU
349*4887SchinPAGESIZE			POSIX	SC 1 MU		PAGESIZE PAGE_SIZE 4096	cc{
350*4887Schin	int main()
351*4887Schin	{
352*4887Schin	#if _WIN32
353*4887Schin		printf("%ld", 64*1024L);
354*4887Schin		return 0;
355*4887Schin	#else
356*4887Schin	#if _lib_getpagesize
357*4887Schin	#if _npt_getpagesize
358*4887Schin	extern size_t		getpagesize(void);
359*4887Schin	#endif
360*4887Schin		printf("%d", getpagesize());
361*4887Schin		return 0;
362*4887Schin	#endif
363*4887Schin	#else
364*4887Schin		return 1;
365*4887Schin	#endif
366*4887Schin	}
367*4887Schin}
368*4887SchinPAGE_SIZE			POSIX	SC 1 MU		_AST_PAGESIZE
369*4887SchinPASS_MAX			SVID	SC 1 CDLMU	8
370*4887SchinPATH				POSIX	CS 1 CMU	"/bin:/usr/bin"
371*4887SchinPATH_MAX			POSIX	PC 1 CDLMUX	MAXPATHLEN 1024
372*4887SchinPBS				POSIX	SC 2 FUW
373*4887SchinPBS_ACCOUNTING			POSIX	SC 2 FUW
374*4887SchinPBS_CHECKPOINT			POSIX	SC 2 FUW
375*4887SchinPBS_LOCATE			POSIX	SC 2 FUW
376*4887SchinPBS_MESSAGE			POSIX	SC 2 FUW
377*4887SchinPBS_TRACK			POSIX	SC 2 FUW
378*4887SchinPHYS_PAGES			SUN	SC 1 0
379*4887SchinPID_MAX				SVID	SC 1 LMU	30000	cc{
380*4887Schin	int main()
381*4887Schin	{
382*4887Schin		int	fd;
383*4887Schin		int	n;
384*4887Schin		char	buf[1024];
385*4887Schin		if ((fd = open("/proc/sys/kernel/pid_max", 0)) < 0)
386*4887Schin			return 1;
387*4887Schin		if ((n = read(fd, buf, sizeof(buf)-1)) < 2)
388*4887Schin			return 1;
389*4887Schin		buf[n] = 0;
390*4887Schin		n = (int)strtol(buf, (char**)0, 0);
391*4887Schin		printf("%ld", n);
392*4887Schin		return 0;
393*4887Schin	}
394*4887Schin}
395*4887SchinPII				POSIX	SC 1 FU
396*4887SchinPII_INTERNET			POSIX	SC 1 FU
397*4887SchinPII_INTERNET_DGRAM		POSIX	SC 1 FU
398*4887SchinPII_INTERNET_STREAM		POSIX	SC 1 FU
399*4887SchinPII_OSI				POSIX	SC 1 FU
400*4887SchinPII_OSI_CLTS			POSIX	SC 1 FU
401*4887SchinPII_OSI_COTS			POSIX	SC 1 FU
402*4887SchinPII_OSI_M			POSIX	SC 1 FU
403*4887SchinPII_SOCKET			POSIX	SC 1 FU
404*4887SchinPII_XTI				POSIX	SC 1 FU
405*4887SchinPIPE_BUF			POSIX	PC 1 LMU	512
406*4887SchinPOLL				POSIX	SC 1 FU
407*4887SchinPRIORITIZED_IO			POSIX	SC 1 FUW
408*4887SchinPRIORITY_SCHEDULING		POSIX	SC 1 CDFUW
409*4887SchinPRIO_IO				POSIX	PC 1 FUW
410*4887SchinPROC_RSRC_MGR			C	QQ 1 L
411*4887SchinPTHREAD_DESTRUCTOR_ITERATIONS	C	QQ 1 L
412*4887SchinPTHREAD_KEYS_MAX		C	QQ 1 L
413*4887SchinPTHREAD_STACK_MIN		C	QQ 1 L
414*4887SchinPTHREAD_THREADS_MAX		C	QQ 1 L
415*4887SchinPTRDIFF_MAX			C	XX 1 LMU	stdint.h 65535
416*4887SchinPTRDIFF_MIN			C	XX 1 LMU	stdint.h -65535
417*4887SchinRAW_SOCKETS			POSIX	SC 1 FUW
418*4887SchinREADER_WRITER_LOCKS		POSIX	SC 1 FUW
419*4887SchinREALTIME			XOPEN	SC 1 FU
420*4887SchinREALTIME_SIGNALS		POSIX	SC 1 CDFUW
421*4887SchinREALTIME_THREADS		XOPEN	SC 1 FU
422*4887SchinREC_INCR_XFER_SIZE		POSIX	PC 1 LVW
423*4887SchinREC_MAX_XFER_SIZE		POSIX	PC 1 LVW
424*4887SchinREC_MIN_XFER_SIZE		POSIX	PC 1 LVW
425*4887SchinREC_XFER_ALIGN			POSIX	PC 1 LVW
426*4887SchinREENTRANT_FUNCTIONS		POSIX	SC 1 FU
427*4887SchinREGEXP				POSIX	SC 1 FUW
428*4887SchinREGEX_VERSION			POSIX	SC 1 F		20030916
429*4887SchinRELEASE				C	QQ 1 L
430*4887SchinRESOURCE_LIMITS			POSIX	SC 1 FU
431*4887SchinRE_DUP_MAX			POSIX	SC 2 LMN	255
432*4887SchinRTSIG_MAX			POSIX	SC 1 LMU	8
433*4887SchinSAVED_IDS			POSIX	SC 1 FUW	cc{
434*4887Schin	#if _lib_setuid && !_lib_setreuid
435*4887Schin	int main()
436*4887Schin	{
437*4887Schin		printf("1");
438*4887Schin		return 0;
439*4887Schin	}
440*4887Schin	#endif
441*4887Schin}
442*4887SchinSCHAR_MAX			C	XX 1 L		127
443*4887SchinSCHAR_MIN			C	XX 1 L		-127
444*4887SchinSECURITY_CLASS			C	QQ 1 L
445*4887SchinSELECT				POSIX	SC 1 FU
446*4887SchinSEMAPHORES			POSIX	SC 1 CDFUW
447*4887SchinSEM_NSEMS_MAX			POSIX	SC 1 LMU	256
448*4887SchinSEM_VALUE_MAX			POSIX	SC 1 LMU	32767
449*4887SchinSH				AST	CS 1 MU		sh{
450*4887Schin	ifs=$IFS
451*4887Schin	IFS=:
452*4887Schin	set '' `$CONF_getconf PATH 2>/dev/null` /bin /usr/bin /sbin /usr/sbin
453*4887Schin	shift
454*4887Schin	path=$*
455*4887Schin	IFS=$ifs
456*4887Schin	for s in ksh ksh93 sh
457*4887Schin	do	for d in $path
458*4887Schin		do	if	test -x $d/$s
459*4887Schin			then	case $s in
460*4887Schin				ksh)	case `$d/$s '--?-author' 2>&1` in
461*4887Schin					*'David Korn'*) ;;
462*4887Schin					*)		continue ;;
463*4887Schin					esac
464*4887Schin					;;
465*4887Schin				esac
466*4887Schin				echo "\"$d/$s\""
467*4887Schin				exit
468*4887Schin			fi
469*4887Schin		done
470*4887Schin	done
471*4887Schin	echo '"/bin/sh"'
472*4887Schin}
473*4887SchinSHARED_MEMORY_OBJECTS		POSIX	SC 1 CDFUW
474*4887SchinSHELL				POSIX	SC 1 FUVW
475*4887SchinSHM				XOPEN	SC 1 FSUW
476*4887SchinSHRT_MAX			C	XX 1 L		32767
477*4887SchinSHRT_MIN			C	XX 1 L		-32767
478*4887SchinSIG_ATOMIC_MAX			C	XX 1 L		signal.h
479*4887SchinSIG_ATOMIC_MIN			C	XX 1 L		signal.h
480*4887SchinSIGQUEUE_MAX			POSIX	SC 1 LMU	32
481*4887SchinSIGQUEUE_MAX			POSIX	SC 1 LMU	32
482*4887SchinSIGRT_MAX			SVID	SC 1 0
483*4887SchinSIGRT_MIN			SVID	SC 1 0
484*4887SchinSIZE_MAX			C	XX 1 LMX	stdint.h UINT_MAX 65535
485*4887SchinSLVM_MAXNODES			C	QQ 1 L
486*4887SchinSOCK_MAXBUF			C	QQ 1 0
487*4887SchinSOFTPOWER			C	QQ 1 L
488*4887SchinSPAWN				POSIX	SC 1 FUW
489*4887SchinSPIN_LOCKS			POSIX	SC 1 FUW
490*4887SchinSPORADIC_SERVER			POSIX	SC 1 FUW
491*4887SchinSRPC_DOMAIN			C	QQ 1 0
492*4887SchinSS_REPL_MAX			POSIX	SC 1 FUW
493*4887SchinSSIZE_MAX			POSIX	XX 1 LMUX	INT_MAX 32767
494*4887SchinSTD_BLK				SVID	SC 1 LMU	1024
495*4887SchinSTREAM_MAX			POSIX	SC 1 LMU	OPEN_MAX 8
496*4887SchinSTREAMS				XOPEN	SC 1 FSUW
497*4887SchinSW_DEV				POSIX	SC 2 FUW
498*4887SchinSYMLINK_MAX			POSIX	PC 1 LMU	255	cc{
499*4887Schin	int main()
500*4887Schin	{
501*4887Schin		printf("%d", PATH_MAX-1);
502*4887Schin		return 0;
503*4887Schin	}
504*4887Schin}
505*4887SchinSYMLINKS			POSIX	PC 2 FUW
506*4887SchinSYMLOOP_MAX			POSIX	SC 1 LMU	8
507*4887SchinSYNCHRONIZED_IO			POSIX	SC 1 CDFUW
508*4887SchinSYNC_IO				POSIX	PC 1 FUW
509*4887SchinSYSNAME				SVID	SI 1 0
510*4887SchinSYSPID_MAX			SVID	SC 1 LMU	2
511*4887SchinTHREADS				POSIX	SC 1 CDFUW
512*4887SchinTHREADS_PRIO_CEILING		POSIX	SC 1 FUW
513*4887SchinTHREADS_PRIO_INHERIT		POSIX	SC 1 FUW
514*4887SchinTHREAD_ATTR_STACKADDR		POSIX	SC 1 CDFUW
515*4887SchinTHREAD_ATTR_STACKSIZE		POSIX	SC 1 CDFUW
516*4887SchinTHREAD_CPUTIME			POSIX	SC 1 FUW
517*4887SchinTHREAD_DESTRUCTOR_ITERATIONS	POSIX	SC 1 LMUW	PTHREAD_DESTRUCTOR_ITERATIONS 4
518*4887SchinTHREAD_KEYS_MAX			POSIX	SC 1 LMUW	PTHREAD_KEYS_MAX 128
519*4887SchinTHREAD_PRIORITY_SCHEDULING	POSIX	SC 1 CDFUW
520*4887SchinTHREAD_PRIO_INHERIT		POSIX	SC 1 CDFUW
521*4887SchinTHREAD_PRIO_PROTECT		POSIX	SC 1 CDFUW
522*4887SchinTHREAD_PROCESS_SHARED		POSIX	SC 1 CDFUW
523*4887SchinTHREAD_SAFE_FUNCTIONS		POSIX	SC 1 CDFUW
524*4887SchinTHREAD_SPORADIC_SERVER		POSIX	SC 1 FUW
525*4887SchinTHREAD_STACK_MIN		POSIX	SC 1 LUW	PTHREAD_STACK_MIN
526*4887SchinTHREAD_THREADS_MAX		POSIX	SC 1 LMUW	PTHREAD_THREADS_MAX 64
527*4887SchinTIMEOUTS			POSIX	SC 1 FUW
528*4887SchinTIMERS				POSIX	SC 1 CDFUW
529*4887SchinTIMER_MAX			POSIX	SC 1 LMU	32
530*4887SchinTMP				AST	CS 1 MU		"/tmp"
531*4887SchinTMP_MAX				C	SC 1 LMU	10000
532*4887SchinTRACE				POSIX	SC 1 FUW
533*4887SchinTRACE_EVENT_FILTER		POSIX	SC 1 FUW
534*4887SchinTRACE_EVENT_NAME_MAX		POSIX	SC 1 FUVW
535*4887SchinTRACE_INHERIT			POSIX	SC 1 FUW
536*4887SchinTRACE_LOG			POSIX	SC 1 FUW
537*4887SchinTRACE_NAME_MAX			POSIX	SC 1 FUVW
538*4887SchinTRACE_SYS_MAX			POSIX	SC 1 FUVW
539*4887SchinTRACE_USER_EVENT_MAX		POSIX	SC 1 FUVW
540*4887SchinTTY_NAME_MAX			POSIX	SC 1 LMU	9
541*4887SchinTYPED_MEMORY_OBJECTS		POSIX	SC 1 FUW
542*4887SchinTZNAME_MAX			POSIX	SC 1 CDLMU	6
543*4887SchinT_IOV_MAX			C	QQ 1 0
544*4887SchinUCHAR_MAX			C	XX 1 L		255
545*4887SchinUCHAR_MIN			C	XX 1 L
546*4887SchinUID_MAX				SVID	SC 1 LMU	60002
547*4887SchinUINT_MAX			C	XX 1 L		65535
548*4887SchinUIO_MAXIOV			C	QQ 1 0
549*4887SchinULLONG_MAX			C	XX 1 L
550*4887SchinULONG_MAX			C	XX 1 L		4294967295
551*4887SchinUNIX				XOPEN	SC 1 FSUW
552*4887SchinUPE				POSIX	SC 2 FUW
553*4887SchinUSER_LIMIT			SVID	SI 1 0
554*4887SchinUSHRT_MAX			C	XX 1 L		65535
555*4887SchinV6_ILP32_OFF32			POSIX	SC 1 W
556*4887SchinV6_ILP32_OFFBIG			POSIX	SC 1 W
557*4887SchinV6_LP64_OFF64			POSIX	SC 1 W
558*4887SchinV6_LPBIG_OFFBIG			POSIX	SC 1 W
559*4887SchinVDISABLE			POSIX	PC 1 FUW
560*4887SchinVERSION				POSIX	SC 1 CDFSU	200112
561*4887SchinVERSION				POSIX	SC 2 CDFSU	200112
562*4887SchinVERSION				XOPEN	SC 1 CDFSU	600
563*4887SchinVERSION				AST	XX 1 MS		_AST_VERSION
564*4887SchinVERSION				SVID	SI 1 S
565*4887SchinVERSION				XPG	SC 3 DFSU
566*4887SchinVERSION				XPG	SC 4 DFSU
567*4887SchinVERSION_88			C	XX 1 L
568*4887SchinVERSION_88			POSIX	SC 1 FSU
569*4887SchinVERSION_90			C	XX 1 L
570*4887SchinVERSION_90			POSIX	SC 1 FSU
571*4887SchinVERSION_93			C	XX 1 L
572*4887SchinVERSION_93			POSIX	SC 1 FSU
573*4887SchinWCHAR_MAX			C	XX 1 L		stddef.h
574*4887SchinWCHAR_MIN			C	XX 1 L		stddef.h
575*4887SchinWINT_MIN			C	XX 1 L		wchar.h
576*4887SchinWINT_MAX			C	XX 1 L		wchar.h
577*4887SchinWORD_BIT			XOPEN	XX 1 L		(8*sizeof(int))
578*4887SchinXCU_VERSION			XOPEN	SC 1 CDFSU
579*4887SchinXPG2				XOPEN	XX 1 FU
580*4887SchinXPG3				XOPEN	XX 1 FU
581*4887SchinXPG4				XOPEN	XX 1 FU
582*4887Schin
583*4887Schin# vendor prefixes
584*4887Schin
585*4887SchinVERSION				GNU		XX 1 S
586*4887SchinVERSION				TRUSTEDBSD	XX 1 S
587