sysconf - считывает информацию о настройках во время работы системы
НАЗВАНИЕsysconf - считывает информацию о настройках во время
работы системы
СИНТАКСИС
#include
long sysconf(int name);
ОПИСАНИЕ
sysconf() обеспечивает приложение способом определения
системных ограничений или настроек во время работы.
Аналогичный макрос описан в , но он выдает
только неизменяемые величины; если приложению потребуются
изменяемые величины, то их может выдать вызов sysconf().
Для получения информации о конкретном файле воспользуйтесь
fpathconf() или pathconf().
Ниже приведены значения name. Сначала приведем значения,
поддерживаемые POSIX.1:
_SC_ARG_MAX
- максимальная длина аргументов семейства функций
exec(); соответствующий макрос - ARG_MAX.
_SC_CHILD_MAX
- количество одновременных процессов для одного
идентификатора пользователя; соответствующий макрос
- _POSIX_CHILD_MAX.
_SC_CLK_TCK
- количество часовых колебаний (тиков) в секунде;
соответствующий макрос - CLK_TCK.
_SC_STREAM_MAX
- максимальное количество потоков, открытых для
процесса в любой момент времени. Макрос,
соответствующий POSIX, - STREAM_MAX,
соответствующий макрос в C - FOPEN_MAX.
_SC_TZNAME_MAX
- максимальное количество байтов в названии
часового пояса; соответствующий макрос -
TZNAME_MAX.
_SC_OPEN_MAX
- максимальное количество файлов, которое может
открыть процесс; соответствующий макрос -
_POSIX_OPEN_MAX.
_SC_JOB_CONTROL
указывает на то, что управление заданиями
производится в стиле POSIX; соответствующий макрос
- _POSIX_JOB_CONTROL.
_SC_SAVED_IDS
указывает, сохраняет ли процесс идентификатор
нового пользователя и идентификатор новой группы
пользователей; соответствующий макрос -
_POSIX_SAVED_IDS.
_SC_VERSION
указывает на год и месяц принятия стандарта POSIX.1
в формате ГГГГMML; значение 199009L говорит о
сентябре 1990.
Значения POSIX.2:
_SC_BC_BASE_MAX
- максимальное значение obase, принимаемое утилитой
bc(1); соответствующий макрос - BC_BASE_MAX.
_SC_BC_DIM_MAX
указывает на максимальное количество элементов в
массиве, устанавливаемое bc(1); соответствующий
макрос - BC_DIM_MAX.
_SC_BC_SCALE_MAX
указывает на максимальное значение scale,
ограничиваемое bc(1); соответствующий макрос -
BC_SCALE_MAX.
_SC_BC_STRING_MAX
указывает на максимальную длину строки,
обрабатываемой bc(1); соответствующий макрос -
BC_STRING_MAX.
_SC_COLL_WEIGHTS_MAX
- максимальное количество единиц веса, которые
можно определить в поле order LC_COLLATE файла
определений локали; соответствующий макрос -
COLL_WEIGHTS_MAX.
_SC_EXPR_NEST_MAX
указывает на максимальное количество выражений,
которые можно разместить в круглых скобках expr(1).
Соответствующий макрос - EXPR_NEST_MAX.
_SC_LINE_MAX
указывает на максимальную длину обрабатываемой
входящей строки как стандартного потока, так и
файла. Эта длина также включает в себя символ новой
строки. Соответствующий макрос - LINE_MAX.
_SC_RE_DUP_MAX
- максимальное количество повторений регулярного
выражения при использовании интервалов \{m,n\}.
Соответствующий макрос - RE_DUP_MAX.
_SC_2_VERSION
указывает на дату версии POSIX.2 в формате ГГГГMML.
Соответствующий макрос - POSIX2_VERSION.
_SC_2_DEV
указывает, поддерживаются ли средства разработки
языка С стандарта POSIX.2. Соответствующий макрос -
POSIX2_C_DEV.
_SC_2_FORT_DEV
указывает, поддерживаются ли средства разработки
языка FORTRAN стандарта POSIX.2. Соответствующий
макрос - POSIX2_FORT_RUN.
_SC_2_FORT_RUN
указывает, поддерживаются ли утилиты рабочего цикла
FORTRAN стандарта POSIX.2. Соответствующий макрос
- POSIX2_FORT_RUN.
_SC_2_LOCALEDEF
указывает, поддерживается ли создание локалей
стандарта POSIX.2 при помощи localedef(1).
Соответствующий макрос - _POSIX2_LOCALEDEF.
_SC_2_SW_DEV
указывает, поддерживаются ли утилиты разработки
программного обеспечения, согласно стандарту
POSIX.2. Соответствующий макрос - POSIX2_SW_DEV.
SUSv2 включает в себя:
_SC_PAGESIZE _SC_PAGE_SIZE
размер страницы (в байтах).
Существуют величины, которые могут оказаться
нестандартными.
_SC_PHYS_PAGES
- количество страниц физической памяти. Заметим
что, возможно, произведение этой величины и
_SC_PAGE_SIZE приведет к появлению "переполнения".
_SC_AVPHYS_PAGES
- количество доступных страниц физической памяти в
данный момент.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращаемое значение - это значение системного ресурса; 1
возвращается, если запрашиваемая опция доступна, 0
возвращается, если запрашиваемая опция недоступна, и -1
возвращается при ошибке (при этом значение глобальной
переменной errno не устанавливается).
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1, POSIX.2
НАЙДЕННЫЕ ОШИБКИ
Затруднительно использовать ARG_MAX , поскольку не
указывается, какое количество места для аргумента exec()
используется переменными окружения, указанными
пользователем.
Некоторые возвращаемые значения могут быть очень большими:
размер их может превышать зарезервированную для них
область памяти.