getdtablesize(3) возвращает размер таблицы файловых дескрипторов

ОБЗОР

#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.