FS_COMMAND_READFILE

Definition


FSResult FS_ARCHIVE_PROC_FUNC(FSFile *p_file, FSCommandType command /* = FS_COMMAND_READFILE */);

Description

Operating specifications for the archive command FS_COMMAND_READFILE are shown below:


Arguments passed to this command
This command takes as a command argument the variable arg.readfile that is stored in p_file.
This variable is defined in nitro/fs/file.h as shown below: typedef struct { void *dst; u32 len_org; u32 len; } FSReadFileInfo;
Argument content is listed below:
Arguments Content
dst Points to the transfer destination memory address where read data is stored.
len_org Indicates the size of data to read (bytes), using the specified value as is.
len Specifies the size of data to read (bytes), using the value that is adjusted by the file size at the time that the command is called.


Actions required of this command
p_file is a handle that always holds file information in prop.file.
Based on p_file's prog.file variable, the command makes the following settings: Transfers len bytes of data from the archive offset position indicated by prop.file.pos, to memory at dst. Adds value of len to prop.file.pos.
The value len is adjusted from the specified value, taking prop.file.bottom into consideration. If you want to run a special process when a write exceeds the file size, you can use the original value that is stored in len_org.

Default Implementation
Uses the archive read callback function to transfer len bytes from the base offset position indicated by prop.file.pos to dst. Adds value of len to prop.file.pos.

Command Results
If FS_RESULT_SUCCESS is returned by the command, it will be determined that the transfer process for len bytes completed properly.
When anything else is returned by the command, it will be determined that transfer failed due to some error.

Functions that use this command
FS_ReadFile FS_ReadFileAsync

See Also

FSArchive, FS_ARCHIVE_PROC_FUNC, FS_COMMAND_*, FS_SetArchiveProc

Revision History

2004/07/12 Initial version.


CONFIDENTIAL