sysconf.gperf revision 59632
159632Swollman%{
259632Swollman/*
359632Swollman * Copyright is disclaimed as to the contents of this file.
459632Swollman *
559632Swollman * $FreeBSD: head/usr.bin/getconf/sysconf.gperf 59632 2000-04-26 02:36:54Z wollman $
659632Swollman */
759632Swollman
859632Swollman#include <sys/types.h>
959632Swollman
1059632Swollman#include <limits.h>
1159632Swollman#include <string.h>
1259632Swollman#include <unistd.h>
1359632Swollman
1459632Swollman#include "getconf.h"
1559632Swollman
1659632Swollman/*
1759632Swollman * Stuff that isn't defined right now -- we want this file to work
1859632Swollman * unmodified once it is defined.
1959632Swollman */
2059632Swollman#ifndef _SC_ATEXIT_MAX
2159632Swollman#define	_SC_ATEXIT_MAX	-1
2259632Swollman#endif
2359632Swollman#ifndef _SC_TTY_NAME_MAX
2459632Swollman#define	_SC_TTY_NAME_MAX	-1
2559632Swollman#endif
2659632Swollman#ifndef _SC_MQ_PRIO_MAX
2759632Swollman#define	_SC_MQ_PRIO_MAX	-1
2859632Swollman#endif
2959632Swollman#ifndef _SC_IOV_MAX
3059632Swollman#define _SC_IOV_MAX	-1
3159632Swollman#endif
3259632Swollman#ifndef	_SC_XOPEN_REALTIME
3359632Swollman#define	_SC_XOPEN_REALTIME	-1
3459632Swollman#endif
3559632Swollman#ifndef	_SC_XOPEN_LEGACY
3659632Swollman#define	_SC_XOPEN_LEGACY	-1
3759632Swollman#endif
3859632Swollman#ifndef	_SC_XCU_VERSION
3959632Swollman#define	_SC_XCU_VERSION	-1
4059632Swollman#endif
4159632Swollman#ifndef	_SC_PASS_MAX
4259632Swollman#define	_SC_PASS_MAX	-1
4359632Swollman#endif
4459632Swollman#ifndef	_SC_XOPEN_REALTIME_THREADS
4559632Swollman#define	_SC_XOPEN_REALTIME_THREADS	-1
4659632Swollman#endif
4759632Swollman#ifndef	_SC_LOGIN_NAME_MAX
4859632Swollman#define	_SC_LOGIN_NAME_MAX	-1
4959632Swollman#endif
5059632Swollman#ifndef	_SC_XBS5_LP64_OFF64
5159632Swollman#define	_SC_XBS5_LP64_OFF64	-1
5259632Swollman#endif
5359632Swollman#ifndef	_SC_XOPEN_SHM
5459632Swollman#define	_SC_XOPEN_SHM	-1
5559632Swollman#endif
5659632Swollman#ifndef	_SC_XOPEN_CRYPT
5759632Swollman#define	_SC_XOPEN_CRYPT	-1
5859632Swollman#endif
5959632Swollman#ifndef	_SC_XOPEN_UNIX
6059632Swollman#define	_SC_XOPEN_UNIX	-1
6159632Swollman#endif
6259632Swollman#ifndef	_SC_XOPEN_VERSION
6359632Swollman#define	_SC_XOPEN_VERSION	-1
6459632Swollman#endif
6559632Swollman#ifndef	_SC_THREAD_DESTRUCTOR_ITERATIONS
6659632Swollman#define	_SC_THREAD_DESTRUCTOR_ITERATIONS	-1
6759632Swollman#endif
6859632Swollman#ifndef	_SC_THREAD_KEYS_MAX
6959632Swollman#define	_SC_THREAD_KEYS_MAX	-1
7059632Swollman#endif
7159632Swollman#ifndef	_SC_2_C_VERSION
7259632Swollman#define	_SC_2_C_VERSION	-1
7359632Swollman#endif
7459632Swollman#ifndef	_SC_XBS5_LPBIG_OFFBIG
7559632Swollman#define	_SC_XBS5_LPBIG_OFFBIG	-1
7659632Swollman#endif
7759632Swollman#ifndef	_SC_THREAD_THREADS_MAX
7859632Swollman#define	_SC_THREAD_THREADS_MAX	-1
7959632Swollman#endif
8059632Swollman#ifndef	_SC_XBS5_ILP32_OFF32
8159632Swollman#define	_SC_XBS5_ILP32_OFF32	-1
8259632Swollman#endif
8359632Swollman#ifndef	_SC_XBS5_ILP32_OFFBIG
8459632Swollman#define	_SC_XBS5_ILP32_OFFBIG	-1
8559632Swollman#endif
8659632Swollman#ifndef	_SC_THREAD_STACK_MIN
8759632Swollman#define	_SC_THREAD_STACK_MIN	-1
8859632Swollman#endif
8959632Swollman#ifndef	_SC_XOPEN_ENH_I18N
9059632Swollman#define	_SC_XOPEN_ENH_I18N	-1
9159632Swollman#endif
9259632Swollman#ifndef	_SC_THREAD_ATTR_STACKSIZE
9359632Swollman#define	_SC_THREAD_ATTR_STACKSIZE	-1
9459632Swollman#endif
9559632Swollman#ifndef	_SC_THREAD_PRIORITY_SCHEDULING
9659632Swollman#define	_SC_THREAD_PRIORITY_SCHEDULING	-1
9759632Swollman#endif
9859632Swollman#ifndef	_SC_THREADS
9959632Swollman#define	_SC_THREADS	-1
10059632Swollman#endif
10159632Swollman#ifndef	_SC_THREAD_PROCESS_SHARED
10259632Swollman#define	_SC_THREAD_PROCESS_SHARED	-1
10359632Swollman#endif
10459632Swollman#ifndef	_SC_THREAD_SAFE_FUNCTIONS
10559632Swollman#define	_SC_THREAD_SAFE_FUNCTIONS	-1
10659632Swollman#endif
10759632Swollman#ifndef	_SC_THREAD_PRIO_PROTECT
10859632Swollman#define	_SC_THREAD_PRIO_PROTECT	-1
10959632Swollman#endif
11059632Swollman#ifndef	_SC_THREAD_ATTR_STACKADDR
11159632Swollman#define	_SC_THREAD_ATTR_STACKADDR	-1
11259632Swollman#endif
11359632Swollman#ifndef	_SC_THREAD_PRIO_INHERIT
11459632Swollman#define	_SC_THREAD_PRIO_INHERIT	-1
11559632Swollman#endif
11659632Swollman
11759632Swollman/*
11859632Swollman * Override gperf's built-in external scope.
11959632Swollman */
12059632Swollmanstatic const struct map *in_word_set(const char *str, unsigned int len);
12159632Swollman
12259632Swollman%}
12359632Swollmanstruct map { char *name; int key; };
12459632Swollman%%
12559632SwollmanAIO_LISTIO_MAX, _SC_AIO_LISTIO_MAX
12659632SwollmanAIO_MAX, _SC_AIO_MAX
12759632SwollmanAIO_PRIO_DELTA_MAX, _SC_AIO_PRIO_DELTA_MAX
12859632SwollmanARG_MAX, _SC_ARG_MAX
12959632SwollmanATEXIT_MAX, _SC_ATEXIT_MAX
13059632SwollmanBC_BASE_MAX, _SC_BC_BASE_MAX
13159632SwollmanBC_DIM_MAX, _SC_BC_DIM_MAX
13259632SwollmanBC_SCALE_MAX, _SC_BC_SCALE_MAX
13359632SwollmanBC_STRING_MAX, _SC_BC_STRING_MAX
13459632SwollmanCHILD_MAX, _SC_CHILD_MAX
13559632SwollmanCLK_TCK, _SC_CLK_TCK
13659632SwollmanCOLL_WEIGHTS_MAX, _SC_COLL_WEIGHTS_MAX
13759632SwollmanDELAYTIMER_MAX, _SC_DELAYTIMER_MAX
13859632SwollmanEXPR_NEST_MAX, _SC_EXPR_NEST_MAX
13959632SwollmanIOV_MAX, _SC_IOV_MAX
14059632SwollmanLINE_MAX, _SC_LINE_MAX
14159632SwollmanLOGIN_NAME_MAX, _SC_LOGIN_NAME_MAX 
14259632SwollmanMQ_OPEN_MAX, _SC_MQ_OPEN_MAX
14359632SwollmanMQ_PRIO_MAX, _SC_MQ_PRIO_MAX
14459632SwollmanNGROUPS_MAX, _SC_NGROUPS_MAX
14559632SwollmanOPEN_MAX, _SC_OPEN_MAX
14659632SwollmanPAGESIZE, _SC_PAGESIZE
14759632SwollmanPAGE_SIZE, _SC_PAGESIZE
14859632SwollmanPASS_MAX, _SC_PASS_MAX
14959632SwollmanPTHREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_DESTRUCTOR_ITERATIONS 
15059632SwollmanPTHREAD_KEYS_MAX, _SC_THREAD_KEYS_MAX 
15159632SwollmanPTHREAD_STACK_MIN, _SC_THREAD_STACK_MIN 
15259632SwollmanPTHREAD_THREADS_MAX, _SC_THREAD_THREADS_MAX 
15359632SwollmanRE_DUP_MAX, _SC_RE_DUP_MAX
15459632SwollmanRTSIG_MAX, _SC_RTSIG_MAX
15559632SwollmanSEM_NSEMS_MAX, _SC_SEM_NSEMS_MAX
15659632SwollmanSEM_VALUE_MAX, _SC_SEM_VALUE_MAX
15759632SwollmanSIGQUEUE_MAX, _SC_SIGQUEUE_MAX
15859632SwollmanSTREAM_MAX, _SC_STREAM_MAX
15959632SwollmanTIMER_MAX, _SC_TIMER_MAX
16059632SwollmanTTY_NAME_MAX, _SC_TTY_NAME_MAX 
16159632SwollmanTZNAME_MAX, _SC_TZNAME_MAX
16259632Swollman_POSIX2_CHAR_TERM, _SC_2_CHAR_TERM
16359632Swollman_POSIX2_C_BIND, _SC_2_C_BIND
16459632Swollman_POSIX2_C_DEV, _SC_2_C_DEV
16559632Swollman_POSIX2_C_VERSION, _SC_2_C_VERSION
16659632Swollman_POSIX2_FORT_DEV, _SC_2_FORT_DEV
16759632Swollman_POSIX2_FORT_RUN, _SC_2_FORT_RUN
16859632Swollman_POSIX2_LOCALEDEF, _SC_2_LOCALEDEF
16959632Swollman_POSIX2_SW_DEV, _SC_2_SW_DEV
17059632Swollman_POSIX2_UPE, _SC_2_UPE
17159632Swollman_POSIX2_VERSION, _SC_2_VERSION
17259632Swollman_POSIX_ASYNCHRONOUS_IO, _SC_ASYNCHRONOUS_IO 
17359632Swollman_POSIX_FSYNC, _SC_FSYNC 
17459632Swollman_POSIX_JOB_CONTROL, _SC_JOB_CONTROL
17559632Swollman_POSIX_MAPPED_FILES, _SC_MAPPED_FILES 
17659632Swollman_POSIX_MEMLOCK, _SC_MEMLOCK 
17759632Swollman_POSIX_MEMLOCK_RANGE, _SC_MEMLOCK_RANGE 
17859632Swollman_POSIX_MEMORY_PROTECTION, _SC_MEMORY_PROTECTION 
17959632Swollman_POSIX_MESSAGE_PASSING, _SC_MESSAGE_PASSING 
18059632Swollman_POSIX_PRIORITIZED_IO, _SC_PRIORITIZED_IO 
18159632Swollman_POSIX_PRIORITY_SCHEDULING, _SC_PRIORITY_SCHEDULING 
18259632Swollman_POSIX_REALTIME_SIGNALS, _SC_REALTIME_SIGNALS 
18359632Swollman_POSIX_SAVED_IDS, _SC_SAVED_IDS
18459632Swollman_POSIX_SEMAPHORES, _SC_SEMAPHORES 
18559632Swollman_POSIX_SHARED_MEMORY_OBJECTS, _SC_SHARED_MEMORY_OBJECTS 
18659632Swollman_POSIX_SYNCHRONIZED_IO, _SC_SYNCHRONIZED_IO 
18759632Swollman_POSIX_THREADS, _SC_THREADS 
18859632Swollman_POSIX_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKADDR 
18959632Swollman_POSIX_THREAD_ATTR_STACKSIZE, _SC_THREAD_ATTR_STACKSIZE 
19059632Swollman_POSIX_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIORITY_SCHEDULING 
19159632Swollman_POSIX_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_INHERIT 
19259632Swollman_POSIX_THREAD_PRIO_PROTECT, _SC_THREAD_PRIO_PROTECT 
19359632Swollman_POSIX_THREAD_PROCESS_SHARED, _SC_THREAD_PROCESS_SHARED 
19459632Swollman_POSIX_THREAD_SAFE_FUNCTIONS, _SC_THREAD_SAFE_FUNCTIONS 
19559632Swollman_POSIX_TIMERS, _SC_TIMERS
19659632Swollman_POSIX_VERSION, _SC_VERSION
19759632Swollman_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFF32
19859632Swollman_XBS5_ILP32_OFFBIG, _SC_XBS5_ILP32_OFFBIG
19959632Swollman_XBS5_LP64_OFF64, _SC_XBS5_LP64_OFF64
20059632Swollman_XBS5_LPBIG_OFFBIG, _SC_XBS5_LPBIG_OFFBIG
20159632Swollman_XOPEN_CRYPT, _SC_XOPEN_CRYPT
20259632Swollman_XOPEN_ENH_I18N, _SC_XOPEN_ENH_I18N
20359632Swollman_XOPEN_LEGACY, _SC_XOPEN_LEGACY
20459632Swollman_XOPEN_REALTIME, _SC_XOPEN_REALTIME
20559632Swollman_XOPEN_REALTIME_THREADS, _SC_XOPEN_REALTIME_THREADS
20659632Swollman_XOPEN_SHM, _SC_XOPEN_SHM
20759632Swollman_XOPEN_UNIX, _SC_XOPEN_UNIX
20859632Swollman_XOPEN_VERSION, _SC_XOPEN_VERSION
20959632Swollman_XOPEN_XCU_VERSION, _SC_XCU_VERSION
21059632Swollman%%
21159632Swollmanint
21259632Swollmanfind_sysconf(const char *name)
21359632Swollman{
21459632Swollman	const struct map *rv;
21559632Swollman
21659632Swollman	rv = in_word_set(name, strlen(name));
21759632Swollman	if (rv != 0)
21859632Swollman		return rv->key;
21959632Swollman	else
22059632Swollman		return -1;
22159632Swollman}
222