-/* Initializes D as a directory that holds ENTRY_CNT entries. */
-bool
-dir_init (struct dir *d, size_t entry_cnt)
+/* A directory. */
+struct dir
+ {
+ size_t entry_cnt; /* Number of entries. */
+ struct dir_entry *entries; /* Array of entries. */
+ };
+
+/* A single directory entry. */
+struct dir_entry
+ {
+ bool in_use; /* In use or free? */
+ char name[NAME_MAX + 1]; /* Null terminated file name. */
+ disk_sector_t inode_sector; /* Sector number of header. */
+ };
+
+/* Returns a new directory that holds ENTRY_CNT entries, if
+ successful, or a null pointer if memory is unavailable. */
+struct dir *
+dir_create (size_t entry_cnt)