FS_COMMAND_OPENFILEDIRECT


C Specification

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

Description

Operating specifications for the archive command FS_COMMAND_OPENFILEDIRECT are shown below:


Arguments passed to this command
This command takes as a command argument the variable arg.openfiledirect that is stored at p_file.
This variable is defined in nitro/fs/file.h as shown below:
typedef struct
        {
            u32     top;
            u32     bottom;
            u32     index;
        } FSOpenFileDirectInfo;

Argument content is listed below:
Arguments Content
top An archive base offset that indicates the top of the file image area.
This value is used for area determination in the FS_SeekFile function.
bottom An archive base offset that indicates the bottom of the file image area.
This value is used for area determination in the FS_SeekFile function.
index Indicates a file's index.
This value is used by the FS_COMMAND_GETPATH command.

Actions required of this command
It sets the p_file variable prop.file as shown below:

Each of the prop.file variables is appropriately set based on the arguments top, bottom, and index.
The set values are used by subsequent FS_COMMAND_READFILE and FS_COMMAND_WRITEFILE commands. You may determine your own meanings for the prop.file variables as long as they are appropriate arguments for these commands. However, prop.file.pos must be within the range prop.file.top - prop.file.bottom.

Default Implementation
The command sets values based on the following determinants:
prop.file.top Sets the argument top as-is.
prop.file.bottom Sets the argument bottom as-is.
prop.file.pos Sets the same value as prop.file.top
prop.file.own_id Sets the arguments index and p_file->arc.

Command Results
If FS_RESULT_SUCCESS is returned by the command, p_file becomes a handle that holds file information, and from that point the FS_IsFile function will return TRUE.

It can also be used in arguments in functions that operate on files.

Functions that use this command

See Also

FSArchive, FS_ARCHIVE_PROC_FUNC, FS_COMMAND_*, FS_SetArchiveProc

Revision History

08/25/2004 Revised the error: FS_COMMAND_WRITE is changed to FS_COMMAND_WRITEFILE
07/12/2004 Initial Version