Опрос характеристик хостов
Самую общую информацию о характеристиках хоста позволяют получить служебная программа uname и одноименная функция.
Функция gethostname() возвращает имя хоста.
Значения конфигурационных параметров - важнейшая характеристика хоста, а настройка на конфигурацию целевой системы - обязательный элемент мобильного программирования приложений.
Основная часть статической конфигурационной информации сосредоточена в заголовочном файле <unistd.h>. К числу наиболее важных характеристик принадлежат _POSIX_VERSION (поддерживаемая версия системного интерфейса для языка c стандарта POSIX) и _POSIX2_VERSION (поддерживаемая версия интерфейса к системным сервисам на уровне командного языка и служебных программ).
Отдельная группа констант описывает поддерживаемые необязательные возможности стандарта POSIX-2001. Среди них _POSIX_IPV6 (реализация поддерживает IPv6), _POSIX_REGEXP (реализация поддерживает обработку регулярных выражений), _POSIX_SHELL (реализация поддерживает стандартный командный интерпретатор), _POSIX_V6_ILP32_OFF32 (реализация предоставляет среду компиляции C-программ с 32-битными типами int, long, off_t и такими же указателями) и т.д.
Три константы задают номера файловых дескрипторов для стандартных ввода (STDIN_FILENO со значением 0), вывода (STDOUT_FILENO - 1) и протокола (STDERR_FILENO - 2).
Разного рода лимиты на количество и размеры заданы в заголовочном файле <limits.h>. Стандарт определяет минимально допустимые значения для подобных лимитов, которые должны поддерживаться реализациями и предоставляться приложениям.
Мобильным приложениям не следует полагаться на какие-то конкретные значения лимитов и требовать больше ресурсов, чем предусмотрено минимально допустимыми значениями.
Для опроса значений системных параметров во время выполнения предназначены служебная программа getconf, а также функции sysconf(), confstr(), fpathconf() и pathconf(), первая из которых опрашивает лимитирующие конфигурационные параметры, имеющие числовые значения, вторая возвращает конфигурационные цепочки символов, а две последние - конфигурационные значения, относящиеся к файлам.