# FS_LoadOverlayImageAsync

## C Specification

      #include <nitro/fs.h>

      BOOL FS_LoadOverlayImageAsync(FSOverlayInfo *p_ovi, FSFile *p_file);

## Description

This function asynchronously loads the image of an overlay module to memory. If this function succeeds, the specified `p_file` opens the file and enters the reading state. When it inherits the end of the read process, it takes the same value as FS_LoadOverlayImage.

When loading an overlay whose area conflicts with an existing loaded overlay, you must first unload the previous overlay using the `FS_UnloadOverlay` function.

For information about the relationship with other overlay functions that perform similar processes, see the example stated in the reference for the `FS_LoadOverlay` function.

## Arguments

`p_ovi` | `FSOverlayInfo` structure that holds overlay module information.

`p_file`

Pointer to the FSFile structure used for asynchronous reading. This structure's state must not indicate that a file is already open. Once this function succeeds and the read process ends, you must explicitly close the file using the FS_CloseFile function.
If NULL is passed to this pointer, the function internally calls the `FS_OpenFileFast` function to open the file. In this case, the function cannot be called from the interrupt handler (IRQ mode). Note that the process may not terminate if interrupts are left in the `prohibited` state.

## Return Values

Returns a value of TRUE if the overlay module's load process started correctly. Otherwise, a value of FALSE is returned.

## See Also

`FSOverlayInfo, FS_LoadOverlayInfo, FS_GetOverlayTotalSize, FS_GetOverlayAddress, FS_GetOverlayFileID, FS_LoadOverlayImage, FS_StartOverlay, FS_UnloadOverlayImage FS_LoadOverlay,`

## Revision History

11/17/2004 Made corrections regarding `FS_RegisterOverlayToDebugger`, which is no longer needed.
11/16/2004 Initial version.