/* Object types */
enum {
OBJECT_UNUSED,
- OBJECT_DATA,
+ OBJECT_DATA, /* !!! */
OBJECT_FIELD,
OBJECT_ENTRY,
OBJECT_DATA_HASH_TABLE,
OBJECT_FIELD_HASH_TABLE,
- OBJECT_ENTRY_ARRAY,
+ OBJECT_ENTRY_ARRAY, /* !!! */
OBJECT_TAG,
_OBJECT_TYPE_MAX
};
_packed_ struct TagObject {
ObjectHeader object;
+ uint64_t seqnum;
+ uint64_t epoch;
uint8_t tag[TAG_LENGTH]; /* SHA-256 HMAC */
};
le64_t tail_object_offset;
le64_t n_objects;
le64_t n_entries;
- le64_t tail_seqnum;
- le64_t head_seqnum;
+ le64_t tail_entry_seqnum;
+ le64_t head_entry_seqnum;
le64_t entry_array_offset;
le64_t head_entry_realtime;
le64_t tail_entry_realtime;
/* Added in 187 */
le64_t n_data;
le64_t n_fields;
+ /* Added in 189 */
+ le64_t n_tags;
+ le64_t n_entry_arrays;
};
#define FSPRG_HEADER_SIGNATURE ((char[]) { 'K', 'S', 'H', 'H', 'R', 'H', 'L', 'P' })