getdirentries - Man Page

get directory entries in a filesystem-independent format


#include <dirent.h>

ssize_t getdirentries(int fd, char *restrict buf, size_t nbytes,
                      off_t *restrict basep);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):


    Since glibc 2.19:
    Glibc 2.19 and earlier:


Read directory entries from the directory specified by fd into buf. At most nbytes are read. Reading starts at offset *basep, and *basep is updated with the new position after reading.

Return Value

getdirentries() returns the number of bytes read or zero when at the end of the directory. If an error occurs, -1 is returned, and errno is set to indicate the error.


See the Linux library source code for details.


For an explanation of the terms used in this section, see attributes(7).

getdirentries()Thread safetyMT-Safe

Conforming to

Not in POSIX.1. Present on the BSDs, and a few other systems. Use opendir(3) and readdir(3) instead.

See Also

lseek(2), open(2)


This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at


2021-03-22 GNU Linux Programmer's Manual