Home
March 18, 2010 1:58:17 AM EST
home
back print
READDIR   (2) manpage
READDIR
2
2008-10-02
Linux
Linux Programmer's Manual
  • NAME
      readdir - read directory entry
  • SYNOPSIS
      
      
       int readdir(unsigned int  fd , struct old_linux_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 is superseded by
      getdents(2) .



      readdir ()
      reads one
      old_linux_dirent
      structure from the directory
      referred to by the file descriptor
      fd
      into the buffer pointed to by
      dirp .
      The argument
      count
      is ignored; at most one
      old_linux_dirent
      structure is read.



      The
      old_linux_dirent
      structure is declared as follows:



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


      d_ino is an inode number. d_off is the distance from the start of the directory to this old_linux_dirent . d_reclen is the size of d_name , not counting the null terminator. d_name is a null-terminated filename.
  • 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.
  • NOTES
      Glibc does not provide a wrapper for this system call; call it using syscall(2) . You will need to define the old_linux_dirent structure yourself.
  • SEE ALSO
  • COLOPHON
      This page is part of release 3.19 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.


Current Users: 149 © 1999-2009 PenguinSoft. All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.