Unix/Linux Go Back    

OpenSolaris 2009.06 - man page for getdents (opensolaris section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

getdents(2)				   System Calls 			      getdents(2)

       getdents - read directory entries and put in a file system independent format

       #include <dirent.h>

       int getdents(int fildes, struct dirent *buf, size_t nbyte);

       The  getdents()	function  attempts to read nbyte bytes from the directory associated with
       the file descriptor fildes and to format them as file system independent directory entries
       in  the	buffer pointed to by buf. Since the file system independent directory entries are
       of variable lengths, in most cases the actual number of bytes returned will be  less  than
       nbyte.  The  file system independent directory entry is specified by the dirent structure.
       See dirent.h(3HEAD).

       On devices capable of seeking, getdents() starts at a position in the file  given  by  the
       file  pointer  associated  with	fildes.  Upon return from getdents(), the file pointer is
       incremented to point to the next directory entry.

       Upon successful completion, a non-negative integer is returned indicating  the  number  of
       bytes  actually	read.  A  return  value  of 0 indicates the end of the directory has been
       reached. Otherwise, -1 is returned and errno is set to indicate the error.

       The getdents() function will fail if:

       EBADF	    The fildes argument is not a valid file descriptor open for reading.

       EFAULT	    The buf argument points to an illegal address.

       EINVAL	    The nbyte argument is not large enough for one directory entry.

       EIO	    An I/O error occurred while accessing the file system.

       ENOENT	    The current file pointer for the directory is not located at a valid entry.

       ENOLINK	    The fildes argument points to a remote machine and the link to  that  machine
		    is no longer active.

       ENOTDIR	    The fildes argument is not a directory.

       EOVERFLOW    The value of the dirent structure member d_ino or d_off cannot be represented
		    in an ino_t or  off_t.

       The getdents() function was developed to implement the readdir(3C) function and should not
       be used for other purposes.

       The  getdents()	function  has  a  transitional	interface  for	64-bit file offsets.  See

       readdir(3C), dirent.h(3HEAD), lf64(5)

SunOS 5.11				   17 Jul 2001				      getdents(2)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 07:26 PM.