Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

getdirentries(3) [centos man page]

GETDIRENTRIES(3)					     Linux Programmer's Manual						  GETDIRENTRIES(3)

NAME
getdirentries - get directory entries in a file system-independent format SYNOPSIS
#include <dirent.h> ssize_t getdirentries(int fd, char *buf, size_t nbytes , off_t *basep); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): getdirentries(): _BSD_SOURCE || _SVID_SOURCE DESCRIPTION
Read directory entries from the directory specified by fd into buf. At most nbytes are read. Reading starts at offset *basep, and *basep is updated with the new position after reading. RETURN VALUE
getdirentries() returns the number of bytes read or zero when at the end of the directory. If an error occurs, -1 is returned, and errno is set appropriately. ERRORS
See the Linux library source code for details. CONFORMING TO
Not in POSIX.1-2001. Present on the BSDs, and a few other systems. Use opendir(3) and readdir(3) instead. SEE ALSO
lseek(2), open(2) COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. GNU
2007-07-26 GETDIRENTRIES(3)

Check Out this Related Man Page

getdirentries(2)						System Calls Manual						  getdirentries(2)

NAME
getdirentries - Gets directory entries in a file-system independent format. SYNOPSIS
#include <dirent.h> int getdirentries( int fd, char *buf, int nbytes, long *basep ); PARAMETERS
Specifies the file descriptor of a directory to be read. Points to a buffer containing the directory entries as dirent structures. Speci- fies the maximum amount of data to be transferred, in bytes. 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. This call is not the POSIX-defined way to process directory entries. For POSIX interfaces, use the opendir(3),readdir(3), and closedir(3) library calls 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: The fd parameter is not a valid file descriptor open for reading. Either the buf or basep parameter points outside the allocated address space. Either the fd parameter is not a valid file descriptor for a directory or the buffer is too small. An I/O error occurred while the operating system was reading from or writing to the file system. RELATED INFORMATION
Functions: open(2), lseek(2) delim off getdirentries(2)
Man Page