scsl 1.0.1
Shimmering Clarity Standard Library
|
Tag-length-value record tooling. More...
Classes | |
struct | Record |
Tag-length-value record with single byte tags and lengths. More... | |
Functions | |
uint8_t * | WriteToMemory (Arena &arena, uint8_t *cursor, Record &rec) |
void | ReadFromMemory (Record &rec, uint8_t *cursor) |
void | SetRecord (Record &rec, uint8_t tag, uint8_t length, const char *data) |
void | DeleteRecord (Arena &arena, uint8_t *cursor) |
uint8_t * | FindTag (Arena &arena, uint8_t *cursor, Record &rec) |
uint8_t * | LocateTag (Arena &arena, uint8_t *cursor, Record &rec) |
uint8_t * | FindEmpty (Arena &arena, uint8_t *cursor) |
uint8_t * | SkipRecord (Record &rec, uint8_t *cursor) |
Tag-length-value record tooling.
void scsl::TLV::DeleteRecord | ( | Arena & | arena, |
uint8_t * | cursor | ||
) |
DeleteRecord removes the record from the arena. All records ahead of this record are shifted backwards so that there are no gaps.
uint8_t * scsl::TLV::FindEmpty | ( | Arena & | arena, |
uint8_t * | cursor | ||
) |
FindEmpty finds a pointer the next available empty space.
arena | The backing memory for the TLV store. |
cursor | A pointer to memory inside the arena; if it's NULL, the search starts At the beginning of the arena. |
FindTag finds the next occurrence of the record's tag.
The record must have a tag set, which tells FindTag which tag to look for. If found, it fills the record.
arena | The backing memory for the TLV store. |
cursor | A pointer to memory inside the arena; if it's NULL, the search starts At the beginning of the arena. |
rec | The record to be filled. |
LocateTag operates similarly to FindTag, but the cursor points to the beginning of the found record.
arena | The backing memory for the TLV store. |
cursor | A pointer to memory inside the arena; if it's NULL, the search starts At the beginning of the arena. |
rec | The record to be filled. |
void scsl::TLV::ReadFromMemory | ( | Record & | rec, |
uint8_t * | cursor | ||
) |
ReadFromMemory reads a record from the memory pointed to by the cursor.
rec | The TLV record to be filled in. |
cursor | A pointer into an arena's memory store. |
void scsl::TLV::SetRecord | ( | Record & | rec, |
uint8_t | tag, | ||
uint8_t | length, | ||
const char * | data | ||
) |
SetRecord sets a record.
rec | The record to be set. |
tag | The record's tag. |
length | The record's length. |
data | The data to fill the record with. |
uint8_t * scsl::TLV::SkipRecord | ( | Record & | rec, |
uint8_t * | cursor | ||
) |
SkipRecord skips the cursor to the next record.
rec | The record that should be skipped. |
cursor | A pointer to the record in the arena. |