# FS_CreateFileFromMemory

## Syntax

  `#include <nitro/fs.h>`
  `BOOL FS_CreateFileFromMemory(FSFile *p_file, void *buf, u32 size);`

## Arguments

p_file | Address of the `FSFile` structure.
buf | Start of the memory region for the read or write.
size | Byte size of buf.

## Return Values

`TRUE` if the file opens properly; `FALSE` otherwise.

## Description

Treats the address region in the specified memory map as a temporary file and opens the file. The file opened by this function supports only these following functions.

- `FS_SeekFile`, `FS_SeekFileToBegin`, `FS_SeekFileToEnd`
- `FS_ReadFile`, `FS_WriteFile`
- `FS_ReadFileAsync`, `FS_WriteFileAsync` (behaves the same way as the synchronous version)
- `FS_CloseFile`

For more information, see the explanation for the Memory File Archive.

## Note

- This function cannot be called from the interrupt handler (IRQ mode).
  Also note that in some cases processing may not end if interrupts are left prohibited.
- Because the structures of opened files are linked with system resources, you cannot move or duplicate the information in these structures by copying them into other structures. For details, see the `FSFile` structure.

## See Also

`FSFile`
`FSArchive`
Memory File Archive

## Revision History

2009/07/29 Added mention that copying structure values is not guaranteed.
2005/06/28 Initial version.

CONFIDENTIAL