SdFat
Public Member Functions | Friends | List of all members
FatPartition Class Reference

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

#include <FatPartition.h>

Inheritance diagram for FatPartition:
Inheritance graph
[legend]

Public Member Functions

uint16_t bytesPerCluster ()
 
uint8_t bytesPerClusterShift ()
 
uint16_t bytesPerSector ()
 
uint8_t bytesPerSectorShift ()
 
cache_tcacheClear ()
 
uint32_t clusterCount () const
 
uint32_t dataStartSector () const
 
int8_t dbgFat (uint32_t n, uint32_t *v)
 
uint8_t fatCount ()
 
 FatPartition ()
 
uint32_t fatStartSector () const
 
uint8_t fatType () const
 
int32_t freeClusterCount ()
 
bool init (BlockDevice *dev, uint8_t part=1)
 
uint16_t rootDirEntryCount () const
 
uint32_t rootDirStart () const
 
uint16_t sectorMask ()
 
uint8_t sectorsPerCluster () const
 
uint8_t sectorsPerClusterShift () const
 
uint32_t sectorsPerFat () const
 
uint32_t volumeSectorCount () const
 

Friends

class FatCache
 
class FatFile
 

Detailed Description

Access FAT16 and FAT32 partitions on raw file devices.

Constructor & Destructor Documentation

◆ FatPartition()

FatPartition::FatPartition ( )
inline

Create an instance of FatPartition

Member Function Documentation

◆ bytesPerCluster()

uint16_t FatPartition::bytesPerCluster ( )
inline
Returns
Number of bytes in a cluster.

◆ bytesPerClusterShift()

uint8_t FatPartition::bytesPerClusterShift ( )
inline
Returns
The shift count required to multiply by bytesPerCluster.

◆ bytesPerSector()

uint16_t FatPartition::bytesPerSector ( )
inline
Returns
Number of bytes per sector.

◆ bytesPerSectorShift()

uint8_t FatPartition::bytesPerSectorShift ( )
inline
Returns
The shift count required to multiply by bytesPerCluster.

◆ cacheClear()

cache_t* FatPartition::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.

◆ clusterCount()

uint32_t FatPartition::clusterCount ( ) const
inline
Returns
The total number of clusters in the volume.

◆ dataStartSector()

uint32_t FatPartition::dataStartSector ( ) const
inline
Returns
The logical sector number for the start of file data.

◆ dbgFat()

int8_t FatPartition::dbgFat ( uint32_t  n,
uint32_t *  v 
)
inline

Debug access to FAT table

Parameters
[in]ncluster number.
[out]vvalue of entry
Returns
-1 error, 0 EOC, else 1.

◆ fatCount()

uint8_t FatPartition::fatCount ( )
inline
Returns
The number of File Allocation Tables.

◆ fatStartSector()

uint32_t FatPartition::fatStartSector ( ) const
inline
Returns
The logical sector number for the start of the first FAT.

◆ fatType()

uint8_t FatPartition::fatType ( ) const
inline
Returns
The FAT type of the volume. Values are 12, 16 or 32.

◆ freeClusterCount()

int32_t FatPartition::freeClusterCount ( )

Volume free space in clusters.

Returns
Count of free clusters for success or -1 if an error occurs.

◆ init()

bool FatPartition::init ( BlockDevice dev,
uint8_t  part = 1 
)

Initialize a FAT partition.

Parameters
[in]devBlockDevice for this partition.
[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 sector zero.
Returns
true for success or false for failure.

◆ rootDirEntryCount()

uint16_t FatPartition::rootDirEntryCount ( ) const
inline
Returns
The number of entries in the root directory for FAT16 volumes.

◆ rootDirStart()

uint32_t FatPartition::rootDirStart ( ) const
inline
Returns
The logical sector number for the start of the root directory on FAT16 volumes or the first cluster number on FAT32 volumes.

◆ sectorMask()

uint16_t FatPartition::sectorMask ( )
inline
Returns
Mask for sector offset.

◆ sectorsPerCluster()

uint8_t FatPartition::sectorsPerCluster ( ) const
inline
Returns
The volume's cluster size in sectors.

◆ sectorsPerClusterShift()

uint8_t FatPartition::sectorsPerClusterShift ( ) const
inline
Returns
The shift count required to multiply by sectorsPerCluster.

◆ sectorsPerFat()

uint32_t FatPartition::sectorsPerFat ( ) const
inline
Returns
The number of sectors in one FAT.

◆ volumeSectorCount()

uint32_t FatPartition::volumeSectorCount ( ) const
inline
Returns
The number of sectors in the volume

Friends And Related Function Documentation

◆ FatCache

friend class FatCache
friend

FatCache allowed access to private members.

◆ FatFile

friend class FatFile
friend

FatFile allowed access to private members.


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