-#ifndef HEADER_FILESYS_H
-#define HEADER_FILESYS_H 1
+#ifndef FILESYS_FILESYS_H
+#define FILESYS_FILESYS_H
#include <stdbool.h>
-#include <stdint.h>
-#include "off_t.h"
+#include "filesys/off_t.h"
-struct disk *filesys_disk;
+/* Sectors of system file inodes. */
+#define FREE_MAP_SECTOR 0 /* Free map file inode sector. */
+#define ROOT_DIR_SECTOR 1 /* Root directory file inode sector. */
+
+/* Disk used for filesystem. */
+extern struct disk *filesys_disk;
-struct file;
void filesys_init (bool format);
+void filesys_done (void);
bool filesys_create (const char *name, off_t initial_size);
-bool filesys_open (const char *name, struct file *);
+struct file *filesys_open (const char *name);
bool filesys_remove (const char *name);
-void filesys_list (void);
-void filesys_print (void);
+bool filesys_chdir (const char *name);
+bool filesys_list (void);
void filesys_self_test (void);
-#endif /* filesys.h */
+#endif /* filesys/filesys.h */