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.CONFORME A
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.