SdFat
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Public Member Functions | Friends | List of all members
FatVolume Class Referenceabstract

Access FAT16 and FAT32 volumes on raw file devices. More...

#include <FatVolume.h>

Inheritance diagram for FatVolume:
Inheritance graph
[legend]

Public Member Functions

uint8_t blocksPerCluster () const
 
uint32_t blocksPerFat () const
 
cache_tcacheClear ()
 
uint32_t clusterCount () const
 
uint8_t clusterSizeShift () const
 
uint32_t dataStartBlock () const
 
bool dbgFat (uint32_t n, uint32_t *v)
 
uint8_t fatCount ()
 
uint32_t fatStartBlock () const
 
uint8_t fatType () const
 
 FatVolume ()
 
int32_t freeClusterCount ()
 
bool init ()
 
bool init (uint8_t part)
 
uint32_t rootDirEntryCount () const
 
uint32_t rootDirStart () const
 

Friends

class FatCache
 
class FatFile
 

Detailed Description

Access FAT16 and FAT32 volumes on raw file devices.

Constructor & Destructor Documentation

FatVolume::FatVolume ( )
inline

Create an instance of FatVolume

Member Function Documentation

uint8_t FatVolume::blocksPerCluster ( ) const
inline
Returns
The volume's cluster size in blocks.
uint32_t FatVolume::blocksPerFat ( ) const
inline
Returns
The number of blocks in one FAT.
cache_t* FatVolume::cacheClear ( )
inline

Clear the cache and returns a pointer to the cache. Not for normal apps.

Returns
A pointer to the cache buffer or zero if an error occurs.
uint32_t FatVolume::clusterCount ( ) const
inline
Returns
The total number of clusters in the volume.
uint8_t FatVolume::clusterSizeShift ( ) const
inline
Returns
The shift count required to multiply by blocksPerCluster.
uint32_t FatVolume::dataStartBlock ( ) const
inline
Returns
The logical block number for the start of file data.
bool FatVolume::dbgFat ( uint32_t  n,
uint32_t *  v 
)
inline

Debug access to FAT table

Parameters
[in]ncluster number.
[out]vvalue of entry
Returns
true for success or false for failure
uint8_t FatVolume::fatCount ( )
inline
Returns
The number of File Allocation Tables.
uint32_t FatVolume::fatStartBlock ( ) const
inline
Returns
The logical block number for the start of the first FAT.
uint8_t FatVolume::fatType ( ) const
inline
Returns
The FAT type of the volume. Values are 12, 16 or 32.
int32_t FatVolume::freeClusterCount ( )

Volume free space in clusters.

Returns
Count of free clusters for success or -1 if an error occurs.
bool FatVolume::init ( )
inline

Initialize a FAT volume. Try partition one first then try super floppy format.

Returns
The value one, true, is returned for success and the value zero, false, is returned for failure. Reasons for failure include not finding a valid partition, not finding a valid FAT file system or an I/O error.
bool FatVolume::init ( uint8_t  part)

Initialize a FAT volume.

Parameters
[in]partThe partition to be used. Legal values for part are 1-4 to use the corresponding partition on a device formatted with a MBR, Master Boot Record, or zero if the device is formatted as a super floppy with the FAT boot sector in block zero.
Returns
The value one, true, is returned for success and the value zero, false, is returned for failure. Reasons for failure include not finding a valid partition, not finding a valid FAT file system in the specified partition or an I/O error.
uint32_t FatVolume::rootDirEntryCount ( ) const
inline
Returns
The number of entries in the root directory for FAT16 volumes.
uint32_t FatVolume::rootDirStart ( ) const
inline
Returns
The logical block number for the start of the root directory on FAT16 volumes or the first cluster number on FAT32 volumes.

The documentation for this class was generated from the following files: