Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


readdir(2) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |VERSIONS |STANDARDS |SEE ALSO |COLOPHON

readdir(2)                 System Calls Manualreaddir(2)

NAME        top

       readdir - read directory entry

LIBRARY        top

       Standard C library (libc,-lc)

SYNOPSIS        top

#include <sys/syscall.h>/* Definition ofSYS_*constants */#include <unistd.h>int syscall(SYS_readdir, unsigned intfd,struct old_linux_dirent *dirp, unsigned intcount);Note: There is no definition ofstruct old_linux_dirent; see       VERSIONS.

DESCRIPTION        top

       This is not the function you are interested in.  Look atreaddir(3) for the POSIX conforming C library interface.  This       page documents the bare kernel system call interface, which is       superseded bygetdents(2).readdir() reads oneold_linux_dirent structure from the directory       referred to by the file descriptorfd into the buffer pointed to       bydirp.  The argumentcount is ignored; at most oneold_linux_dirent structure is read.       Theold_linux_dirent structure is declared (privately in Linux       kernel filefs/readdir.c) as follows:           struct old_linux_dirent {               unsigned long d_ino;     /* inode number */               unsigned long d_offset;  /* offset to thisold_linux_dirent */               unsigned short d_namlen; /* length of thisd_name */               char  d_name[1];         /* filename (null-terminated) */           }d_ino is an inode number.d_offset is the distance from the start       of the directory to thisold_linux_dirent.d_reclen is the size       ofd_name, not counting the terminating null byte ('\0').d_name       is a null-terminated filename.

RETURN VALUE        top

       On success, 1 is returned.  On end of directory, 0 is returned.       On error, -1 is returned, anderrno is set to indicate the error.

ERRORS        top

EBADFInvalid file descriptorfd.EFAULTArgument points outside the calling process's address              space.EINVALResult buffer is too small.ENOENTNo such directory.ENOTDIR              File descriptor does not refer to a directory.

VERSIONS        top

       You will need to define theold_linux_dirent structure yourself.       However, probably you should usereaddir(3) instead.       This system call does not exist on x86-64.

STANDARDS        top

       Linux.

SEE ALSO        top

getdents(2),readdir(3)

COLOPHON        top

       This page is part of theman-pages (Linux kernel and C library       user-space interface documentation) project.  Information about       the project can be found at        ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report       for this manual page, see       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.       This page was obtained from the tarball man-pages-6.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  If you discover any rendering problems in this HTML       version of the page, or you believe there is a better or more up-       to-date source for the page, or you have corrections or       improvements to the information in this COLOPHON (which isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-05-17readdir(2)

Pages that refer to this page:fanotify_mark(2)getdents(2)read(2)syscalls(2)seekdir(3)fanotify(7)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp