Components/IFS/src/include/IFS/FWFS/Object.h
Go to the documentation of this file.
43 * A file object may contain multiple data objects. These are treated as a contiguous block for file operations.
44 * This would potentially allow a file system builder to place common file blocks into shared data objects.
46 * Object names are from 0 to 255 characters, inclusive. The root directory has a zero-length name.
51 * non-directory named objects. For exaample, file object may contain named objects accessible thus:
62 * all the features of FWFS in a rewritable system, with all the benefits of SPIFFS wear-levelling.
107 // Everything in this header must be portable (at least, with other little-endian systems) so byte-align and pack it
#define FWFS_OBJTYPE_MAP(XX)
Object type identifiers.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:117
Definition: Components/IFS/src/include/IFS/FWFS/ArchiveStream.h:28
Object::Attributes getObjectAttributes(FileAttributes fileAttr)
constexpr uint32_t FWFILESYS_END_MARKER
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:105
FileAttributes getFileAttributes(Object::Attributes objattr)
static T at_offset(const void *current, int offset)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:86
constexpr size_t FWFS_BASE_OFFSET
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:99
constexpr uint32_t FWFILESYS_START_MARKER
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:102
FWFS Object Descriptor.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:446
uint32_t childTableOffset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:475
Object obj
The object structure.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:448
uint32_t contentOffset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:470
uint32_t offset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:454
Object::ID id
location
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:447
uint32_t nextOffset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:459
FWObjDesc(Object::ID objId=0)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:450
struct IFS::FWFS::Object::@26::@28::@31::@34 id32
Compression compression
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:270
bool isData() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:217
bool isNamed() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:212
void setContentSize(size_t size)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:406
struct IFS::FWFS::Object::@26::@28::@31::@36 ace
Attribute
Object attributes.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:163
struct IFS::FWFS::Object::@26::@28::@31::@33 ref
uint16_t _contentSize
Object size (excluding this header)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:297
Type type() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:185
struct IFS::FWFS::Object::@26::@28::@31::@39 end
uint32_t value
32-bit identifier, e.g. volume ID
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:261
struct IFS::FWFS::Object::@26::@28 data8
bool isRef() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:198
bool isDir() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:222
struct IFS::FWFS::Object::@26::@29 data16
uint32_t size() const
total size this object occupies in the image
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:433
uint32_t packedOffset
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:256
struct IFS::FWFS::Object::@26::@28::@31::@38 userAttribute
uint8_t _contentSizeHigh
Allows data up to 16MByte.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:352
struct IFS::FWFS::Object::@26::@30 data24
uint32_t childTableOffset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:417
bool isMountPoint() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:227
uint32_t childTableSize() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:423
uint32_t checksum
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:290
struct IFS::FWFS::Object::@26::@28::@31::@35 objectAttributes
XX(value, tag, text)
uint8_t typeData
Stored type plus flag.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:143
uint32_t contentSize() const
return size of object content, excluding header and size fields
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:395
uint8_t tagValue
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:284
uint8_t namelen
Length of object name.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:328
struct IFS::FWFS::Object::@26::@28::@31::@37 volumeIndex
void setType(Type type, bool isRef=false)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:190
uint32_t ID
Object identifier (offset from start of image)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:148
uint8_t _contentSize
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:235
static constexpr uint8_t FWOBT_REF
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:157
uint32_t getRef() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:203
size_t contentOffset() const
return offset to start of object content
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:380
struct IFS::FWFS::Object::@26::@29::@40::@42 named
1.9.1