3 * - By John Hodge (thePowersGang)
6 * - Helpers for in-memory filesystems
8 * Provides name lookup, iteration, and node insertion
10 #ifndef _MEMFS_HELPERS_H_
11 #define _MEMFS_HELPERS_H_
15 typedef struct sMemFS_FileHdr tMemFS_FileHdr;
16 typedef struct sMemFS_DirHdr tMemFS_DirHdr;
18 extern void MemFS_InitDir (tMemFS_DirHdr *Dir);
19 extern void MemFS_InitFile(tMemFS_FileHdr *File);
22 * \brief Fetch the name of the file at the specified position
23 * \return standard tVFS_NodeType.ReadDir return values
25 extern int MemFS_ReadDir(tMemFS_DirHdr *Dir, int Pos, char Name[FILENAME_MAX]);
27 * \brief Look up a file in a directory
29 extern tMemFS_FileHdr *MemFS_FindDir(tMemFS_DirHdr *Dir, const char *Name);
31 * \brief Remove a named file from a directory
32 * \return File header for \a Name, or NULL if not found
34 extern tMemFS_FileHdr *MemFS_Remove(tMemFS_DirHdr *Dir, const char *Name);
36 * \brief Insert a pre-constructed file header into the directory
37 * \param Dir Directory
38 * \return false if name already exists
40 extern bool MemFS_Insert(tMemFS_DirHdr *Dir, tMemFS_FileHdr *File);
50 tMemFS_FileHdr FileHdr;
52 tMemFS_FileHdr *FirstChild;