Components/IFS/src/include/IFS/FWFS/FileSystem.h
Go to the documentation of this file.
84 };
97 {
118 int fenumxattr(FileHandle file, AttributeEnumCallback callback, void* buffer, size_t bufsize) override;
130 int fgetextents(FileHandle file, Storage::Partition* part, Extent* list, uint16_t extcount) override;
198 int findChildObject(const FWObjDesc& parent, FWObjDesc& child, const char* name, unsigned namelen);
Object obj
The object structure.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:590
int ftruncate(FileHandle file, file_size_t new_size) override
Truncate (reduce) the size of an open file.
int fsetxattr(FileHandle file, AttributeTag tag, const void *data, size_t size) override
Set an extended attribute on an open file.
std::unique_ptr< IFileSystem > fileSystem
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:130
int setxattr(const char *path, AttributeTag tag, const void *data, size_t size) override
Set an extended attribute for a file given its path.
void reset()
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:120
FileSystem(Storage::Partition partition)
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:139
@ mounted
Storage::Partition partition
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:288
int flush(FileHandle file) override
flush any buffered data to physical media
int fgetextents(FileHandle file, Storage::Partition *part, Extent *list, uint16_t extcount) override
Get extents for a file.
uint32_t dataSize
Total size of data.
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:97
bool isMountPoint() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:369
bool isMountPoint() const
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:115
uint32_t ID
Object identifier (offset from start of image)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:290
Definition: DirectoryTemplate.h:36
BitSet< uint8_t, Flag > flags
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:294
int rename(const char *oldpath, const char *newpath) override
rename a file
ControlCode
See IFS::IFileSystem::fcontrol
Definition: Components/IFS/src/include/IFS/Control.h:48
int fenumxattr(FileHandle file, AttributeEnumCallback callback, void *buffer, size_t bufsize) override
Enumerate attributes.
FWVolume volumes[FWFS_MAX_VOLUMES]
Volumes mapped to mountpoints by index.
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:289
String getErrorString(int err) override
get the text for a returned error code
#define FWFS_MAX_VOLUMES
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:84
int rewinddir(DirHandle dir) override
Reset directory read position to start.
DirHandle dir
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:105
uint8_t typeData
Stored type plus flag.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:285
int write(FileHandle file, const void *data, size_t size) override
write content to a file at current position and advance cursor
FWObjDesc odRoot
Reference to root directory object.
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:291
int mount() override
Mount file system, performing any required initialisation.
FileHandle open(const char *path, OpenFlags flags) override
open a file (or directory) by path
FWFileDesc fileDescriptors[FWFS_MAX_FDS]
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:290
int read(FileHandle file, void *data, size_t size) override
read content from a file and advance cursor
ACL rootACL
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:293
FWObjDesc odFile
File object.
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:94
uint32_t cursor
Current read/write offset within file data.
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:98
Object::ID volume
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:292
FileHandle file
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:104
int eof(FileHandle file) override
determine if current file position is at end of file
int fgetxattr(FileHandle file, AttributeTag tag, void *buffer, size_t size) override
Get an extended attribute from an open file.
int opendir(const char *path, DirHandle &dir) override
open a directory for reading
file_offset_t lseek(FileHandle file, file_offset_t offset, SeekOrigin origin) override
change file read/write position
int fcontrol(FileHandle file, ControlCode code, void *buffer, size_t bufSize) override
Low-level and non-standard file control operations.
int format() override
format the filing system
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:174
int check() override
Perform a file system consistency check.
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:178
int setVolume(uint8_t index, IFileSystem *fileSystem) override
Set volume for mountpoint.
bool isAllocated() const
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:110
FWFS File Descriptor.
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:93
Definition: Delegate.h:20
int getxattr(const char *path, AttributeTag tag, void *buffer, size_t size) override
Get an attribute from a file given its path.
IFileSystem * fileSystem
Definition: Components/IFS/src/include/IFS/FWFS/FileSystem.h:102