]> git.sesse.net Git - plocate/blobdiff - db.h
Release plocate 1.1.22.
[plocate] / db.h
diff --git a/db.h b/db.h
index d4baf530096f0f640628b86b03623f6d168dfa24..28bf84d9df60a6a003618931854e9b6fc36c3b5d 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;  // 2 is the current version.
        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;