# ROM File System (FS) Function List

### Initialization

FS_Init |  | Initializes the ROM file system.
FS_InitFatDriver |  | Initializes the FAT Library.
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_SetCurrentDirectory |  | Sets the current directory.
FS_ForceToEnableLatencyEmulation |  | Emulates the behavior of NAND memory and SD Card devices when performance has deteriorated.
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 |  | Archives that are loaded into the file system by default.
Memory File Archive |
NAND Archive |
SD Card Archive |

### Handle Information

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 the directory position is currently stored in the specified file.
FS_GetAttachedArchive |  | Gets the archive associated with the file.
FS_GetResultCode |  | Gets the result value of the last process done in the specified file.
FS_GetArchiveResultCode |  | Gets the result value of the last process done in the specified archive.
FS_WaitAsync |  | Waits for an asynchronous process that a file is executing to complete.
FS_CancelFile |  | Cancels the asynchronous process the file is currently executing.
FS_GetPathName |  | Gets the path of an open file or directory.
FS_GetPathLength |  | Gets the length of the path of an open file or directory.

### File Access

FS_OpenFileEx[W] |  | Opens a file by specifying a path.
FS_CloseFile |  | Closes a file.
FS_OpenFileFast |  | Opens a file by specifying an ID.
FS_ConvertPathToFileID |  | Gets a file ID from a specified path.
FS_OpenFileDirect |  | Opens a file by specifying a region.
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_GetFileLength |  | Gets the size of an open file.
FS_SetFileLength |  | Changes the size of an open file.
FS_GetFilePosition |  | Gets the current position of an open file.
FS_GetSeekCacheSize |  | Calculates the size of the seek cache buffer.
FS_SetSeekCache |  | Sets the seek cache buffer for an open file.
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.
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_FlushFile |  | Makes a request to reliably write back changes to an open file to the device.
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.

### Directory Access

FS_GetPathInfo |  | Gets the file or directory information.
FS_SetPathInfo |  | Changes the file or directory information.
FS_CreateFile |  | Creates a file.
FS_DeleteFile |  | Deletes a file.
FS_RenameFile |  | Changes a file name.
FS_CreateDirectory |  | Creates a directory.
FS_DeleteDirectory |  | Deletes a directory.
FS_RenameDirectory |  | Changes a directory name.
FS_CreateFileAuto |  | Creates a file. Automatically creates any intermediate directories as necessary.
FS_DeleteFileAuto |  | Deletes a file. (The actual operation is the same as that of the `FS_DeleteFile` function, but this is provided for the sake of consistency.)
FS_RenameFileAuto |  | Changes a file name. Automatically creates intermediate directories as necessary.
FS_CreateDirectoryAuto |  | Creates a directory. Automatically creates intermediate directories as necessary.
FS_DeleteDirectoryAuto |  | Deletes a directory. Also deletes all subdirectories as necessary.
FS_RenameDirectoryAuto |  | Changes a directory name. Automatically creates intermediate directories as necessary.
FS_OpenTopLevelDirectory |  | Opens the top-level directory that lists the archive names.
FS_OpenDirectory[W] |  | Opens a directory by specifying a path.
FS_CloseDirectory |  | Closes a directory.
FS_ReadDirectory[W] |  | Reads entry information from a directory handle.
FS_ReadDir |  | Reads entry information from a directory handle.
FS_TellDir |  | Gets 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 directory list to the beginning.

### Archives

FS_InitArchive |  | Initializes the archive structure.
FS_GetArchiveName |  | Gets the name of the archive.
FS_GetArchiveResource |  | Gets the resource information of an archive.
FS_HasEnoughSpaceToCreateFile |  | Determines whether a file with the specified path and size can actually be created.
FS_IsArchiveReady |  | Determines whether the specified archive is available for use.
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 |  | Sends notification that the asynchronous processing performed by the archive is complete.
FS_RegisterEventHook |  | Registers hooks to monitor archive events.
FS_UnregisterEventHook |  | Unregisters hooks that monitor archive events.

### 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.

### Constants

FSResult |  | Expresses the result of the archive command.
FSSeekFileMode |  | Expresses the base position when moving a file pointer.
FS_FILE_NAME_MAX |  | The maximum number of characters that can be in a path.
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.
FS_FILEMODE_* |  | Constants used to specify the mode for accessing files.
FS_DIRMODE_* |  | Constants used to specify the mode for accessing directories.
FS_PERMIT_* |  | Constants used to set access rights for files.

### Types and Structures

FSFile |  | Used for file access.
FSDirectoryEntryInfo[W] |  | Stores directory entry information.
FSPathInfo |  | Stores path entry information.
FSArchiveResource |  | Stores an archive's resource information.
FSDateTime |  | Expresses date and time.
FSDirEntry |  | Structure that stores directory entry information.
FSDirPos |  | Expresses a directory position.
FSFileID |  | Expresses a unique file ID.
FSCommandType |  | Expresses the command ID to be sent to the archive.
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