summaryrefslogtreecommitdiff
path: root/static/freebsd/man5/dir.5 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man5/dir.5 3.html')
-rw-r--r--static/freebsd/man5/dir.5 3.html141
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>
- &#x2014; <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
- &lt;<a class="In">dirent.h</a>&gt;</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
- &#x2018;<code class="Li">.</code>&#x2019; and the other a pointer to its
- parent directory called dot-dot &#x2018;<code class="Li">..</code>&#x2019;.
- Dot and dot-dot are valid pathnames, however, the system root directory
- &#x2018;<code class="Li">/</code>&#x2019;, 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">&lt;<a class="In">sys/dirent.h</a>&gt;</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 &lt;machine/ansi.h&gt;
-
-/*
- * 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) &amp; 0170000) &gt;&gt; 12)
-#define DTTOIF(dirtype) ((dirtype) &lt;&lt; 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-&gt;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) &amp; ~7)
-#define _GENERIC_DIRSIZ(dp) _GENERIC_DIRLEN((dp)-&gt;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&#x00A0;7 AT&amp;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>