# FSArchive

## C Specification

      #include <nitro/fs.h>

      typedef struct  FSArchive
      {
      /* private: */

          union {
                  char    ptr[FS_ARCHIVE_NAME_LEN_MAX + 1];
                  u32                 pack;
          } name;

              struct  FSArchive       *next;
              struct  FSArchive       *prev;

              OSThreadQueue           sync_q;
              OSThreadQueue           stat_q;
              u32                     flag;

              FSFileLink              list_sync;
              FSFileLink              list_async;

              u32                     base;
              u32                     fat;
              u32                     fat_size;

              u32                     fnt;
              u32                     fnt_size;
              u32                     fat_bak;
              u32                     fnt_bak;

              void                    *load_mem;

              FS_ARCHIVE_READ_FUNC    read_func;
              FS_ARCHIVE_WRITE_FUNC   write_func;

              FS_ARCHIVE_READ_FUNC    table_func;

              FS_ARCHIVE_PROC_FUNC    proc;
              u32                     proc_flag;

      } FSArchive;

## Description

Used in archive function.

All members are used only in internal processing. Direct operation of these is prohibited.

## Caution

This type of internal expression may change in future enhancements.

Avoid programming that depends upon sizes and members in the current package.

## See Also

`FSArchive`, `FS_RegisterArchiveName`, FS_SetArchiveProc, FS_ARCHIVE_READ_FUNC (FS_ARCHIVE_WRITE_FUNC)

## Revision History

07/12/2004 Corrected link errors
06/30/2004 Initial version