mfsHFindFirst

Syntax

s32 mfsHFindFirst(const u8* path, MfsFfblk *ffblk, u16 attr)

Arguments

*path   Search target pathname
*ffblk   MfsFfblk structure
attr   Attribute of file to be found

Return value

Error

Function

Searches a directory

Description

This function begins a search for the file specified by path.

path is a character string that contains the drive, directory, and file name (including extension) of the search target. Wildcard characters (* or ?) can be included in the file name. If a matching file is found, its information is stored in the MfsFfblk structure. The MfsFfblk structure consists of the following members.

typedef struct st_ffblk {
	MfsFileOperations* fileOpe;
	MfsStat stat;
	u8 name[MFS_FILE_NAME_SIZE + MFS_FILE_TYPE_SIZE];
	u8 path[MFS_FILE_NAME_SIZE + MFS_FILE_TYPE_SIZE];
	MfsDirList dirList;
} MfsFfblk;

File information is entered in stat among these members. Also, the matched file name is entered in name. The other members are used by the library.

The attribute of the file to be found is specified for attr. The values that can be specified are the values shown below or a value obtained by taking the logical OR of these values.

MFS_FILE_ATTR_DIRECTORY 0x8000 Directory
MFS_FILE_ATTR_FILE 0x4000 File
MFS_FILE_ATTR_FORBID_W 0x2000 Write protected
MFS_FILE_ATTR_FORBID_R 0x1000 Read protected
MFS_FILE_ATTR_HIDDEN 0x0800 Hidden file
MFS_FILE_ATTR_ENCODE 0x0400 Encoded file
MFS_FILE_ATTR_COPYLIMIT 0x0200 Copy limited

If a matching file is found, MFS_ERR_NO is returned. If no file is found, MFS_ERR_SEARCHEND is returned.

Main errors

MFS_ERR_NO Normal termination
MFS_ERR_NOTFOUND Drive not found
MFS_ERR_DEVICE Device error
An error occurred in an internally called Leo function. Since a Leo function error is stored in the variable mfsError, check this variable to perform processing.
MFS_ERR_PROTECT Write protected
The volume attribute is write protected, or the medium is volume protected.