NOMBRE¶
sysconf - Obtiene información de configuración en tiempo de
ejecución
SINOPSIS¶
#include <unistd.h>
long int sysconf(int nombre);
DESCRIPCIÓN¶
sysconf() proporciona una forma de que la aplicación determine
ciertos valores para límites del sistema u opciones, en tiempo de
ejecución.
Las macros equivalentes definidas en
<unistd.h> sólo pueden
dar valores conservativos. Si una aplicación quiere conocer exactamente
valores sujetos a cambio, puede llamar a
sysconf(), que le dará
resultados más liberales.
Para obtener información sobre un fichero particular, vea
fpathconf() o
pathconf().
Se admiten los siguientes valores para
nombre. Primero, los valores
compatibles con POSIX1.:
- _SC_ARG_MAX
- La longitud máxima de los argumentos para la familia
de funciones exec(). La macro correspondiente es
ARG_MAX.
- _SC_CHILD_MAX
- El número de procesos simultáneos por cada id. de
usuario. La macro correspondiente es CHILD_MAX.
- _SC_CLK_TCK
- El número de pulsos de reloj por segundo. La macro
correspondiente era CLK_TCK. Esta macro está obsoleta en la
actualidad. (Observe que la macro CLOCKS_PER_SEC no proporciona
información: debe ser igual a 1000000.)
- _SC_STREAM_MAX
- El máximo número de flujos que un proceso puede
tener abiertos en cualquier momento. La macro correspondiente POSIX es
STREAM_MAX. La macro de C estándar correspondiente es
FOPEN_MAX.
- _SC_TZNAME_MAX
- El máximo número de bytes en un nombre de huso
horario. La macro correspondiente es TZNAME_MAX.
- _SC_OPEN_MAX
- El número máximo de ficheros que un proceso puede
tener abiertos en cualquier momento. La macro correspondiente es
OPEN_MAX.
- _SC_JOB_CONTROL
- Esto indica si se admite el control de trabajos al estilo
POSIX. La macro correspondiente es _POSIX_JOB_CONTROL.
- _SC_SAVED_IDS
- Esto indica si un proceso tiene un SUID salvado y un SGID
salvado. La macro correspondiente es _POSIX_SAVED_IDS.
- _SC_VERSION
- Indica el año y el mes en los que se aprobó el
estándar POSIX.1, en el formato YYYYMML.El valor
199009L indica la revisión de Septiembre de 1990. La macro
correspondiente es _POSIX_VERSION.
A continuación, los valores de POSIX.2:
- _SC_BC_BASE_MAX
- Indica el valor máximo de obase aceptado por la
utilidad bc(1). La macro correspondiente es
BC_BASE_MAX.
- _SC_BC_DIM_MAX
- Indica el máximo valor de los elementos permitidos en
un vector por la utilidad bc(1). La macro correspondiente es
BC_DIM_MAX.
- _SC_BC_SCALE_MAX
- Indica el valor máximo de scale permitido por
bc(1). La macro correspondiente es BC_SCALE_MAX.
- _SC_BC_STRING_MAX
- Indica la longitud máxima de una cadena de caracteres
aceptada por bc(1). La macro correspondiente es
BC_STRING_MAX.
- _SC_COLL_WEIGHTS_MAX
- Indica el máximo número de pesos que pueden ser
asignados a una entrada de la palabra clave LC_COLLATE order en el
fichero de definición de localizaciones. La macro correspondiente es
COLL_WEIGHTS_MAX.
- _SC_EXPR_NEST_MAX
- Es el número máximo de expresiones que pueden
anidarse entre paréntesis en expr(1). La macro correspondiente
es EXPR_NEST_MAX.
- _SC_LINE_MAX
- La longitud máxima de una línea de entrada para
un programa, bien de la entrada estándar, bien de un fichero. Esto
incluye espacio para un salto de línea final. La macro
correspondiente es LINE_MAX.
- _SC_RE_DUP_MAX
- El número máximo de ocurrencias repetidas de una
expresión regular cuando se emplea la notación interna
\{m,n\}. La macro correspondiente es RE_DUP_MAX.
- _SC_2_VERSION
- Indica la versión del estándar POSIX.2 en el
formato de YYYYMML. La macro correspondiente es
POSIX2_VERSION.
- _SC_2_DEV
- Indica si se admiten las facilidades de desarrollo POSIX.2
para el lenguaje C. La macro correspondiente es POSIX2_C_DEV.
- _SC_2_FORT_DEV
- Indica si se admiten las utilidades de desarrollo POSIX.2
para FORTRAN. La macro correspondiente es POSIX2_FORT_RUN.
- _SC_2_FORT_RUN
- Indica si se soportan las utilidades POSIX.2 para el
FORTRAN en tiempo de ejecución. la macro correspondiente es
POSIX2_FORT_RUN.
- _SC_2_LOCALEDEF
- Indica si se admite la creación POSIX.2 de
localizaciones a través de localedef(1). La macro
correspondiente es _POSIX2_LOCALEDEF.
- _SC_2_SW_DEV
- Indica si se soportan las utilidades de desarrollo de
software POSIX.2. La macro correspondiente es POSIX2_SW_DEV.
SUSv2 también lista
- _SC_PAGESIZE _SC_PAGE_SIZE
- El tamaño de una página (en bytes).
Estos valores también existen pero pueden no ser estándares.
- _SC_PHYS_PAGES
- El número de páginas de memoria física.
Dése cuenta que es posible que el resultado del producto de este
valor y el valor de _SC_PAGE_SIZE se desborde.
- _SC_AVPHYS_PAGES
- El número de páginas de memoria física
actualmente disponibles.
VALOR DEVUELTO¶
Si
name no es válido, se devuelve -1, y a
errno se le asigna
el valor
EINVAL. En caso contrario, el valor devuelto es el valor del
recurso del sistema, 1 si una opción solicitada está disponible, 0
si no, o -1 en caso de error, y la variable
errno se deja sin
modificar.
POSIX.1.
FALLOS¶
Es difícil usar
ARG_MAX porque no se especifica cuánto del
espacio de argumentos para
exec() consumen las varables de entorno del
usuario.
Algunos valores devueltos pueden ser enormes. No son apropiados para reservar
memoria.
VÉASE TAMBIÉN¶
bc(1),
expr(1),
locale(1),
fpathconf(3),
pathconf(3)