Functia readdir este folosita pentru a citi informatii despre continutul unui director. Sintaxa de apel este
#include <sys/types.h> #include <dirent.h> struct dirent *readdir (DIR *dir);
Functia intoarce un pointer la o structura struct dirent (directory entry). Aceasta reprezinta urmatoarea intrare in cadrul stream-ului de director indicat de dir. Functia intoarce NULL cand s-a ajuns la sfarsit sau in caz de eroare. Structura struct dirent are formatul (simplificat) de mai jos:
struct dirent { unsigned char d_type; /* type of file */ char d_name[256]; /* filename */ }
Campul d_type indica tipul intrarii din director. Acesta poate avea una din valorile:
DT_BLK - fisier de tipul block device DT_CHR - fisier de tipul character device DT_DIR - director DT_FIFO - FIFO (pipe cu nume) DT_LNK - link simbolic DT_REG - fisier obisnuit (regular file) DT_SOCK - socket DT_UNKNOWN - tip necunoscut