]> git.sesse.net Git - plocate/blobdiff - db.h
Release plocate 1.1.7.
[plocate] / db.h
diff --git a/db.h b/db.h
index d4baf530096f0f640628b86b03623f6d168dfa24..1670d6bc304c1e327f3bf2463dfbb5ae953cf0ac 100644 (file)
--- a/db.h
+++ b/db.h
@@ -4,13 +4,30 @@
 #include <stdint.h>
 
 struct Header {
-       char magic[8]; // "\0plocate";
-       uint32_t version;  // 0.
+       char magic[8];  // "\0plocate";
+       uint32_t version;  // 1.
        uint32_t hashtable_size;
        uint32_t extra_ht_slots;
+       uint32_t num_docids;
        uint64_t hash_table_offset_bytes;
        uint64_t filename_index_offset_bytes;
-}; 
+
+       // Version 1 and up only.
+       uint32_t max_version;  // Nominally 1 or 2, but can be increased if more features are added in a backward-compatible way.
+       uint32_t zstd_dictionary_length_bytes;
+       uint64_t zstd_dictionary_offset_bytes;
+
+       // Only if max_version >= 2, and only relevant for updatedb.
+       uint64_t directory_data_length_bytes;
+       uint64_t directory_data_offset_bytes;
+       uint64_t next_zstd_dictionary_length_bytes;
+       uint64_t next_zstd_dictionary_offset_bytes;
+       uint64_t conf_block_length_bytes;
+       uint64_t conf_block_offset_bytes;
+
+       // Only if max_version >= 2.
+       bool check_visibility;
+};
 
 struct Trigram {
        uint32_t trgm;