telldir - возвращает текущее положение в потоке каталога
telldir(3)
возвращает текущее положение в потоке каталога
ОБЗОР
#include <dirent.h>
long telldir(DIR *dirp);
Требования макроса тестирования свойств для glibc
(см. feature_test_macros(7)):
telldir(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE
ОПИСАНИЕ
Функция
telldir() возвращает текущее положение, связанное с потоком
каталога
dirp.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении функция
telldir() возвращает текущее расположение
в потоке каталога. В случае ошибки возвращается -1, и устанавливается
соответствующее значение
errno.
ОШИБКИ
EBADF
Неверный дескриптор потока каталога dirp.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
telldir()
безвредность в потоках: безвредно (MT-Safe)
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
ЗАМЕЧАНИЯ
В glibc до версии 2.1.1, тип возвращаемого значения
telldir() был равен
off_t. В POSIX.1-2001 указан тип
long, и это стало используемым типом
в glibc начиная с версии 2.1.2.
В старых файловых системах возвращаемое telldir() значение было просто
файловым смещением в каталоге. В современных файловых системах для
представления каталогов используются структуры деревьев или хэшей, а не
плоские таблицы. В таких файловых системах значение, возвращаемое
telldir() (и используемое внутри readdir(3)) — некая «подсказка»,
которая используется реализацией для получения позиции в
каталоге. Прикладные программы должны считать это значение «чёрным ящиком» и
не делать предположений о его содержимом.