IFileSystem.h
Go to the documentation of this file.
129 uint32_t volumeID{0};
131 uint32_t volumeSize{0};
132 uint32_t freeSpace{0};
virtual int fcontrol(FileHandle file, ControlCode code, void *buffer, size_t bufSize)
Low-level and non-standard file control operations.
Definition: IFileSystem.h:271
#define FILE_SYSTEM_ATTR_MAP(XX)
Attribute flags for filing system.
Definition: IFileSystem.h:51
virtual int write(FileHandle file, const void *data, size_t size)=0
write content to a file at current position and advance cursor
virtual int check()
Perform a file system consistency check.
Definition: IFileSystem.h:427
#define FILESYSTEM_TYPE_MAP(XX)
Four-character tag to identify type of filing system.
Definition: IFileSystem.h:41
virtual int setacl(FileHandle file, const ACL &acl)=0
Set access control information for file.
virtual int mount()=0
Mount file system, performing any required initialisation.
virtual int setattr(const char *path, FileAttributes attr)=0
Set file attributes.
virtual int eof(FileHandle file)=0
determine if current file position is at end of file
virtual int setcompression(FileHandle file, const Compression &compression)=0
Set file compression information.
virtual FileHandle open(const char *path, OpenFlags flags)=0
open a file by name/path
virtual int opendir(const char *path, DirHandle &dir)=0
open a directory for reading
int copy(const char *src, uint16_t srclen)
copies text from a source buffer into a name buffer
Definition: NameBuffer.h:90
size_t maxPathLength
Maximum length of a full file path.
Definition: IFileSystem.h:127
uint32_t volumeSize
Size of volume, in bytes.
Definition: IFileSystem.h:131
virtual ~IFileSystem()
Filing system implementations should dismount and cleanup here.
Definition: IFileSystem.h:163
Definition: DirectoryTemplate.h:36
virtual int read(FileHandle file, void *data, size_t size)=0
read content from a file and advance cursor
virtual int settime(FileHandle file, time_t mtime)=0
Set modificatino tiem for file.
virtual int ftruncate(FileHandle file, size_t new_size)=0
Truncate (reduce) the size of an open file.
virtual int flush(FileHandle file)=0
flush any buffered data to physical media
Type type
The filing system type identifier.
Definition: IFileSystem.h:124
uint32_t volumeID
Unique identifier for volume.
Definition: IFileSystem.h:129
size_t maxNameLength
Maximum length of a single file name.
Definition: IFileSystem.h:126
virtual FileHandle fopen(const Stat &stat, OpenFlags flags)=0
open a file from it's stat structure
uint32_t freeSpace
Available space, in bytes.
Definition: IFileSystem.h:132
Definition: Access.h:34
virtual int rewinddir(DirHandle dir)=0
Reset directory read position to start.
virtual int lseek(FileHandle file, int offset, SeekOrigin origin)=0
change file read/write position
XX(_name, _tag, _desc)
virtual int fopendir(const Stat *stat, DirHandle &dir)
open a directory for reading
Definition: IFileSystem.h:203
virtual String getErrorString(int err)
get the text for a returned error code
Definition: IFileSystem.h:184
1.8.13