# 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_End | Closes the ROM file system.
FS_SetDefaultDMA | Sets the DMA number to use.
FS_LoadTable | Loads tables into memory 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.
Memory File 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_CreateFileFromMemory | Treats the specified memory region as a temporary file and opens it.
FS_CreateFileFromRom | Treats the specified CARD-ROM region as a temporary file and opens it.
FS_ConvertPathToFileID | Acquires a file ID from a specified path name.
FS_CloseFile | Closes a file.
FS_GetPathName | Acquires the size of an open file.
FS_GetPathLength | Acquires the path name of an open file or directory.
FS_GetLength | 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.
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.

CONFIDENTIAL