# FS_LoadArchiveTables

## C Specification

  `#include <nitro/fs.h>`
  `u32 FS_LoadArchiveTables(FSArchive *p_arc, void *p_mem, u32 max_size);`

## Arguments

`p_arc` | Address of the `FSArchive` structure
p_mem | Pointer to the memory that a user prepares for tables.
max_size | Memory size in bytes

## Return Values

The exact number of bytes needed to load the tables.

## Description

This function loads the archive's FAT and FNT information table data into previously-obtained memory. Doing this boosts the access efficiency of commands that involve directory operations. If the specified memory size is sufficient to hold the tables, this function will load all of the table data into memory. This memory will be used internally for subsequent file access. Therefore, users will not be able to use it.
This function will not perform any action if the specified memory size is insufficient.
In such a situation, the specified memory will not be used and will be returned to the user.
This function always returns the number of bytes that are required to load the tables.
The judgment is based on whether the returned value is larger than `max_size` or equal to or smaller than `max_size`.

## See Also

``

## Revision History

11/02/2004 Made argument names consistent.
06/30/2004 Initial version.