GETDTABLESIZE(3)

ИМЯ
getdtablesize - возвращает размер таблицы файловых дескрипторов

ОБЗОР
#include <unistd.h>

int getdtablesize(void);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

getdtablesize():
    Начиная с glibc 2.12:
        _BSD_SOURCE ||
            !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
    До glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

ОПИСАНИЕ
getdtablesize() возвращает максимальное количество файлов, которое может быть открыто в процессе, на единицу больше, чем наибольшее возможное значение для дескриптора файла.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Текущее ограничение на количество открытых файлов для процесса.

ОШИБКИ
В Linux, getdtablesize() может вернуть любую ошибку из описанных в getrlimit(2); см. ЗАМЕЧАНИЯ далее.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
getdtablesize() | безвредность в нитях | безвредно (MT-Safe)

СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4, 4.4BSD (функция getdtablesize() впервые появилась в 4.2BSD). Она отсутствует в POSIX.1; переносимые приложения вместо неё должны применять sysconf(_SC_OPEN_MAX).

ЗАМЕЧАНИЯ
Функция getdtablesize() реализована в виде библиотечной функции libc. Версия glibc вызывает getrlimit(2) и возвращает текущее ограничение RLIMIT_NOFILE; при ошибке возвращается OPEN_MAX.

СМОТРИТЕ ТАКЖЕ
close(2), dup(2), getrlimit(2), open(2)