READDIR   (2) manpage
READDIR
2
1995-07-22
Linux 1.3.6
Linux Programmer's Manual
  • NAME
      readdir - read directory entry
  • SYNOPSIS
      
       #include <unistd.h>
       #include <linux/dirent.h>
       #include <linux/unistd.h>
      
       _syscall3(int, readdir, uint, fd, struct dirent *, dirp, uint, count);
      
       int readdir(unsigned int  fd , struct dirent * dirp , unsigned int  count );
      
  • DESCRIPTION
      This is not the function you are interested in.
      Look at
      readdir(3)
      for the POSIX conforming C library interface.
      This page documents the bare kernel system call interface,
      which can change, and which is superseded by
      getdents(2) .



      readdir reads one
      dirent
      structure from the directory
      pointed at by
      fd
      into the memory area pointed to by
      dirp .
      The parameter
      count
      is ignored; at most one dirent structure is read.



      The
      dirent
      structure is declared as follows:



      
      struct dirent
      {
          long d_ino;                 /* inode number */
          off_t d_off;                /* offset to this dirent */
          unsigned short d_reclen;    /* length of this d_name */
          char d_name [NAME_MAX+1];   /* file name (null-terminated) */
      }
      


      d_ino is an inode number. d_off is the distance from the start of the directory to this dirent . d_reclen is the size of d_name, not counting the null terminator. d_name is a null-terminated file name.

  • RETURN VALUE
      On success, 1 is returned. On end of directory, 0 is returned. On error, -1 is returned, and errno is set appropriately.
  • ERRORS
      EBADF
      Invalid file descriptor fd .
      EFAULT
      Argument points outside the calling process's address space.
      EINVAL
      Result buffer is too small.
      ENOENT
      No such directory.
      ENOTDIR
      File descriptor does not refer to a directory.
  • CONFORMING TO
      This system call is Linux specific.
  • SEE ALSO
Current Users: 31 © 1999-2006 Linux.com.hk PenguinSoft
All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.