Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getdents(2) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

directory(3C)

dirent(4)






       getdents(2)                                              getdents(2)


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

       SYNOPSIS
             #include <sys/types.h>
             #include <sys/dirent.h>
             int getdents(int fildes, struct dirent *buf, size_t nbyte);

       DESCRIPTION
             fildes is a file descriptor obtained from a creat, open, dup,
             fcntl, pipe, or ioctl system call.

             getdents attempts to read nbyte bytes from the directory
             associated with 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 length, in most cases the actual number of bytes
             returned will be strictly less than nbyte .  See dirent(4) to
             calculate the number of bytes.

             The file system independent directory entry is specified by
             the dirent structure.  For a description of this see
             dirent(4).

             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.

             This system call was developed in order to implement the
             readdir routine [for a description, see directory(3C)], and
             should not be used for other purposes.

          Return Values
             On success, getdents returns a non-negative integer indicating
             the number of bytes actually read, or 0 if the end of the
             directory has been reached.  On failure, getdents returns -1
             and sets errno to identify the error.

          Errors
             In the following conditions, getdents fails and sets errno to:

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




                           Copyright 1994 Novell, Inc.               Page 1













      getdents(2)                                              getdents(2)


           EFAULT buf points outside the allocated address space.

           EINVAL nbyte is not large enough for one directory entry.

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

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

           ENOTDIR
                   fildes is not a directory.

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

      REFERENCES
            directory(3C), dirent(4)






























                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026