# FS_OpenFileDirect

## C Specification

      #include <nitro/fs.h>

      BOOL FS_OpenFileDirect(
          FSFile      *p_file,
          FSArchive   *p_arc,
          u32         image_top,
          u32         image_bottom,
          u32         file_index);

## Description

This function opens the file by specifying the archive and its region directly.

This function is used mainly to implement archives. It is valid only when the specified archive is loaded.

## Caution

This function cannot be called from the interrupt handler (IRQ mode). Note that the process may not be completed if interrupts are prohibited.

## Arguments

`p_file` | Address of the `FSFile` structure
`p_arc` | Address of the `FSFile` structure to be associated
`image_top` | Offset for the beginning of the file region (memory space) specified by `p_arc`
`image_bottom` | Offset for the end of the file region (memory space) specified by `p_arc`
`file_index` | Index value to be allocated to the file

## Return Values

Returns `TRUE` if the file was opened properly. If not, returns `FALSE`.

## See Also

`FSFile`, `FSArchive`, `FS_GetFileImageTop`, `FS_GetFileImageBottom`

## Revision History

09/24/2004 Added the description in the Caution section regarding the conditions for calling this function.
07/13/2004 Initial version