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