getdents
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
Copyright (C) 1998
Hurricane Electric.
All Rights Reserved.