TELLDIR(3) Руководство программиста Linux TELLDIR(3)

ИМЯ

telldir - возвращает текущее положение в потоке каталога

ОБЗОР

#include <dirent.h>
long telldir(DIR *dirp);

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

telldir(): _XOPEN_SOURCE || /* начиная с glibc 2.19: */ _DEFAULT_SOURCE || /* в версиях glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

ОПИСАНИЕ

Функция telldir() возвращает текущее положение, связанное с потоком каталога dirp.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении функция telldir() возвращает текущее расположение в потоке каталога. В случае ошибки возвращается -1, и устанавливается соответствующее значение errno.

ОШИБКИ

Неверный дескриптор потока каталога 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)) — некая «подсказка», которая используется реализацией для получения позиции в каталоге. Прикладные программы должны считать это значение «чёрным ящиком» и не делать предположений о его содержимом.

СМОТРИТЕ ТАКЖЕ

closedir(3), opendir(3), readdir(3), rewinddir(3), scandir(3), seekdir(3)

2017-09-15