Mount Fuji Engine  0.8b
Data Structures | Typedefs | Enumerations | Functions
FileSystem Functions

Data Structures

struct  MFOpenDataCachedFile
 Open cached file structure. More...
 
struct  MFFileHTTPRequestArg
 HTTP 'POST' arguments. More...
 
struct  MFOpenDataHTTP
 Open HTTP file structure. More...
 
struct  MFMountDataHTTP
 Mount HTTP filesystem structure. More...
 
struct  MFOpenDataMemory
 Open memory file structure. More...
 
struct  MFOpenDataNative
 Open native file structure. More...
 
struct  MFMountDataNative
 Mount native filesystem structure. More...
 
struct  MFOpenDataZipFile
 Open a zip archive file structure. More...
 
struct  MFMountDataZipFile
 Mount zip archive filesystem structure. More...
 
struct  MFOpenData
 Open file data base structure. More...
 
struct  MFMountData
 Mount data base structure. More...
 
struct  MFFindData
 FileSystem find data. More...
 
struct  MFVolumeInfo
 FileSystem volume info. More...
 
struct  MFFile
 Represents a Fuji file. More...
 
struct  MFFind
 Represents a Fuji find handle. More...
 

Typedefs

typedef int MFFileSystemHandle
 Represents a Fuji FileSystem.
 

Enumerations

enum  MFOpenCachedFlags { MFOF_Cached_CleanupBaseFile = MFOF_User }
 Open cached file flags enum. More...
 
enum  MFOpenZipFlags { MFOF_Zip_AlreadyMounted = MFOF_User }
 Open zip file flags enum. More...
 
enum  MFOpenFlags {
  MFOF_Read = 1, MFOF_Write = 2, MFOF_Text = 4, MFOF_Binary = 8,
  MFOF_CreateDirectory = 16, MFOF_User = 256, MFOF_ForceInt = 0x7FFFFFFF
}
 File open flags. More...
 
enum  MFFileSeek { MFSeek_Begin, MFSeek_Current, MFSeek_End }
 File seek origin. More...
 
enum  MFJobState { MFJS_Ready = 0, MFJS_Waiting, MFJS_Busy, MFJS_Finished }
 Represents asyncrenous file operation state. More...
 
enum  MFMountFlags {
  MFMF_FlattenDirectoryStructure = 1, MFMF_Recursive = 2, MFMF_DontCacheTOC = 4, MFMF_OnlyAllowExclusiveAccess = 8,
  MFMF_ForceUInt = 0xFFFFFFFF
}
 Mount flags. More...
 
enum  MFMountPriority {
  MFMP_Highest = 0, MFMP_VeryHigh = 1, MFMP_AboveNormal = 5, MFMP_Normal = 10,
  MFMP_BelowNormal = 15, MFMP_VeryLow = 20, MFMP_ForceInt = 0x7FFFFFFF
}
 Mount priority enum. More...
 
enum  MFFileAttributes {
  MFFA_Directory = MFBIT(0), MFFA_SymLink = MFBIT(1), MFFA_Hidden = MFBIT(2), MFFA_ReadOnly = MFBIT(3),
  MFFA_ForceInt = 0x7FFFFFFF
}
 File attributes. More...
 
enum  MFFileSystemHandles {
  MFFSH_Unknown = -1, MFFSH_NativeFileSystem = 0, MFFSH_MemoryFileSystem, MFFSH_CachedFileSystem,
  MFFSH_ZipFileSystem, MFFSH_HTTPFileSystem, MFFSH_FTPFileSystem, MFFSH_Max,
  MFFSH_ForceInt = 0x7FFFFFFF
}
 FileSystem handle enums. More...
 

Functions

MF_API const char * MFFile_SystemPath (const char *filename=NULL)
 Gets the system file path. More...
 
MF_API const char * MFFile_HomePath (const char *filename=NULL)
 Gets the system home path. More...
 
MF_API MFFileMFFile_Open (MFFileSystemHandle fileSystem, MFOpenData *pOpenData)
 Open a file. More...
 
MF_API int MFFile_Close (MFFile *pFile)
 Close a file. More...
 
MF_API int MFFile_Read (MFFile *pFile, void *pBuffer, size_t bytes, bool async=false)
 Read data from a file. More...
 
MF_API int MFFile_Write (MFFile *pFile, const void *pBuffer, size_t bytes, bool async=false)
 Write to a file. More...
 
MF_API int MFFile_Seek (MFFile *pFile, int bytes, MFFileSeek relativity)
 Seek the file. More...
 
MF_API int MFFile_Tell (MFFile *pFile)
 Tell the file position. More...
 
MF_API int64 MFFile_GetSize (MFFile *pFile)
 Get the size of a file. More...
 
MF_API bool MFFile_IsEOF (MFFile *pFile)
 Check for end of file. More...
 
MF_API int MFFile_StdClose (void *stream)
 Close a file. More...
 
MF_API size_t MFFile_StdRead (void *buffer, size_t size, size_t count, void *stream)
 Read data from a file. More...
 
MF_API size_t MFFile_StdWrite (const void *buffer, size_t size, size_t count, void *stream)
 Write to a file. More...
 
MF_API long MFFile_StdSeek (void *stream, long offset, int whence)
 Seek the file. More...
 
MF_API long MFFile_StdTell (void *stream)
 Tell the file position. More...
 
MF_API MFFileSystemHandle MFFileSystem_GetInternalFileSystemHandle (MFFileSystemHandles fileSystemHandle)
 Get a handle to a specific filesystem. More...
 
MF_API int MFFileSystem_Mount (MFFileSystemHandle fileSystem, MFMountData *pMountData)
 Mounts a filesystem. More...
 
MF_API int MFFileSystem_MountFujiPath (const char *pMountpoint, const char *pFujiPath, int priority=MFMP_Normal, uint32 flags=0)
 Mounts a filesystem from a fuji path. More...
 
MF_API int MFFileSystem_Dismount (const char *pMountpoint)
 Dismount a filesystem. More...
 
MF_API MFFileMFFileSystem_Open (const char *pFilename, uint32 openFlags=MFOF_Read|MFOF_Binary)
 Open a file from the mounted filesystem stack. More...
 
MF_API char * MFFileSystem_Load (const char *pFilename, size_t *pBytesRead=NULL, size_t extraBytes=0)
 Load a file from the filesystem. More...
 
MF_API int MFFileSystem_Save (const char *pFilename, const char *pBuffer, size_t size)
 Write a file to a filesystem. More...
 
MF_API int64 MFFileSystem_GetSize (const char *pFilename)
 Get the size of a file. More...
 
MF_API bool MFFileSystem_Exists (const char *pFilename)
 See if a file is available to the filesystem. More...
 
MF_API const char * MFFileSystem_ResolveSystemPath (const char *pFilename, bool bAbsolute=false)
 Resolve the system path to a file. More...
 
MF_API int MFFileSystem_GetNumVolumes ()
 Get number of available volumes. More...
 
MF_API void MFFileSystem_GetVolumeInfo (int volumeID, MFVolumeInfo *pVolumeInfo)
 Get volume mount details. More...
 
MF_API MFFindMFFileSystem_FindFirst (const char *pSearchPattern, MFFindData *pFindData)
 Begin a find for files. More...
 
MF_API bool MFFileSystem_FindNext (MFFind *pFind, MFFindData *pFindData)
 Find the next file. More...
 
MF_API void MFFileSystem_FindClose (MFFind *pFind)
 Close an open find. More...
 

Detailed Description