+ListNode *newListNode(void);
+void addNodeToList(ListNode **, char *, void *);
+void deleteNodeFromList(ListNode **, char *, void (*function)(void *));
+ListNode *getNodeFromKey(ListNode *, char *);
+int getNumNodes(ListNode *);
+
+File *openFile(char *, char *);
+int closeFile(File *);
+int checkEndOfFile(File *);
+size_t readFile(File *, void *, size_t, size_t);
+int seekFile(File *, long, int);
+int getByteFromFile(File *);
+char *getStringFromFile(File *, char *, int);
+
+Directory *openDirectory(char *);
+int closeDirectory(Directory *);
+DirectoryEntry *readDirectory(Directory *);
+void freeDirectoryEntry(DirectoryEntry *);
+
+boolean directoryExists(char *);
+boolean fileExists(char *);