Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/d/dirent.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/d/dirent.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/d/dirent.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/d/dirent.html on line 8
Data structure for a directory entry
#include <dirent.h>
struct dirent {
#if _FILE_OFFSET_BITS - 0 == 64
ino_t d_ino; /* File serial number. */
off_t d_offset;
#elif !defined(_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS == 32
#if defined(__LITTLEENDIAN__)
ino_t d_ino; /* File serial number. */
ino_t d_ino_hi;
off_t d_offset;
off_t d_offset_hi;
#elif defined(__BIGENDIAN__)
ino_t d_ino_hi;
ino_t d_ino; /* File serial number. */
off_t d_offset_hi;
off_t d_offset;
#else
#error endian not configured for system
#endif
#else
#error _FILE_OFFSET_BITS value is unsupported
#endif
_Int16t d_reclen;
_Int16t d_namelen;
char d_name[1];
};
The dirent structure describes an entry in a directory.
The members include:
- d_ino
- A mountpoint-unique file serial number. This serial number is often used in
various disk-checking utilities for such operations as
determining infinite-loop directory links. (Note that the
inode value cannot be zero, which would indicate that the
inode represents an unused entry.)
- d_offset
- In some filesystems, this member identifies the directory entry itself;
in others, it's the offset of the next directory entry.
For a disk-based filesystem, this value might be the actual
offset into the on-disk directory structure.
- d_reclen
- The size of this directory entry and any other associated
information (such as an optional struct stat structure
appended to the struct dirent entry).
- d_namelen
- The size of the d_name member.
Since the size is calculated using
strlen(),
the \0 string terminator, which must be present, isn't
counted.
- d_name
- The actual name of that directory entry.
|
The struct dirent structure doesn't include space
for the pathname.
If you create an instance of this structure, you must provide space for
the name:
struct dirent *entry;
entry = malloc( offsetof(struct dirent, d_name) + NAME_MAX + 1 );
or:
struct {
struct dirent ent;
char namebuf[NAME_MAX + 1 + offsetof(struct dirent, d_name) -
sizeof( struct dirent)];
} entry
|
POSIX 1003.1
readdir(),
readdir_r(),
scandir()
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/d/dirent.html on line 163
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/d/dirent.html on line 163