# ROM File System (FS) API Function List

### Initialization

`FS_Init` | Initializes the ROM file system.
`FS_IsAvailable` | Determines whether the ROM file system has been initialized.
`FS_SetDefaultDMA` | Sets the DMA number to use.
`FS_LoadTable` | Loads into memory tables that are frequently accessed internally.
`FS_UnloadTable` | Releases the memory that was used for loading the table.
`FS_GetTableSize` | Gets the memory size that is required for internal tables.
`ROM archive` | Archive that is loaded into the file system by default.

### File Access

`FS_InitFile` | Initializes the FSFile structure.
`FS_IsBusy` | Determines whether the specified file is currently busy with an asynchronous process.
`FS_IsSucceeded` | Determines whether the specified file's last asynchronous process succeeded.
`FS_IsFile` | Determines whether file information is currently stored in the specified file.
`FS_IsDir` | Determines whether directory position is currently stored in the specified file.
`FS_GetResultCode` | Gets the result value of the last process done in the specified file.
`FS_OpenFile` | Opens a file by specifying a path name.
`FS_OpenFileFast` | Opens a file by specifying an ID.
`FS_OpenFileDirect` | Opens a file by specifying a region.
`FS_ConvertPathToFileID` | Acquires a file ID from a specified path name.
`FS_CloseFile` | Closes a file.
`FS_GetLength` | Acquires the size of an open file.
`FS_GetPathName` | Acquires the path name of an open file or directory.
`FS_GetPathLength` | Acquires the length of the path name of an open file or directory.
`FS_GetPosition` | Acquires the current position of an open file.
`FS_GetAttachedArchive` | Gets the archive that is associated with the file.
`FS_GetFileImageTop` | Gets the offset value at the beginning of the region in an open file.
`FS_GetFileImageBottom` | Gets the offset value at the end of the region in an open file.
`FS_ReadFile` | Reads data from an open file.
`FS_ReadFileAsync` | Reads data from an open file in asynchronous mode.
`FS_WriteFile` | Writes data to an open file.
`FS_WriteFileAsync` | Asynchronously writes data to an open file.
`FS_CancelFile` | Cancels the asynchronous process the file is currently executing.
`FS_WaitAsync` | Waits for an asynchronous process that a file is executing to complete.
`FS_SeekFile` | Moves the position of an open file pointer.
`FS_SeekFileToBegin` | Moves the position of an open file pointer to the beginning.
`FS_SeekFileToEnd` | Moves the position of an open file pointer to the end.

### Directory Access

`FS_ChangeDir` | Sets the current directory.
`FS_FindDir` | Acquires a directory list by specifying a path name.
`FS_ReadDir` | Reads an entry from a directory list.
`FS_TellDir` | Acquires the current position in a directory list.
`FS_SeekDir` | Sets the current position in a directory list.
`FS_RewindDir` | Returns the current position in a directly list to the beginning.

### Archive

`FS_InitArchive` | Initializes the archive structure.
`FS_GetArchiveName` | Gets the name of the archive.
`FS_GetArchiveBase` | Gets the base offset of the archive.
`FS_GetArchiveFAT` | Gets the FAT offset of the archive.
`FS_GetArchiveFNT` | Gets the FNT offset of the archive.
`FS_GetArchiveOffset` | Gets a specified location offset from the base of the archive.
`FS_IsArchiveLoaded` | Determines if the archive has been loaded into the current file system.
`FS_IsArchiveTableLoaded` | Determines if the current table has been preloaded in the archive.
`FS_IsArchiveSuspended` | Determines if the archive is currently being suspended.
`FS_FindArchive` | Searches for the archive with the specified name.
`FS_RegisterArchiveName` | Registers an archive name and associates it with the archive.
`FS_ReleaseArchiveName` | Releases the registered archive.
`FS_LoadArchive` | Loads an archive into the file system.
`FS_UnloadArchive` | Unloads an archive from the file system.
`FS_LoadArchiveTables` | Preloads both the FNT and the FAT to achieve greater efficiency of the most of the access.
`FS_UnloadArchiveTables` | Clears the FNT and FAT from the preloaded memory.
`FS_SuspendArchive` | Stops the processing of the archive.
`FS_ResumeArchive` | Restarts processing of the archive (after it's been intentionally stopped).
`FS_SetArchiveProc` | Sets the user procedure of the archive.
`FS_NotifyArchiveAsyncEnd` | Notification that the asynchronous processing performed by the archive is complete.

### Overlay

`FS_AttachOverlayTable` | Sets the overlay table.
`FS_LoadOverlayInfo` | Loads the overlay module information.
`FS_GetOverlayTotalSize` | Obtains the total size of the overlay module.
`FS_GetOverlayImageSize` | Obtains the load image size of the overlay module.
`FS_GetOverlayAddress` | Obtains the starting address of the overlay module.
`FS_GetOverlayFileID` | Obtains the file ID that stores the load image of the overlay module.
`FS_ClearOverlayImage` | Clears the overlay module region.
`FS_LoadOverlayImage` | Loads the overlay module image to memory.
`FS_LoadOverlayImageAsync` | Asynchronously loads the overlay module image to memory.
`FS_StartOverlay` | Executes the overlay module image initialization process.
`FS_EndOverlay` | Executes the overlay module image termination process.
`FS_UnloadOverlayImage` | Unloads the overlay module image from the memory.
`FS_LoadOverlay` | Loads the overlay module and executes the initialization process.
`FS_UnloadOverlay` | Unloads an overlay module.
`FS_RegisterOverlayToDebugger` | This version eliminates the need to use this function.

### Constants

`FS_FILE_NAME_MAX` | The maximum number of characters that can be in a path name.
`FS_ARCHIVE_NAME_LEN_MAX` | The maximum number of characters for archive names.
`FS_DMA_NOT_USE` | Used when you specify transfer by the CPU instead of a DMA channel.
`FS_ARCHIVE_PROC_*` | Used when you specify the user procedure of the archive.

### Types, Structures

`FSDirPos` | Expresses a directory position.
`FSSeekFileMode` | Expresses the base position when moving a file pointer.
`FSFileID` | Expresses a unique file ID.
`FSFile` | Used for file access.
`FSDirEntry` | Stores directory entry information.
`FSCommandType` | Expresses the command ID to be sent to the archive.
`FSResult` | Expresses the result of the archive command.
`FS_ARCHIVE_READ_FUNC` | Expresses the format of the Read callback function to be specified in the archive.
`FS_ARCHIVE_WRITE_FUNC` | Expresses the format of the write callback function to be specified in the archive.
`FSArchive` | Used for the construction of the archive.
`FSOverlayID` | Expresses an overlay module's ID.
`FSOverlayInfo` | Stores the overlay module information.
`FS_EXTERN_OVERLAY` | This macro declares an overlay module's ID.
`FS_OVERLAY_ID` | This macro defines an overlay module's ID.