 |
Index for Section 2 |
|
 |
Alphabetical listing for G |
|
 |
Bottom of page |
|
getdirentries(2)
NAME
getdirentries - Get directory entries in a file-system independent format.
SYNOPSIS
#include <dirent.h>
int getdirentries(
int fd,
char *buf,
int nbytes,
long *basep );
PARAMETERS
fd Specifies the file descriptor of a directory to be read.
buf Points to a buffer containing the directory entries as dirent
structures.
nbytes Specifies the maximum amount of data to be transferred, in bytes.
basep Points to the position of the block read.
DESCRIPTION
The getdirentries() function reads directory entries from a directory into
a buffer. The entries are returned as dirent structures, a file-system
independent format.
Caution
This call is not the POSIX-defined way to process directory entries.
For POSIX interfaces, use the opendir(), readdir(), and closedir()
library routines for reading and interpreting directory entries.
The nbytes parameter should be greater than or equal to the block size
associated with the file. (See stat(2).) Some file systems do not support
the getdirentries() function with buffers smaller than this size.
The entries returned by the getdirentries() function into the location
pointed to by buf can be separated by extra space.
The getdirentries() function writes the position of the block read into the
location pointed to by the basep parameter. Alternatively, the current
position pointer can be set and retrieved by lseek(). The current position
pointer should only be set to a value returned by lseek(), a value returned
in the location pointed to by basep, or 0 (zero).
Upon successful completion, the actual number of bytes transferred is
returned and the current position pointer associated with the fd parameter
is set to point to the next block of entries. The file descriptor pointer
might not advance by the same number of bytes returned by the
getdirentries() function. A value of 0 (zero) is returned when the end of
the directory has been reached.
RETURN VALUES
Upon successful completion, the actual number of bytes transferred is
returned. Otherwise, -1 is returned and errno is set to indicate the error.
ERRORS
If the getdirentries() function fails, errno is set to one of the following
values:
[EBADF] The fd parameter is not a valid file descriptor open for reading.
[EFAULT]
Either the buf or basep parameter points outside the allocated
address space.
[EINVAL]
Either the fd parameter is not a valid file descriptor for a
directory or the buffer is too small.
[EIO] An I/O error occurred while the operating system was reading from
or writing to the file system.
SEE ALSO
Functions: lseek(2), open(2), stat(2), closedir(3), opendir(3), readdir(3)
 |
Index for Section 2 |
|
 |
Alphabetical listing for G |
|
 |
Top of page |
|