VFile_System

Description: Collection file system interface

Source file: …\genesis3d\OpenSource\Source\VFile\ fsvfs.h & FSMEMORY.h & fsdos.h

Contents:

Functions: RegisterFileSystem, FSVFS_GetAPIs, FSMemory_GetAPIs, FSDos_GetAPIs

Types: SystemAPIs, FinderCreateFN, FinderGetNextFileFN, FinderGetPropertiesFN, FinderDestroyFN, OpenNewSystemFN, UpdateContextFN, OpenFN, DeleteFileFN, RenameFileFN, FileExistsFN, DisperseFN, CloseFN, GetSFN, ReadFN, WriteFN, SeekFN, EOFFN, TellFN, GetPropertiesFN, SizeFN, SetSizeFN, SetAttributesFN, SetTimeFN, SetHintsFN 

 Addition for Genesis3D v1.6: CloseAPI

Types:

geVFile_SystemAPIs

typedef struct geVFile_SystemAPIs {
     geVFile_FinderCreateFN               FinderCreate;
     geVFile_FinderGetNextFileFN       FinderGetNextFile;
     geVFile_FinderGetPropertiesFN     FinderGetProperties;
     geVFile_FinderDestroyFN              FinderDestroy;
 
     geVFile_OpenNewSystemFN        OpenNewSystem;
     geVFile_UpdateContextFN            UpdateContext;
     geVFile_OpenFN                           Open;
     geVFile_DeleteFileFN                    DeleteFile;
     geVFile_RenameFileFN                 RenameFile;
     geVFile_FileExistsFN                     FileExists;
     geVFile_DisperseFN                      Disperse;
     geVFile_CloseFN                          Close;
 
     geVFile_GetSFN                           GetS;
     geVFile_ReadFN                           Read;
     geVFile_WriteFN                          Write;
     geVFile_SeekFN                           Seek;
     geVFile_EOFFN                           Eof;
     geVFile_TellFN                             Tell;
     geVFile_SizeFN                             Size;
 
     geVFile_GetPropertiesFN              GetProperties;
 
     geVFile_SetSizeFN                       SetSize;
     geVFile_SetAttributesFN               SetAttributes;
     geVFile_SetTimeFN                      SetTime;
     geVFile_SetHintsFN                      SetHints;
} geVFile_SystemAPIs;

 

 typedef void *   (GENESISCC *geVFile_FinderCreateFN)( geVFile* FileSystem, void * Handle, const char * FileSpec);

Return to Contents

 

typedef geBoolean  (GENESISCC *geVFile_FinderGetNextFileFN)( void * Handle);

Return to Contents

 

typedef geBoolean  (GENESISCC *geVFile_FinderGetPropertiesFN)( void * Handle, geVFile_Properties* Properties);

Return to Contents

 

typedef void   (GENESISCC *geVFile_FinderDestroyFN)( void * Handle);

Return to Contents

 

typedef void *  (GENESISCC *geVFile_OpenNewSystemFN)( geVFile* FS, const char * Name, void *  Context, unsigned int

OpenModeFlags);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_UpdateContextFN)( geVFile* FS, void * Handle, void * Context, int ContextSize);

Return to Contents

 

typedef void *  (GENESISCC *geVFile_OpenFN)( geVFile* FS, void * Handle, const char * Name, void *  Context, unsigned int OpenModeFlags);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_DeleteFileFN)( geVFile* FS, void * Handle, const char * FileName);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_RenameFileFN)( geVFile* FS, void * Handle, const char * FileName, const char * NewFileName);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_FileExistsFN)( geVFile* FS, void * Handle, const char * FileName);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_DisperseFN)( geVFile* FS, void * Handle, const char * Directory, geBoolean Recursive);

Return to Contents

 

typedef void   (GENESISCC *geVFile_CloseFN)( void * Handle);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_GetSFN)( void * Handle, void * Buff, int MaxSize);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_ReadFN)( void * Handle, void * Buff, int Count);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_WriteFN)( void * Handle, const void * Buff, int Count);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_SeekFN)( void * Handle, int Where, geVFile_Whence Whence);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_EOFFN)( const void * Handle);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_TellFN)( const void * Handle, long* Position);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_GetPropertiesFN)( const void * Handle, geVFile_Properties* Properties);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_SizeFN)( const void * Handle, long* Size);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_SetSizeFN)( void * Handle, long Size);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_SetAttributesFN)( void * Handle, geVFile_Attributes Attributes);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_SetTimeFN)( void * Handle, const geVFile_Time* Time);

Return to Contents

 

typedef geBoolean (GENESISCC *geVFile_SetHintsFN)( void * Handle, const geVFile_Hints* Hints);

Return to Contents

 

Functions:

geBoolean GENESISCC VFile_RegisterFileSystem(const geVFile_SystemAPIs*  APIs, geVFile_TypeIdentifier*  Type);

 

Return to Contents

const geVFile_SystemAPIs* GENESISCC FSVFS_GetAPIs(void);

Note: This is the primary function to use

 

Return to Contents

const geVFile_SystemAPIs* GENESISCC FSMemory_GetAPIs(void);

Note: This is located in a separate file (fsmemory.h) but it depends of stuff here, so I am combining with file here

 

Return to Contents

const geVFile_SystemAPIs* GENESISCC FSDos_GetAPIs(void);

Note: This is located in a separate file (fsdos.h) but it depends of stuff here, so I am combining with file here

 

Return to Contents

GENESISAPI void GENESISCC geVFile_CloseAPI (void);

Note: this is found in ...\VFile\vfile.h

Closes and frees API's

Return to Contents