limits.gperf revision 119312
1103591Swollman%{ 2103591Swollman/* 3103591Swollman * Copyright is disclaimed as to the contents of this file. 4103591Swollman * 5103591Swollman * $FreeBSD: head/usr.bin/getconf/limits.gperf 119312 2003-08-22 17:32:07Z markm $ 6103591Swollman */ 7103591Swollman 8103591Swollman#include <sys/types.h> 9103591Swollman 10103591Swollman#include <string.h> 11103591Swollman#include <limits.h> 12103591Swollman 13103591Swollman#include "getconf.h" 14103591Swollman 15103591Swollman/* 16103591Swollman * Override gperf's built-in external scope. 17103591Swollman */ 18119312Smarkmstatic const struct map *in_word_set(const char *str); 19103591Swollman 20103591Swollman%} 21103591Swollmanstruct map { const char *name; intmax_t value; int valid; }; 22103591Swollman%% 23103591Swollman_POSIX_CLOCKRES_MIN, _POSIX_CLOCKRES_MIN 24103591Swollman_POSIX_AIO_LISTIO_MAX, _POSIX_AIO_LISTIO_MAX 25103591Swollman_POSIX_AIO_MAX, _POSIX_AIO_MAX 26103591Swollman_POSIX_ARG_MAX, _POSIX_ARG_MAX 27103591Swollman_POSIX_CHILD_MAX, _POSIX_CHILD_MAX 28103591Swollman_POSIX_DELAYTIMER_MAX, _POSIX_DELAYTIMER_MAX 29103591Swollman_POSIX_HOST_NAME_MAX, _POSIX_HOST_NAME_MAX 30103591Swollman_POSIX_LINK_MAX, _POSIX_LINK_MAX 31103591Swollman_POSIX_LOGIN_NAME_MAX, _POSIX_LOGIN_NAME_MAX 32103591Swollman_POSIX_MAX_CANON, _POSIX_MAX_CANON 33103591Swollman_POSIX_MAX_INPUT, _POSIX_MAX_INPUT 34103591Swollman_POSIX_MQ_OPEN_MAX, _POSIX_MQ_OPEN_MAX 35103591Swollman_POSIX_MQ_PRIO_MAX, _POSIX_MQ_PRIO_MAX 36103591Swollman_POSIX_NAME_MAX, _POSIX_NAME_MAX 37103591Swollman_POSIX_NGROUPS_MAX, _POSIX_NGROUPS_MAX 38103591Swollman_POSIX_OPEN_MAX, _POSIX_OPEN_MAX 39103591Swollman_POSIX_PATH_MAX, _POSIX_PATH_MAX 40103591Swollman_POSIX_PIPE_BUF, __POSIX_PIPE_BUF 41103591Swollman_POSIX_RE_DUP_MAX, _POSIX_RE_DUP_MAX 42103591Swollman_POSIX_RTSIG_MAX, _POSIX_RTSIG_MAX 43103591Swollman_POSIX_SEM_NSEMS_MAX, _POSIX_SEM_NSEMS_MAX 44103591Swollman_POSIX_SEM_VALUE_MAX, _POSIX_SEM_VALUE_MAX 45103591Swollman_POSIX_SIGQUEUE_MAX, _POSIX_SIGQUEUE_MAX 46103591Swollman_POSIX_SSIZE_MAX, _POSIX_SSIZE_MAX 47103591Swollman_POSIX_STREAM_MAX, _POSIX_STREAM_MAX 48103591Swollman_POSIX_SS_REPL_MAX, _POSIX_SS_REPL_MAX 49103591Swollman_POSIX_SYMLINK_MAX, _POSIX_SYMLINK_MAX 50103591Swollman_POSIX_SYMLOOP_MAX, _POSIX_SYMLOOP_MAX 51103591Swollman_POSIX_THREAD_DESTRUCTOR_ITERATIONS, _POSIX_THREAD_DESTRUCTOR_ITERATIONS 52103591Swollman_POSIX_THREAD_KEYS_MAX, _POSIX_THREAD_KEYS_MAX 53103591Swollman_POSIX_THREAD_THREADS_MAX, _POSIX_THREAD_THREADS_MAX 54103591Swollman_POSIX_TIMER_MAX, _POSIX_TIMER_MAX 55103591Swollman_POSIX_TRACE_EVENT_NAME_MAX, _POSIX_TRACE_EVENT_NAME_MAX 56103591Swollman_POSIX_TRACE_NAME_MAX, _POSIX_TRACE_NAME_MAX 57103591Swollman_POSIX_TRACE_SYS_MAX, _POSIX_TRACE_SYS_MAX 58103591Swollman_POSIX_TRACE_USER_EVENT_MAX, _POSIX_TRACE_USER_EVENT_MAX 59103591Swollman_POSIX_TTY_NAME_MAX, _POSIX_TTY_NAME_MAX 60103591Swollman_POSIX_TZNAME_MAX, _POSIX_TZNAME_MAX 61103591Swollman_POSIX2_BC_BASE_MAX, _POSIX2_BC_BASE_MAX 62103591Swollman_POSIX2_BC_DIM_MAX, _POSIX2_BC_DIM_MAX 63103591Swollman_POSIX2_BC_SCALE_MAX, _POSIX2_BC_SCALE_MAX 64103591Swollman_POSIX2_BC_STRING_MAX, _POSIX2_BC_STRING_MAX 65103591Swollman_POSIX2_CHARCLASS_NAME_MAX, _POSIX2_CHARCLASS_NAME_MAX 66103591Swollman_POSIX2_COLL_WEIGHTS_MAX, _POSIX2_COLL_WEIGHTS_MAX 67103591Swollman_POSIX2_EXPR_NEXT_MAX, _POSIX2_EXPR_NEST_MAX 68103591Swollman_POSIX2_LINE_MAX, _POSIX2_LINE_MAX 69103591Swollman_POSIX2_RE_DUP_MAX, _POSIX2_RE_DUP_MAX 70103591Swollman_XOPEN_IOV_MAX, _XOPEN_IOV_MAX 71103591Swollman_XOPEN_NAME_MAX, _XOPEN_NAME_MAX 72103591Swollman_XOPEN_PATH_MAX, _XOPEN_PATH_MAX 73103591SwollmanCHAR_BIT, CHAR_BIT 74103591SwollmanCHAR_MAX, CHAR_MAX 75103591SwollmanCHAR_MIN, CHAR_MIN 76103591SwollmanINT_MAX, INT_MAX 77103591SwollmanINT_MIN, INT_MIN 78103591SwollmanLLONG_MIN, LLONG_MIN 79103591SwollmanLLONG_MAX, LLONG_MAX 80103591SwollmanLONG_BIT, LONG_BIT 81103591SwollmanLONG_MAX, LONG_MAX 82103591SwollmanLONG_MIN, LONG_MIN 83103591SwollmanMB_LEN_MAX, MB_LEN_MAX 84103591SwollmanSCHAR_MAX, SCHAR_MAX 85103591SwollmanSCHAR_MIN, SCHAR_MIN 86103591SwollmanSHRT_MAX, SHRT_MAX 87103591SwollmanSHRT_MIN, SHRT_MIN 88103591SwollmanSSIZE_MAX, SSIZE_MAX 89103591SwollmanUCHAR_MAX, UCHAR_MAX 90103591SwollmanUINT_MAX, UINT_MAX 91103591SwollmanULLONG_MAX, ULLONG_MAX 92103591SwollmanULONG_MAX, ULONG_MAX 93103591SwollmanUSHRT_MAX, USHRT_MAX 94103591SwollmanWORD_BIT, WORD_BIT 95103591SwollmanCHARCLASS_NAME_MAX, CHARCLASS_NAME_MAX 96103591SwollmanNL_ARGMAX, NL_ARGMAX 97103591SwollmanML_LANGMAX, NL_LANGMAX 98103591SwollmanNL_MSGMAX, NL_MSGMAX 99103591SwollmanNL_NMAX, NL_NMAX 100103591SwollmanNL_SETMAX, NL_SETMAX 101103591SwollmanNL_TEXTMAX, NL_TEXTMAX 102103591SwollmanNZERO, NZERO 103103591Swollman%% 104103591Swollmanint 105103591Swollmanfind_limit(const char *name, intmax_t *value) 106103591Swollman{ 107103591Swollman const struct map *rv; 108103591Swollman 109119312Smarkm rv = in_word_set(name); 110103591Swollman if (rv != NULL) { 111103591Swollman if (rv->valid) { 112103591Swollman *value = rv->value; 113103591Swollman return 1; 114103591Swollman } 115103591Swollman return -1; 116103591Swollman } 117103591Swollman return 0; 118103591Swollman} 119