FSResult FS_ARCHIVE_PROC_FUNC(FSFile *p_file, FSCommandType command /*
= FS_COMMAND_FINDPATH */);
Operating specifications for the archive command FS_COMMAND_FINDPATH
are shown below:
This command takes as a command argument the variablearg.closefile
that is stored inp_file
. This variable is defined innitro/fs/file.h
as shown below: typedef struct { FSDirPos pos; const char *path; BOOL find_directory; union { FSFileID *file; FSDirPos *dir; } result; } FSFindPathInfo;
Argument content is listed below:
Arguments | Content |
pos | This indicates the base directory position of the file or directory that is to be searched.
The following variables can be ignored: pos.index , pos.pos . |
path | Indicates a pointer to a relative path string, where pos is the base. |
find_directory |
If the target of the search is a file, this argument stores FALSE ; if the target is a directory, this argument stores TRUE . |
result.file |
If find_directory is FALSE , this argument indicates a pointer to a file ID that is used to store search results. |
result.dir |
If find_directory is TRUE , this will indicate a pointer to a directory position that is used to store search results. |
p_file
information does not use anything. The memory that the argumentsresult.file
andresult.dir
indicate is set as shown below: If thefind_directory
argument is FALSE, based on the directory positionpos
, the command will acquire the file ID that is at the relative path position that is indicated by path, and store the value inresult.file
. If the find_directory argument is TRUE, based on the directory positionpos
, the command will acquire the directory position that is at the relative path position that is indicated bypath
, and store the value inresult.dir
. In either case, the command will do nothing if the specified path is invalid.
Seek results from the provided arguments, using only theFS_COMMAND_SEEKDIR
andFS_COMMAND_READDIR
commands.
IfFS_RESULT_SUCCESS
is returned by the command, it will be determined that correct values, found as search results, are stored inresult.file
orresult.dir
. Otherwise, it will be determined that the command failed either because the specified path does not exist, the path format is invalid, or due to some other error.
FS_ChangeDir
FS_OpenFile
FS_ConvertPathToFileID
FSArchive
, FS_ARCHIVE_PROC_FUNC
, FS_COMMAND_*
, FS_SetArchiveProc
2004/07/12 Initial version.
CONFIDENTIAL