getdents

Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services

NAME

       getdents - get directory entries


SYNOPSIS

       #include <unistd.h>
       #include <linux/dirent.h>
       #include <linux/unistd.h>

       _syscall3(int, getdents, uint, fd, struct dirent *, dirp, uint, count);

       int getdents(unsigned int fd, struct dirent *dirp, unsigned int count);


DESCRIPTION

       getdents  reads  several dirent structures from the direc-
       tory pointed at by fd into the memory area pointed  to  by
       dirp.  The parameter count is the size of the memory area.

       The dirent structure is declared as follows:

              struct dirent
              {
                  long d_ino;                 /* inode number */
                  off_t d_off;                /* offset to next dirent */
                  unsigned short d_reclen;    /* length of this dirent */
                  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 the start of the next dirent.
       d_reclen is the size of this entire dirent.  d_name  is  a
       null-terminated file name.

       This call supersedes readdir(2).


RETURN VALUE

       On  success, the number of bytes read 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.

       ENOTDIR
              File descriptor does not refer to a directory.


SEE ALSO

       readdir(2), readdir(3)
Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services
Copyright (C) 1998 Hurricane Electric. All Rights Reserved.