+
+ off_t logsize = lseek(log->fd, 0, SEEK_CUR);
+ struct log_header header;
+ struct log_footer footer;
+
+ header.magic = GUINT32_TO_LE(HEADER_MAGIC);
+ header.offset = GUINT64_TO_LE(logsize);
+ header.keysize = GUINT32_TO_LE(strlen(item->key));
+ header.size = GUINT32_TO_LE(item->data->len);
+ footer.magic = GUINT32_TO_LE(FOOTER_MAGIC);
+
+ uint32_t crc = BLUESKY_CRC32C_SEED;
+
+ writebuf(log->fd, (const char *)&header, sizeof(header));
+ crc = crc32c(crc, (const char *)&header, sizeof(header));
+