+/*
+ * This file contains logic to deal with WIM directory entries, or "dentries":
+ *
+ * - Reading a dentry tree from a metadata resource in a WIM file
+ * - Writing a dentry tree to a metadata resource in a WIM file
+ * - Iterating through a tree of WIM dentries
+ * - Path lookup: translating a path into a WIM dentry or inode
+ * - Creating, modifying, and deleting WIM dentries
+ *
+ * Notes:
+ *
+ * - A WIM file can contain multiple images, each of which has an independent
+ * tree of dentries. "On disk", the dentry tree for an image is stored in
+ * the "metadata resource" for that image.
+ *
+ * - Multiple dentries in an image may correspond to the same inode, or "file".
+ * When this occurs, it means that the file has multiple names, or "hard
+ * links". A dentry is not a file, but rather the name of a file!
+ *
+ * - Inodes are not represented explicitly in the WIM file format. Instead,
+ * the metadata resource provides a "hard link group ID" for each dentry.
+ * wimlib handles pulling out actual inodes from this information, but this
+ * occurs in inode_fixup.c and not in this file.
+ *
+ * - wimlib does not allow *directory* hard links, so a WIM image really does
+ * have a *tree* of dentries (and not an arbitrary graph of dentries).
+ *
+ * - wimlib indexes dentries both case-insensitively and case-sensitively,
+ * allowing either behavior to be used for path lookup.
+ *
+ * - Multiple dentries in a directory might have the same case-insensitive
+ * name. But wimlib enforces that at most one dentry in a directory can have
+ * a given case-sensitive name.
+ */
+