scsl 1.0.1
Shimmering Clarity Standard Library
|
TLV.h implements basic tag-length-value records. More...
Go to the source code of this file.
Classes | |
struct | scsl::TLV::Record |
Tag-length-value record with single byte tags and lengths. More... | |
Namespaces | |
namespace | scsl |
scsl is the top-level namespace containing all the code in this library. | |
namespace | scsl::TLV |
Tag-length-value record tooling. | |
Functions | |
uint8_t * | scsl::TLV::WriteToMemory (Arena &arena, uint8_t *cursor, Record &rec) |
void | scsl::TLV::ReadFromMemory (Record &rec, uint8_t *cursor) |
void | scsl::TLV::SetRecord (Record &rec, uint8_t tag, uint8_t length, const char *data) |
void | scsl::TLV::DeleteRecord (Arena &arena, uint8_t *cursor) |
uint8_t * | scsl::TLV::FindTag (Arena &arena, uint8_t *cursor, Record &rec) |
uint8_t * | scsl::TLV::LocateTag (Arena &arena, uint8_t *cursor, Record &rec) |
uint8_t * | scsl::TLV::FindEmpty (Arena &arena, uint8_t *cursor) |
uint8_t * | scsl::TLV::SkipRecord (Record &rec, uint8_t *cursor) |
TLV.h implements basic tag-length-value records.
TLV implements tag-length-value (TLV) records. Each record can have a maximum length of 253 bytes; each TLV record occupies a fixed 255 bytes in memory. TLV records don't allocate memory.
This system uses an Arena as a backing store.