libElysianVMU 1.6.0
Full-featured, accurate, cross-platform library emulating the Dreamcast's Visual Memory Unit
Loading...
Searching...
No Matches
EvmuFat Struct Reference

#include <evmu_fat.h>

Inheritance diagram for EvmuFat:
EvmuFlash EvmuPeripheral EvmuIMemory GblObject EvmuIBehavior GblBox GblITableVariant GblInstance EvmuFileManager

Data Fields

union { 
 
   EvmuFatClass *   pClass 
 
   EvmuFlash   base 
 
};  
 
- Data Fields inherited from EvmuFlash
union { 
 
   EvmuFlashClass *   pClass 
 
   EvmuPeripheral   base 
 
};  
 
GblBool dataChanged
 
- Data Fields inherited from EvmuPeripheral
union { 
 
   EvmuPeripheralClass *   pClass 
 
   GblObject   base 
 
};  
 
GblFlags logLevel
 
- Data Fields inherited from GblObject
GblObjectClasspClass
 
GblBox base
 
- Data Fields inherited from GblBox
GblBoxClasspClass
 
GblInstance base
 
GblArrayMappFields
 
volatile uint16_t refCounter
 
uint16_t contextType
 
uint16_t constructedInPlace
 
uint16_t derivedFlags
 
- Data Fields inherited from GblInstance
GblClasspClass
 

Related Symbols

(Note that these are not member symbols.)

General File System

FAT utilities and configuration info

EvmuRootBlockEvmuFat_root (const EvmuFat *pSelf)
 
EVMU_RESULT EvmuFat_info (const EvmuFat *pSelf, EvmuFatInfo *pInfo)
 
EVMU_RESULT EvmuFat_format (const EvmuFat *pSelf, const EvmuRootBlock *pRoot)
 
GblBool EvmuFat_isFormatted (const EvmuFat *pSelf)
 
size_t EvmuFat_capacity (const EvmuFat *pSelf)
 
size_t EvmuFat_toBlocks (const EvmuFat *pSelf, size_t bytes)
 
void EvmuFat_usage (const EvmuFat *pSelf, EvmuFatUsage *pUsage)
 
size_t EvmuFat_seqFreeBlocks (const EvmuFat *pSelf)
 
size_t EvmuFat_userBlocks (const EvmuFat *pSelf)
 
void EvmuFat_log (const EvmuFat *pSelf)
 
Block Management

Querying and managing FAT blocks

size_t EvmuFat_blockSize (const EvmuFat *pSelf)
 
size_t EvmuFat_blockCount (const EvmuFat *pSelf)
 
EvmuBlock EvmuFat_blockTable (const EvmuFat *pSelf)
 
EvmuBlock EvmuFat_blockDirectory (const EvmuFat *pSelf)
 
const void * EvmuFat_blockData (const EvmuFat *pSelf, EvmuBlock block)
 
EvmuBlock EvmuFat_blockNext (const EvmuFat *pSelf, EvmuBlock block)
 
EVMU_RESULT EvmuFat_blockLink (const EvmuFat *pSelf, EvmuBlock b, EvmuBlock lnk)
 
EVMU_RESULT EvmuFat_blockFree (const EvmuFat *pSelf, EvmuBlock block)
 
EvmuBlock EvmuFat_blockAlloc (const EvmuFat *pSelf, EvmuBlock prev, EVMU_FILE_TYPE type)
 
Directory Management

Querying and managing the directory

size_t EvmuFat_dirEntryCount (const EvmuFat *pSelf)
 
EvmuDirEntryEvmuFat_dirEntry (const EvmuFat *pSelf, size_t index)
 
size_t EvmuFat_dirEntryIndex (const EvmuFat *pSelf, const EvmuDirEntry *pEntry)
 
EvmuDirEntryEvmuFat_dirEntryAlloc (const EvmuFat *pSelf, EVMU_FILE_TYPE fileType)
 
void EvmuFat_dirEntryLog (const EvmuFat *pSelf, const EvmuDirEntry *pEntry)
 

Additional Inherited Members

- Public Member Functions inherited from GblObject
GblContextGblObject_findContext (GblObject *pSelf)
 
GBL_RESULT GblObject_property (const GblObject *pSelf, const char *pName,...)
 
GBL_RESULT GblObject_propertyByQuark (const GblObject *pSelf, GblQuark name,...)
 
GBL_RESULT GblObject_propertyVaList (const GblObject *pSelf, const char *pName, va_list *pList)
 
GBL_RESULT GblObject_propertyVaListByQuark (const GblObject *pSelf, GblQuark name, va_list *pList)
 
GBL_RESULT GblObject_propertyVariant (const GblObject *pSelf, const char *pName, GblVariant *pValue)
 
GBL_RESULT GblObject_propertyVariantByQuark (const GblObject *pSelf, GblQuark name, GblVariant *pValue)
 
GBL_RESULT GblObject_properties (const GblObject *pSelf,...)
 
GBL_RESULT GblObject_propertiesVaList (const GblObject *pSelf, va_list *pList)
 
GBL_RESULT GblObject_propertiesVariants (const GblObject *pSelf, size_t count, const char *pNames[], GblVariant *pValue)
 
GBL_RESULT GblObject_setProperty (GblObject *pSelf, const char *pName,...)
 
GBL_RESULT GblObject_setPropertyByQuark (GblObject *pSelf, GblQuark quark,...)
 
GBL_RESULT GblObject_setPropertyVaList (GblObject *pSelf, const char *pName, va_list *pList)
 
GBL_RESULT GblObject_setPropertyVaListByQuark (GblObject *pSelf, GblQuark name, va_list *pList)
 
GBL_RESULT GblObject_setPropertyVariant (GblObject *pSelf, const char *pName, GblVariant *pValue)
 
GBL_RESULT GblObject_setPropertyVariantByQuark (GblObject *pSelf, GblQuark name, GblVariant *pValue)
 
GBL_RESULT GblObject_setProperties (GblObject *pSelf,...)
 
GBL_RESULT GblObject_setPropertiesVaList (GblObject *pSelf, va_list *pList)
 
GBL_RESULT GblObject_setPropertiesVariants (GblObject *pSelf, size_t count, const char *pNames[], GblVariant *pValue)
 
const GblStringRefGblObject_name (const GblObject *pSelf)
 
void GblObject_setName (GblObject *pSelf, const char *pName)
 
void GblObject_setNameRef (GblObject *pSelf, const GblStringRef *pRef)
 
GblObjectGblObject_parent (const GblObject *pSelf)
 
void GblObject_setParent (GblObject *pSelf, GblObject *pParent)
 
void GblObject_addChild (GblObject *pSelf, GblObject *pChild)
 
GblBool GblObject_removeChild (GblObject *pSelf, GblObject *pChild)
 
size_t GblObject_depth (const GblObject *pSelf)
 
GblObjectGblObject_childFirst (const GblObject *pSelf)
 
size_t GblObject_childCount (const GblObject *pSelf)
 
GblObjectGblObject_siblingNext (const GblObject *pSelf)
 
GblObjectGblObject_findAncestorByType (const GblObject *pSelf, GblType ancestorType)
 
GblObjectGblObject_findAncestorByName (const GblObject *pSelf, const char *pName)
 
GblObjectGblObject_findAncestorByHeight (const GblObject *pSelf, size_t height)
 
GblObjectGblObject_findBaseByDepth (const GblObject *pSelf, size_t depth)
 
GblObjectGblObject_findChildByType (const GblObject *pSelf, GblType childType)
 
GblObjectGblObject_findChildByName (const GblObject *pSelf, const char *pName)
 
GblObjectGblObject_findChildByIndex (const GblObject *pSelf, size_t index)
 
GblObjectGblObject_findSiblingByType (const GblObject *pSelf, GblType siblingType)
 
GblObjectGblObject_findSiblingByName (const GblObject *pSelf, const char *pName)
 
GblObjectGblObject_findSiblingByIndex (const GblObject *pSelf, size_t index)
 
GBL_RESULT GblObject_sendEvent (GblObject *pSelf, GblEvent *pEvent)
 
GBL_RESULT GblObject_notifyEvent (GblObject *pSelf, GblEvent *pEvent)
 
GBL_RESULT GblObject_installEventFilter (GblObject *pSelf, GblIEventFilter *pFilter)
 
GBL_RESULT GblObject_uninstallEventFilter (GblObject *pSelf, GblIEventFilter *pFilter)
 
size_t GblObject_eventFilterCount (const GblObject *pSelf)
 
GblIEventFilter * GblObject_eventFilter (const GblObject *pSelf, size_t index)
 
GBL_RESULT GblObject_property (const GblObject *pSelf, const char *pName,...)
 
GBL_RESULT GblObject_propertyByQuark (const GblObject *pSelf, GblQuark name,...)
 
GBL_RESULT GblObject_propertyVaList (const GblObject *pSelf, const char *pName, va_list *pList)
 
GBL_RESULT GblObject_propertyVaListByQuark (const GblObject *pSelf, GblQuark name, va_list *pList)
 
GBL_RESULT GblObject_propertyVariant (const GblObject *pSelf, const char *pName, GblVariant *pValue)
 
GBL_RESULT GblObject_propertyVariantByQuark (const GblObject *pSelf, GblQuark name, GblVariant *pValue)
 
GBL_RESULT GblObject_properties (const GblObject *pSelf,...)
 
GBL_RESULT GblObject_propertiesVaList (const GblObject *pSelf, va_list *pList)
 
GBL_RESULT GblObject_propertiesVariants (const GblObject *pSelf, size_t count, const char *pNames[], GblVariant *pValue)
 
GBL_RESULT GblObject_setProperty (GblObject *pSelf, const char *pName,...)
 
GBL_RESULT GblObject_setPropertyByQuark (GblObject *pSelf, GblQuark quark,...)
 
GBL_RESULT GblObject_setPropertyVaList (GblObject *pSelf, const char *pName, va_list *pList)
 
GBL_RESULT GblObject_setPropertyVaListByQuark (GblObject *pSelf, GblQuark name, va_list *pList)
 
GBL_RESULT GblObject_setPropertyVariant (GblObject *pSelf, const char *pName, GblVariant *pValue)
 
GBL_RESULT GblObject_setPropertyVariantByQuark (GblObject *pSelf, GblQuark name, GblVariant *pValue)
 
GBL_RESULT GblObject_setProperties (GblObject *pSelf,...)
 
GBL_RESULT GblObject_setPropertiesVaList (GblObject *pSelf, va_list *pList)
 
GBL_RESULT GblObject_setPropertiesVariants (GblObject *pSelf, size_t count, const char *pNames[], GblVariant *pValue)
 
const GblStringRefGblObject_name (const GblObject *pSelf)
 
void GblObject_setName (GblObject *pSelf, const char *pName)
 
void GblObject_setNameRef (GblObject *pSelf, const GblStringRef *pRef)
 
GblObjectGblObject_parent (const GblObject *pSelf)
 
void GblObject_setParent (GblObject *pSelf, GblObject *pParent)
 
void GblObject_addChild (GblObject *pSelf, GblObject *pChild)
 
GblBool GblObject_removeChild (GblObject *pSelf, GblObject *pChild)
 
size_t GblObject_depth (const GblObject *pSelf)
 
GblObjectGblObject_childFirst (const GblObject *pSelf)
 
size_t GblObject_childCount (const GblObject *pSelf)
 
GblObjectGblObject_siblingNext (const GblObject *pSelf)
 
GblObjectGblObject_findAncestorByType (const GblObject *pSelf, GblType ancestorType)
 
GblObjectGblObject_findAncestorByName (const GblObject *pSelf, const char *pName)
 
GblObjectGblObject_findAncestorByHeight (const GblObject *pSelf, size_t height)
 
GblObjectGblObject_findBaseByDepth (const GblObject *pSelf, size_t depth)
 
GblObjectGblObject_findChildByType (const GblObject *pSelf, GblType childType)
 
GblObjectGblObject_findChildByName (const GblObject *pSelf, const char *pName)
 
GblObjectGblObject_findChildByIndex (const GblObject *pSelf, size_t index)
 
GblObjectGblObject_findSiblingByType (const GblObject *pSelf, GblType siblingType)
 
GblObjectGblObject_findSiblingByName (const GblObject *pSelf, const char *pName)
 
GblObjectGblObject_findSiblingByIndex (const GblObject *pSelf, size_t index)
 
GBL_RESULT GblObject_sendEvent (GblObject *pSelf, GblEvent *pEvent)
 
GBL_RESULT GblObject_notifyEvent (GblObject *pSelf, GblEvent *pEvent)
 
GBL_RESULT GblObject_installEventFilter (GblObject *pSelf, GblIEventFilter *pFilter)
 
GBL_RESULT GblObject_uninstallEventFilter (GblObject *pSelf, GblIEventFilter *pFilter)
 
size_t GblObject_eventFilterCount (const GblObject *pSelf)
 
GblIEventFilter * GblObject_eventFilter (const GblObject *pSelf, size_t index)
 
- Public Member Functions inherited from GblBox
GblBoxGblBox_ref (GblBox *pSelf)
 
GblRefCount GblBox_unref (GblBox *pSelf)
 
GblRefCount GblBox_refCount (const GblBox *pSelf)
 
void * GblBox_userdata (const GblBox *pSelf)
 
GBL_RESULT GblBox_setUserdata (GblBox *pSelf, void *pUserdata)
 
GBL_RESULT GblBox_setUserDestructor (GblBox *pSelf, GblArrayMapDtorFn pFnUdDtor)
 
uintptr_t GblBox_field (const GblBox *pSelf, GblQuark key)
 
uintptr_t GblBox_takeField (GblBox *pSelf, GblQuark key)
 
GblBool GblBox_clearField (GblBox *pSelf, GblQuark key)
 
GblBool GblBox_hasField (const GblBox *pSelf, GblQuark key)
 
GBL_RESULT GblBox_setField (GblBox *pSelf, GblQuark key, uintptr_t ud, GblArrayMapDtorFn pFnDtor)
 
GblBoxGblBox_ref (GblBox *pSelf)
 
GblRefCount GblBox_unref (GblBox *pSelf)
 
GblRefCount GblBox_refCount (const GblBox *pSelf)
 
void * GblBox_userdata (const GblBox *pSelf)
 
GBL_RESULT GblBox_setUserdata (GblBox *pSelf, void *pUserdata)
 
GBL_RESULT GblBox_setUserDestructor (GblBox *pSelf, GblArrayMapDtorFn pFnUdDtor)
 
uintptr_t GblBox_field (const GblBox *pSelf, GblQuark key)
 
uintptr_t GblBox_takeField (GblBox *pSelf, GblQuark key)
 
GblBool GblBox_clearField (GblBox *pSelf, GblQuark key)
 
GblBool GblBox_hasField (const GblBox *pSelf, GblQuark key)
 
GBL_RESULT GblBox_setField (GblBox *pSelf, GblQuark key, uintptr_t ud, GblArrayMapDtorFn pFnDtor)
 
- Public Member Functions inherited from GblInstance
GblRefCount GblInstance_destroy (GblInstance *pSelf)
 
GblBool GblInstance_check (const GblInstance *pSelf, GblType toType)
 
GblInstanceGblInstance_cast (GblInstance *pSelf, GblType toType)
 
GblInstanceGblInstance_as (GblInstance *pSelf, GblType toType)
 
void * GblInstance_private (const GblInstance *pSelf, GblType base)
 
GblInstanceGblInstance_public (const void *pPriv, GblType base)
 
GblType GblInstance_typeOf (const GblInstance *pSelf)
 
size_t GblInstance_size (const GblInstance *pSelf)
 
size_t GblInstance_privateSize (const GblInstance *pSelf)
 
size_t GblInstance_totalSize (const GblInstance *pSelf)
 
GblClassGblInstance_class (const GblInstance *pSelf)
 
GBL_RESULT GblInstance_swizzleClass (GblInstance *pSelf, GblClass *pClass)
 
GBL_RESULT GblInstance_sinkClass (GblInstance *pSelf)
 
GBL_RESULT GblInstance_floatClass (GblInstance *pSelf)
 
GblBool GblInstance_check (const GblInstance *pSelf, GblType toType)
 
GblInstanceGblInstance_cast (GblInstance *pSelf, GblType toType)
 
GblInstanceGblInstance_as (GblInstance *pSelf, GblType toType)
 
void * GblInstance_private (const GblInstance *pSelf, GblType base)
 
GblInstanceGblInstance_public (const void *pPriv, GblType base)
 
GblType GblInstance_typeOf (const GblInstance *pSelf)
 
size_t GblInstance_size (const GblInstance *pSelf)
 
size_t GblInstance_privateSize (const GblInstance *pSelf)
 
size_t GblInstance_totalSize (const GblInstance *pSelf)
 
GblClassGblInstance_class (const GblInstance *pSelf)
 
GBL_RESULT GblInstance_swizzleClass (GblInstance *pSelf, GblClass *pClass)
 
GBL_RESULT GblInstance_sinkClass (GblInstance *pSelf)
 
GBL_RESULT GblInstance_floatClass (GblInstance *pSelf)
 

Detailed Description

Peripheral providing 8-bit FAT API.

EvmuFat provides the following 3 filesystem APIs:

  • Block-based reads/writes
  • FAT Table allocation and management
  • Directory allocation and management
See also
EvmuFatClass

Definition at line 204 of file evmu_fat.h.

Friends And Related Symbol Documentation

◆ EvmuFat_blockAlloc()

EvmuBlock EvmuFat_blockAlloc ( const EvmuFat pSelf,
EvmuBlock  prev,
EVMU_FILE_TYPE  type 
)
related

Allocates a block in the file allocation table based on the given type, linking it to the previous block.

◆ EvmuFat_blockCount()

size_t EvmuFat_blockCount ( const EvmuFat pSelf)
related

Returns the total number of blocks in the filesystem.

◆ EvmuFat_blockData()

const void * EvmuFat_blockData ( const EvmuFat pSelf,
EvmuBlock  block 
)
related

Returns the actual raw data at the given block location.

◆ EvmuFat_blockDirectory()

EvmuBlock EvmuFat_blockDirectory ( const EvmuFat pSelf)
related

Returns the block location of the FAT directory region.

◆ EvmuFat_blockFree()

EVMU_RESULT EvmuFat_blockFree ( const EvmuFat pSelf,
EvmuBlock  block 
)
related

Frees the given block in the file allocation table.

◆ EvmuFat_blockLink()

EVMU_RESULT EvmuFat_blockLink ( const EvmuFat pSelf,
EvmuBlock  b,
EvmuBlock  lnk 
)
related

Sets the given block to point to the linked block as its next entry in the file allocation table.

◆ EvmuFat_blockNext()

EvmuBlock EvmuFat_blockNext ( const EvmuFat pSelf,
EvmuBlock  block 
)
related

Returns the next block pointed to by the given block in the file allocation table.

◆ EvmuFat_blockSize()

size_t EvmuFat_blockSize ( const EvmuFat pSelf)
related

Returns the size in bytes of a single block in the file system.

◆ EvmuFat_blockTable()

EvmuBlock EvmuFat_blockTable ( const EvmuFat pSelf)
related

Returns the block location of the file allocation table (FAT) region.

◆ EvmuFat_capacity()

size_t EvmuFat_capacity ( const EvmuFat pSelf)
related

Returns the total capacity of the filesystem in bytes.

◆ EvmuFat_dirEntry()

EvmuDirEntry * EvmuFat_dirEntry ( const EvmuFat pSelf,
size_t  index 
)
related

Returns the directory entry at the given index (may be unused)

◆ EvmuFat_dirEntryAlloc()

EvmuDirEntry * EvmuFat_dirEntryAlloc ( const EvmuFat pSelf,
EVMU_FILE_TYPE  fileType 
)
related

Allocates an entry within the directory for the given file type.

◆ EvmuFat_dirEntryCount()

size_t EvmuFat_dirEntryCount ( const EvmuFat pSelf)
related

Returns the total number of entries in the file system directory, including unused ones.

◆ EvmuFat_dirEntryIndex()

size_t EvmuFat_dirEntryIndex ( const EvmuFat pSelf,
const EvmuDirEntry pEntry 
)
related

Returns the index into the directory for the given directory entry.

◆ EvmuFat_dirEntryLog()

void EvmuFat_dirEntryLog ( const EvmuFat pSelf,
const EvmuDirEntry pEntry 
)
related

Dumps information about a given directory to the libGimbal log for debugging.

◆ EvmuFat_format()

EVMU_RESULT EvmuFat_format ( const EvmuFat pSelf,
const EvmuRootBlock pRoot 
)
related

Formats the filesystem, erasing all files and resetting everything to defaults.

◆ EvmuFat_info()

EVMU_RESULT EvmuFat_info ( const EvmuFat pSelf,
EvmuFatInfo pInfo 
)
related

Populates the given EvmuFatInfo structure with information on the volume.

◆ EvmuFat_isFormatted()

GblBool EvmuFat_isFormatted ( const EvmuFat pSelf)
related

Checks whether the given filesystem has the correct EvmuRootBlock::formatted field values.

◆ EvmuFat_log()

void EvmuFat_log ( const EvmuFat pSelf)
related

Dumps detailed information about the entire filesystem to the libGimbal log for debugging.

◆ EvmuFat_root()

EvmuRootBlock * EvmuFat_root ( const EvmuFat pSelf)
related

Returns a pointer to the root block of the filesystem.

◆ EvmuFat_seqFreeBlocks()

size_t EvmuFat_seqFreeBlocks ( const EvmuFat pSelf)
related

Returns the total number of sequential free blocks, starting at block 0 (used for GAME file allocation)

◆ EvmuFat_toBlocks()

size_t EvmuFat_toBlocks ( const EvmuFat pSelf,
size_t  bytes 
)
related

Converts the given number of bytes to the number of blocks required to hold them.

◆ EvmuFat_usage()

void EvmuFat_usage ( const EvmuFat pSelf,
EvmuFatUsage pUsage 
)
related

Queries the fat table for filesystem block usage information, populating the given EvmuFatUsage object.

◆ EvmuFat_userBlocks()

size_t EvmuFat_userBlocks ( const EvmuFat pSelf)
related

Returns the total number of blocks available to the user for storing files.

Field Documentation

◆ base

EvmuFlash EvmuFat::base

Inherited base instance structure.

Definition at line 204 of file evmu_fat.h.

◆ pClass

EvmuFatClass* EvmuFat::pClass

Pointer to class/vtable structure.

Definition at line 204 of file evmu_fat.h.


The documentation for this struct was generated from the following file: