telldir - return current location in directory stream
Standard C library (
libc,
-lc)
#include <dirent.h>
long telldir(DIR *dirp);
telldir():
_XOPEN_SOURCE
|| /* glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
The
telldir() function returns the current location associated with the
directory stream
dirp.
On success, the
telldir() function returns the current location in the
directory stream. On error, -1 is returned, and
errno is set to
indicate the error.
- EBADF
- Invalid directory stream descriptor dirp.
For an explanation of the terms used in this section, see
attributes(7).
Interface |
Attribute |
Value |
telldir () |
Thread safety |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
Up to glibc 2.1.1, the return type of
telldir() was
off_t.
POSIX.1-2001 specifies
long, and this is the type used since glibc
2.1.2.
In early filesystems, the value returned by
telldir() was a simple file
offset within a directory. Modern filesystems use tree or hash structures,
rather than flat tables, to represent directories. On such filesystems, the
value returned by
telldir() (and used internally by
readdir(3))
is a "cookie" that is used by the implementation to derive a
position within a directory. Application programs should treat this strictly
as an opaque value, making
no assumptions about its contents.
closedir(3),
opendir(3),
readdir(3),
rewinddir(3),
scandir(3),
seekdir(3)