Files
seta75D d6fe8fe829 Init
2021-10-11 22:19:34 -03:00

415 lines
7.7 KiB
C

/* @(#)35 1.7 src/bos/usr/ccs/lib/libc/sysconf.h, libcenv, bos411, 9428A410j 3/4/94 11:40:13 */
/*
* COMPONENT_NAME: LIBCENV
*
* FUNCTIONS: sysconf
*
* ORIGINS: 27
*
* IBM CONFIDENTIAL -- (IBM Confidential Restricted when
* combined with the aggregated modules for this product)
* SOURCE MATERIALS
* (C) COPYRIGHT International Business Machines Corp. 1989, 1994
* All Rights Reserved
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*/
#ifndef _H_SYSCONF
#define _H_SYSCONF
/*
* Internal functions used by sysconf()
*/
static long num_cpus();
static long num_cpus_cfg();
static long child_max();
static long def_chk();
static long nodef_chk();
/*
* Structure of entry to store the corresponding limit values of the
* defined symbols. The func field is a pointer to the function to be
* activated for determining the return value in some case. If it is 0,
* no function call is needed and the return value is in the limit field.
*/
typedef struct entry {
int limit;
long (*func)();
} entry_t;
/*
* Every entry in the values array corresponds to each defined parameter that
* sysconf() accepts. This ordered list "values" should always be kept
* in-sync with the #define values of the symbolic parameters of sysconf()
* listed in the header file unistd.h. These symbolic parameters are used
* as direct array index to access the values array.
*/
static entry_t values[]={
#ifdef ARG_MAX /* 0 */
ARG_MAX, 0,
#else
-1, 0,
#endif
#ifdef CHILD_MAX /* 1 */
CHILD_MAX, child_max,
#else
-1, 0,
#endif
#ifdef CLK_TCK /* 2 */
CLK_TCK, 0,
#else
-1, 0,
#endif
#ifdef NGROUPS_MAX /* 3 */
NGROUPS_MAX, 0,
#else
-1, 0,
#endif
#ifdef OPEN_MAX /* 4 */
OPEN_MAX, 0,
#else
-1, 0,
#endif
#ifdef STREAM_MAX /* 5 */
STREAM_MAX, 0,
#else
-1, 0,
#endif
#ifdef TZNAME_MAX /* 6 */
TZNAME_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_JOB_CONTROL /* 7 */
TRUE, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_SAVED_IDS /* 8 */
TRUE, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_VERSION /* 9 */
_POSIX_VERSION, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_ARG_MAX /* 10 */
_POSIX_ARG_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_CHILD_MAX /* 11 */
_POSIX_CHILD_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_LINK_MAX /* 12 */
_POSIX_LINK_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_MAX_CANON /* 13 */
_POSIX_MAX_CANON, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_MAX_INPUT /* 14 */
_POSIX_MAX_INPUT, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_NAME_MAX /* 15 */
_POSIX_NAME_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_NGROUPS_MAX /* 16 */
_POSIX_NGROUPS_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_OPEN_MAX /* 17 */
_POSIX_OPEN_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_PATH_MAX /* 18 */
_POSIX_PATH_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_PIPE_BUF /* 19 */
_POSIX_PIPE_BUF, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_SSIZE_MAX /* 20 */
_POSIX_SSIZE_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_STREAM_MAX /* 21 */
_POSIX_STREAM_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_TZNAME_MAX /* 22 */
_POSIX_TZNAME_MAX, 0,
#else
-1, 0,
#endif
#ifdef BC_BASE_MAX /* 23 */
BC_BASE_MAX, 0,
#else
-1, 0,
#endif
#ifdef BC_DIM_MAX /* 24 */
BC_DIM_MAX, 0,
#else
-1, 0,
#endif
#ifdef BC_SCALE_MAX /* 25 */
BC_SCALE_MAX, 0,
#else
-1, 0,
#endif
#ifdef BC_STRING_MAX /* 26 */
BC_STRING_MAX, 0,
#else
-1, 0,
#endif
#ifdef EQUIV_CLASS_MAX /* 27 */
EQUIV_CLASS_MAX, 0,
#else
-1, 0,
#endif
#ifdef EXPR_NEST_MAX /* 28 */
EXPR_NEST_MAX, 0,
#else
-1, 0,
#endif
#ifdef LINE_MAX /* 29 */
LINE_MAX, 0,
#else
-1, 0,
#endif
#ifdef RE_DUP_MAX /* 30 */
RE_DUP_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX2_VERSION /* 31 */
_POSIX2_VERSION, 0,
#else
-1, 0,
#endif
#ifdef _POSIX2_C_DEV /* 32 */
_POSIX2_C_DEV, def_chk,
#else
0, nodef_chk,
#endif
#ifdef _POSIX2_FORT_DEV /* 33 */
_POSIX2_FORT_DEV, def_chk,
#else
0, nodef_chk,
#endif
#ifdef POSIX2_FORT_RUN /* 34 */
POSIX2_FORT_RUN, def_chk,
#else
0, nodef_chk,
#endif
#ifdef _POSIX2_LOCALEDEF /* 35 */
_POSIX2_LOCALEDEF, def_chk,
#else
0, nodef_chk,
#endif
#ifdef _POSIX2_SW_DEV /* 36 */
_POSIX2_SW_DEV, def_chk,
#else
0, nodef_chk,
#endif
#ifdef POSIX2_BC_BASE_MAX /* 37 */
POSIX2_BC_BASE_MAX, 0,
#else
-1, 0,
#endif
#ifdef POSIX2_BC_DIM_MAX /* 38 */
POSIX2_BC_DIM_MAX, 0,
#else
-1, 0,
#endif
#ifdef POSIX2_BC_SCALE_MAX /* 39 */
POSIX2_BC_SCALE_MAX, 0,
#else
-1, 0,
#endif
#ifdef POSIX2_BC_STRING_MAX /* 40 */
POSIX2_BC_STRING_MAX, 0,
#else
-1, 0,
#endif
#ifdef POSIX2_EQUIV_CLASS_MAX /* 41 */
POSIX2_EQUIV_CLASS_MAX,0,
#else
-1, 0,
#endif
#ifdef POSIX2_EXPR_NEST_MAX /* 42 */
POSIX2_EXPR_NEST_MAX, 0,
#else
-1, 0,
#endif
#ifdef POSIX2_LINE_MAX /* 43 */
POSIX2_LINE_MAX, 0,
#else
-1, 0,
#endif
#ifdef POSIX2_RE_DUP_MAX /* 44 */
POSIX2_RE_DUP_MAX, 0,
#else
-1, 0,
#endif
#ifdef PASS_MAX /* 45 */
PASS_MAX, 0,
#else
MAX_PASS, 0,
#endif
#ifdef _XOPEN_VERSION /* 46 */
_XOPEN_VERSION, 0,
#else
-1, 0,
#endif
#ifdef ATEXIT_MAX /* 47 */
ATEXIT_MAX, 0,
#else
-1, 0,
#endif
#ifdef PAGE_SIZE /* 48 */
PAGE_SIZE, 0,
#else
-1, 0,
#endif
#ifdef _AES_OS_VERSION /* 49 */
_AES_OS_VERSION, 0,
#else
-1, 0,
#endif
#ifdef COLL_WEIGHTS_MAX /* 50 */
COLL_WEIGHTS_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX2_C_BIND /* 51 */
_POSIX2_C_BIND, 0,
#else
-1, 0,
#endif
#ifdef _POSIX2_C_VERSION /* 52 */
_POSIX2_C_VERSION, 0,
#else
-1, 0,
#endif
#ifdef _POSIX2_UPE /* 53 */
_POSIX2_UPE, 0,
#else
-1, 0,
#endif
#ifdef _POSIX2_CHAR_TERM /* 54 */
_POSIX2_CHAR_TERM, 0,
#else
-1, 0,
#endif
#ifdef _XOPEN_SHM /* 55 */
_XOPEN_SHM, 0,
#else
-1, 0,
#endif
#ifdef _XOPEN_CRYPT /* 56 */
_XOPEN_CRYPT, 0,
#else
-1, 0,
#endif
#ifdef _XOPEN_ENH_I18N /* 57 */
_XOPEN_ENH_I18N, 0,
#else
-1, 0,
#endif
#ifdef IOV_MAX /* 58 */
IOV_MAX, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_REENTRANT_FUNCTIONS /* 59 */
_POSIX_REENTRANT_FUNCTIONS, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_THREADS /* 60 */
_POSIX_THREADS, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_THREAD_ATTR_STACKADDR /* 61 */
_POSIX_THREAD_ATTR_STACKADDR, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_THREAD_ATTR_STACKSIZE /* 62 */
_POSIX_THREAD_ATTR_STACKSIZE, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_THREAD_FORKALL /* 63 */
_POSIX_THREAD_FORKALL, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING /* 64 */
_POSIX_THREAD_PRIORITY_SCHEDULING, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_THREAD_PRIO_INHERIT /* 65 */
_POSIX_THREAD_PRIO_INHERIT, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_THREAD_PRIO_PROTECT /* 66 */
_POSIX_THREAD_PRIO_PROTECT, 0,
#else
-1, 0,
#endif
#ifdef _POSIX_THREAD_PROCESS_SHARED /* 67 */
_POSIX_THREAD_PROCESS_SHARED, 0,
#else
-1, 0,
#endif
#ifdef PTHREAD_DATAKEYS_MAX /* 68 */
PTHREAD_DATAKEYS_MAX, 0,
#else
-1, 0,
#endif
#ifdef PTHREAD_STACK_MIN /* 69 */
PTHREAD_STACK_MIN, 0,
#else
-1, 0,
#endif
#ifdef PTHREAD_THREADS_MAX /* 70 */
PTHREAD_THREADS_MAX, 0,
#else
-1, 0,
#endif
/* NPROCESSORS_CONF */ /* 71 */
0, num_cpus_cfg,
/* NPROCESSORS_ONLN */ /* 72 */
0, num_cpus
};
#endif /* _H_SYSCONF */