

FSResult FS_ARCHIVE_PROC_FUNC(FSFile *p_file, FSCommandType command /*
= FS_COMMAND_SEEKDIR */);
Operating specifications for the archive command FS_COMMAND_SEEKDIR are shown below:
This command takes as a command argument the variablearg.seekdirthat is stored inp_file.
This variable is defined innitro/fs/file.has shown below: typedef struct { FSDirPos pos; } FSSeekDirInfo;
Argument content is listed below:
| Arguments | Content |
pos |
The directory position to be moved is stored in a FSDirPos type.The FS_COMMAND_READDIR command generates this value. |
It sets thep_filevariableprop.diras shown below:
Sets the directory position that is held by the argumentposinprop.dir.pos. If bothpos.indexandpos.posare0, it signifies the top of the directory array position.
The set values are used by subsequentFS_COMMAND_SEEKDIRandFS_COMMAND_READDIRcommands. You may determine your own meanings for theposname variables as long as they are appropriate arguments for these commands. Sets the index for the parent directory at the directory position indicated by the argumentposinprop.dir.parent.pos.own_id = 0" signifies the root directory. In the case of the root directory, this sets the total number of directories intoprop.dir.parent.
The set values are used by subsequentFS_COMMAND_GETPATHcommands.
The command sets values based on the following determinants:
| prop.dir.pos.arc | Uses the arguments as is |
| prop.dir.pos.own_id | Uses the arguments as is |
| prop.dir.pos.index | The position where the next directory entry is located within FNT. (Based on the NitroROM format.) |
| prop.dir.pos.pos | The given index, if the next directory entry was a file. Incremented by 1 every time FS_COMMAND_READ succeeds. (Based on the NitroROM format.) |
| prop.dir.parent | Parent directory's index, or total number of directories. (Conforms to NitroROM format) |
As long as the archive's FNT conforms to the NitroROM format (determined by using the archive read callback function), this information is acquired from the FNT entry block that is indicated by pos.own_id.
If this command returnsFS_RESULT_SUCCESS,p_filebecomes a handle that contains directory position information. Subsequently theFS_IsDirfunction returnsTRUE. It can also be used as an argument in functions that operate on directories.
FS_SeekDirFS_RewindDir
(indirectly from the defaultFS_FINDPATHcommand) FS_ChangeDir FS_OpenFileFS_ConvertPathToFileID
(indirectly from the default FS_GETPATH command) FS_GetPathName FS_GetPathLength
FSArchive, FS_ARCHIVE_PROC_FUNC, FS_COMMAND_*, FS_SetArchiveProc
2004/07/12 Initial version.
CONFIDENTIAL