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

FsVolume class. More...

#include <FsVolume.h>

Inheritance diagram for FsVolume:
Inheritance graph
[legend]

Public Member Functions

int attrib (const char *path)
 
bool attrib (const char *path, uint8_t bits)
 
bool begin (FsBlockDevice *blockDev, bool setCwv=true, uint8_t part=1, uint32_t volStart=0)
 
uint32_t bytesPerCluster () const
 
bool chdir ()
 
bool chdir (const char *path)
 
bool chdir (const String &path)
 
void chvol ()
 
uint32_t clusterCount () const
 
uint32_t dataStartSector () const
 
uint8_t * end ()
 
bool exists (const char *path)
 
bool exists (const String &path)
 
uint32_t fatStartSector () const
 
uint8_t fatType () const
 
int32_t freeClusterCount () const
 
bool isBusy ()
 
bool ls ()
 
bool ls (const char *path, uint8_t flags=0)
 
bool ls (print_t *pr)
 
bool ls (print_t *pr, const char *path, uint8_t flags)
 
bool ls (print_t *pr, uint8_t flags)
 
bool ls (uint8_t flags)
 
bool mkdir (const char *path, bool pFlag=true)
 
bool mkdir (const String &path, bool pFlag=true)
 
FsFile open (const char *path, oflag_t oflag=0X00)
 
FsFile open (const String &path, oflag_t oflag=0X00)
 
bool remove (const char *path)
 
bool remove (const String &path)
 
bool rename (const char *oldPath, const char *newPath)
 
bool rename (const String &oldPath, const String &newPath)
 
bool rmdir (const char *path)
 
bool rmdir (const String &path)
 
uint32_t sectorsPerCluster () const
 

Friends

class FsBaseFile
 

Detailed Description

FsVolume class.

Member Function Documentation

◆ attrib() [1/2]

int FsVolume::attrib ( const char *  path)
inline

Get file's user settable attributes.

Parameters
[in]pathpath to file.
Returns
user settable file attributes for success else -1.

◆ attrib() [2/2]

bool FsVolume::attrib ( const char *  path,
uint8_t  bits 
)
inline

Set file's user settable attributes.

Parameters
[in]pathpath to file.
[in]bitsbit-wise or of selected attributes: FS_ATTRIB_READ_ONLY, FS_ATTRIB_HIDDEN, FS_ATTRIB_SYSTEM, FS_ATTRIB_ARCHIVE.
Returns
true for success or false for failure.

◆ begin()

bool FsVolume::begin ( FsBlockDevice blockDev,
bool  setCwv = true,
uint8_t  part = 1,
uint32_t  volStart = 0 
)

Initialize an FatVolume object.

Parameters
[in]blockDevDevice block driver.
[in]setCwvSet current working volume if true.
[in]partpartition to initialize.
[in]volStartStart sector of volume if part is zero.
Returns
true for success or false for failure.

◆ bytesPerCluster()

uint32_t FsVolume::bytesPerCluster ( ) const
inline
Returns
the number of bytes in a cluster.

◆ chdir() [1/3]

bool FsVolume::chdir ( )
inline

Set volume working directory to root.

Returns
true for success or false for failure.

◆ chdir() [2/3]

bool FsVolume::chdir ( const char *  path)
inline

Set volume working directory.

Parameters
[in]pathPath for volume working directory.
Returns
true for success or false for failure.

◆ chdir() [3/3]

bool FsVolume::chdir ( const String &  path)
inline

Set volume working directory.

Parameters
[in]pathPath for volume working directory.
Returns
true for success or false for failure.

◆ chvol()

void FsVolume::chvol ( )
inline

Change global working volume to this volume.

◆ clusterCount()

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

◆ dataStartSector()

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

◆ end()

uint8_t * FsVolume::end ( )
inline

End access to volume

Returns
pointer to sector size buffer for format.

◆ exists() [1/2]

bool FsVolume::exists ( const char *  path)
inline

Test for the existence of a file in a directory

Parameters
[in]pathPath of the file to be tested for.
Returns
true if the file exists else false.

◆ exists() [2/2]

bool FsVolume::exists ( const String &  path)
inline

Test for the existence of a file in a directory

Parameters
[in]pathPath of the file to be tested for.
Returns
true if the file exists else false.

◆ fatStartSector()

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

◆ fatType()

uint8_t FsVolume::fatType ( ) const
inline
Returns
Partition type, FAT_TYPE_EXFAT, FAT_TYPE_FAT32, FAT_TYPE_FAT16, or zero for error.

◆ freeClusterCount()

int32_t FsVolume::freeClusterCount ( ) const
inline
Returns
free cluster count or -1 if an error occurs.

◆ isBusy()

bool FsVolume::isBusy ( )
inline

Check for device busy.

Returns
true if busy else false.

◆ ls() [1/6]

bool FsVolume::ls ( )
inline

List directory contents.

Returns
true for success or false for failure.

◆ ls() [2/6]

bool FsVolume::ls ( const char *  path,
uint8_t  flags = 0 
)
inline

List the directory contents of a directory to Serial.

Parameters
[in]pathdirectory to list.
[in]flagsThe inclusive OR of

LS_DATE - Print file modification date

LS_SIZE - Print file size.

LS_R - Recursive list of subdirectories.

Returns
true for success or false for failure.
true for success or false for failure.

◆ ls() [3/6]

bool FsVolume::ls ( print_t pr)
inline

List directory contents.

Parameters
[in]prPrint object.
Returns
true for success or false for failure.

◆ ls() [4/6]

bool FsVolume::ls ( print_t pr,
const char *  path,
uint8_t  flags 
)

List the directory contents of a directory.

Parameters
[in]prPrint stream for list.
[in]pathdirectory to list.
[in]flagsThe inclusive OR of

LS_DATE - Print file modification date

LS_SIZE - Print file size.

LS_R - Recursive list of subdirectories.

Returns
true for success or false for failure.

◆ ls() [5/6]

bool FsVolume::ls ( print_t pr,
uint8_t  flags 
)
inline

List directory contents.

Parameters
[in]prPrint object.
[in]flagsThe inclusive OR of

LS_DATE - Print file modification date

LS_SIZE - Print file size.

LS_R - Recursive list of subdirectories.

Returns
true for success or false for failure.

◆ ls() [6/6]

bool FsVolume::ls ( uint8_t  flags)
inline

List directory contents.

Parameters
[in]flagsThe inclusive OR of

LS_DATE - Print file modification date

LS_SIZE - Print file size.

LS_R - Recursive list of subdirectories.

Returns
true for success or false for failure.

◆ mkdir() [1/2]

bool FsVolume::mkdir ( const char *  path,
bool  pFlag = true 
)
inline

Make a subdirectory in the volume root directory.

Parameters
[in]pathA path with a valid 8.3 DOS name for the subdirectory.
[in]pFlagCreate missing parent directories if true.
Returns
true for success or false for failure.

◆ mkdir() [2/2]

bool FsVolume::mkdir ( const String &  path,
bool  pFlag = true 
)
inline

Make a subdirectory in the volume root directory.

Parameters
[in]pathA path with a valid 8.3 DOS name for the subdirectory.
[in]pFlagCreate missing parent directories if true.
Returns
true for success or false for failure.

◆ open() [1/2]

FsFile FsVolume::open ( const char *  path,
oflag_t  oflag = 0X00 
)

open a file

Parameters
[in]pathlocation of file to be opened.
[in]oflagopen flags.
Returns
a FsBaseFile object.

◆ open() [2/2]

FsFile FsVolume::open ( const String &  path,
oflag_t  oflag = 0X00 
)

open a file

Parameters
[in]pathlocation of file to be opened.
[in]oflagopen flags.
Returns
a FsBaseFile object.

◆ remove() [1/2]

bool FsVolume::remove ( const char *  path)
inline

Remove a file from the volume root directory.

Parameters
[in]pathA path with a valid 8.3 DOS name for the file.
Returns
true for success or false for failure.

◆ remove() [2/2]

bool FsVolume::remove ( const String &  path)
inline

Remove a file from the volume root directory.

Parameters
[in]pathA path with a valid 8.3 DOS name for the file.
Returns
true for success or false for failure.

◆ rename() [1/2]

bool FsVolume::rename ( const char *  oldPath,
const char *  newPath 
)
inline

Rename a file or subdirectory.

Parameters
[in]oldPathPath name to the file or subdirectory to be renamed.
[in]newPathNew path name of the file or subdirectory.

The newPath object must not exist before the rename call.

The file to be renamed must not be open. The directory entry may be moved and file system corruption could occur if the file is accessed by a file object that was opened before the rename() call.

Returns
true for success or false for failure.

◆ rename() [2/2]

bool FsVolume::rename ( const String &  oldPath,
const String &  newPath 
)
inline

Rename a file or subdirectory.

Parameters
[in]oldPathPath name to the file or subdirectory to be renamed.
[in]newPathNew path name of the file or subdirectory.

The newPath object must not exist before the rename call.

The file to be renamed must not be open. The directory entry may be moved and file system corruption could occur if the file is accessed by a file object that was opened before the rename() call.

Returns
true for success or false for failure.

◆ rmdir() [1/2]

bool FsVolume::rmdir ( const char *  path)
inline

Remove a subdirectory from the volume's root directory.

Parameters
[in]pathA path with a valid 8.3 DOS name for the subdirectory.

The subdirectory file will be removed only if it is empty.

Returns
true for success or false for failure.

◆ rmdir() [2/2]

bool FsVolume::rmdir ( const String &  path)
inline

Remove a subdirectory from the volume's root directory.

Parameters
[in]pathA path with a valid 8.3 DOS name for the subdirectory.

The subdirectory file will be removed only if it is empty.

Returns
true for success or false for failure.

◆ sectorsPerCluster()

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

Friends And Related Function Documentation

◆ FsBaseFile

friend class FsBaseFile
friend

FsBaseFile allowed access to private members.


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