diff options
Diffstat (limited to 'static/freebsd/man5/dir.5 3.html')
| -rw-r--r-- | static/freebsd/man5/dir.5 3.html | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/static/freebsd/man5/dir.5 3.html b/static/freebsd/man5/dir.5 3.html deleted file mode 100644 index 26114da9..00000000 --- a/static/freebsd/man5/dir.5 3.html +++ /dev/null @@ -1,141 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">DIR(5)</td> - <td class="head-vol">File Formats Manual</td> - <td class="head-rtitle">DIR(5)</td> - </tr> -</table> -<div class="manual-text"> -<section class="Sh"> -<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> -<p class="Pp"><code class="Nm">dir</code>, <code class="Nm">dirent</code> - — <span class="Nd">directory file format</span></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> -<p class="Pp"><code class="In">#include - <<a class="In">dirent.h</a>></code></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp">Directories provide a convenient hierarchical method of grouping - files while obscuring the underlying details of the storage medium. A - directory file is differentiated from a plain file by a flag in its - <a class="Xr">inode(5)</a> entry. It consists of records (directory entries) - each of which contains information about a file and a pointer to the file - itself. Directory entries may contain other directories as well as plain - files; such nested directories are referred to as subdirectories. A - hierarchy of directories and files is formed in this manner and is called a - file system (or referred to as a file system tree).</p> -<p class="Pp">Each directory file contains two special directory entries; one is - a pointer to the directory itself called dot - ‘<code class="Li">.</code>’ and the other a pointer to its - parent directory called dot-dot ‘<code class="Li">..</code>’. - Dot and dot-dot are valid pathnames, however, the system root directory - ‘<code class="Li">/</code>’, has no parent and dot-dot points - to itself like dot.</p> -<p class="Pp">File system nodes are ordinary directory files on which has been - grafted a file system object, such as a physical disk or a partitioned area - of such a disk. (See <a class="Xr">mount(2)</a> and - <a class="Xr">mount(8)</a>.)</p> -<p class="Pp">The directory entry format is defined in the file - <code class="In"><<a class="In">sys/dirent.h</a>></code> (which should - not be included directly by applications):</p> -<div class="Bd Pp Li"> -<pre>#ifndef _SYS_DIRENT_H_ -#define _SYS_DIRENT_H_ - -#include <machine/ansi.h> - -/* - * The dirent structure defines the format of directory entries returned by - * the getdirentries(2) system call. - * - * A directory entry has a struct dirent at the front of it, containing its - * inode number, the length of the entry, and the length of the name - * contained in the entry. These are followed by the name padded to a 8 - * byte boundary with null bytes. All names are guaranteed null terminated. - * The maximum length of a name in a directory is MAXNAMLEN. - * Explicit pad is added between the last member of the header and - * d_name, to avoid having the ABI padding in the end of dirent on - * LP64 arches. There is code depending on d_name being last. Also, - * keeping this pad for ILP32 architectures simplifies compat32 layer. - */ - -struct dirent { - ino_t d_fileno; /* file number of entry */ - off_t d_off; /* directory offset of the next entry */ - __uint16_t d_reclen; /* length of this record */ - __uint8_t d_type; /* file type, see below */ - __uint8_t d_namlen; /* length of string in d_name */ - __uint32_t d_pad0; -#if __BSD_VISIBLE -#define MAXNAMLEN 255 - char d_name[MAXNAMLEN + 1]; /* name must be no longer than this */ -#else - char d_name[255 + 1]; /* name must be no longer than this */ -#endif -}; - -/* - * File types - */ -#define DT_UNKNOWN 0 -#define DT_FIFO 1 -#define DT_CHR 2 -#define DT_DIR 4 -#define DT_BLK 6 -#define DT_REG 8 -#define DT_LNK 10 -#define DT_SOCK 12 -#define DT_WHT 14 - -/* - * Convert between stat structure types and directory types. - */ -#define IFTODT(mode) (((mode) & 0170000) >> 12) -#define DTTOIF(dirtype) ((dirtype) << 12) - -/* - * The _GENERIC_DIRSIZ macro gives the minimum record length which will hold - * the directory entry. This returns the amount of space in struct direct - * without the d_name field, plus enough space for the name with a terminating - * null byte (dp->d_namlen+1), rounded up to a 8 byte boundary. - * - * XXX although this macro is in the implementation namespace, it requires - * a manifest constant that is not. - */ -#define _GENERIC_DIRLEN(namlen) ((__offsetof(struct dirent, d_name) + (namlen) + 1 + 7) & ~7) -#define _GENERIC_DIRSIZ(dp) _GENERIC_DIRLEN((dp)->d_namlen) -#endif /* __BSD_VISIBLE */ - -#ifdef _KERNEL -#define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp) -#endif - -#endif /* !_SYS_DIRENT_H_ */</pre> -</div> -</section> -<section class="Sh"> -<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE - ALSO</a></h1> -<p class="Pp"><a class="Xr">fs(5)</a>, <a class="Xr">inode(5)</a></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> -<p class="Pp">A <code class="Nm">dir</code> file format appeared in - <span class="Ux">Version 7 AT&T UNIX</span>.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1> -<p class="Pp">The usage of the member d_type of struct dirent is unportable as - it is <span class="Ux">FreeBSD</span>-specific. It also may fail on certain - file systems, for example the cd9660 file system.</p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">November 14, 2018</td> - <td class="foot-os">FreeBSD 15.0</td> - </tr> -</table> |
