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.
109 // 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:119
Object::Attributes getObjectAttributes(FileAttributes fileAttr)
constexpr uint32_t FWFILESYS_END_MARKER
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:107
FileAttributes getFileAttributes(Object::Attributes objattr)
static T at_offset(const void *current, int offset)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:88
constexpr size_t FWFS_BASE_OFFSET
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:101
constexpr uint32_t FWFILESYS_START_MARKER
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:104
Definition: DirectoryTemplate.h:37
FWFS Object Descriptor.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:448
uint32_t childTableOffset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:477
Object obj
The object structure.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:450
uint32_t contentOffset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:472
uint32_t offset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:456
Object::ID id
location
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:449
uint32_t nextOffset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:461
FWObjDesc(Object::ID objId=0)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:452
struct IFS::FWFS::Object::@26::@28::@31::@34 id32
Compression compression
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:272
bool isData() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:219
bool isNamed() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:214
void setContentSize(size_t size)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:408
struct IFS::FWFS::Object::@26::@28::@31::@36 ace
Attribute
Object attributes.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:165
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:299
Type type() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:187
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:263
struct IFS::FWFS::Object::@26::@28 data8
bool isRef() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:200
bool isDir() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:224
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:435
uint32_t packedOffset
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:258
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:354
struct IFS::FWFS::Object::@26::@30 data24
uint32_t childTableOffset() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:419
bool isMountPoint() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:229
uint32_t childTableSize() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:425
uint32_t checksum
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:292
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:145
uint32_t contentSize() const
return size of object content, excluding header and size fields
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:397
uint8_t tagValue
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:286
uint8_t namelen
Length of object name.
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:330
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:192
uint32_t ID
Object identifier (offset from start of image)
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:150
uint8_t _contentSize
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:237
static constexpr uint8_t FWOBT_REF
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:159
uint32_t getRef() const
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:205
size_t contentOffset() const
return offset to start of object content
Definition: Components/IFS/src/include/IFS/FWFS/Object.h:382
struct IFS::FWFS::Object::@26::@29::@40::@42 named