diff options
| author | Patrick Steinhardt <ps@pks.im> | 2025-04-07 15:16:25 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-04-07 14:53:12 -0700 |
| commit | c8cbe85a233c7f38cb644c2e6a676871c90c9dcd (patch) | |
| tree | 6a7ce1a6f390be1b0e81b04fa9bbad14386c91b6 /reftable/reftable-table.h | |
| parent | 50d845947734f45970439518047ab1f79628bb7e (diff) | |
| download | git-c8cbe85a233c7f38cb644c2e6a676871c90c9dcd.tar.xz | |
reftable/table: add `reftable_table` to the public interface
The `reftable_table` interface is an internal implementation detail that
callers have no access to. Having direct access to this structure is
important though for a subsequent patch series that will implement
consistency checks for the reftable backend.
Move the structure into "reftable-table.h" so that it part of the public
interface.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'reftable/reftable-table.h')
| -rw-r--r-- | reftable/reftable-table.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/reftable/reftable-table.h b/reftable/reftable-table.h index 9437902672..a78db9eea7 100644 --- a/reftable/reftable-table.h +++ b/reftable/reftable-table.h @@ -20,8 +20,38 @@ * reftable_merged_table and struct reftable_stack. */ +/* Metadata for a block type. */ +struct reftable_table_offsets { + int is_present; + uint64_t offset; + uint64_t index_offset; +}; + /* The table struct is a handle to an open reftable file. */ -struct reftable_table; +struct reftable_table { + /* for convenience, associate a name with the instance. */ + char *name; + struct reftable_block_source source; + + /* Size of the file, excluding the footer. */ + uint64_t size; + + /* The hash function used for ref records. */ + enum reftable_hash hash_id; + + uint32_t block_size; + uint64_t min_update_index; + uint64_t max_update_index; + /* Length of the OID keys in the 'o' section */ + int object_id_len; + int version; + + struct reftable_table_offsets ref_offsets; + struct reftable_table_offsets obj_offsets; + struct reftable_table_offsets log_offsets; + + uint64_t refcount; +}; /* reftable_table_new opens a reftable for reading. If successful, * returns 0 code and sets pp. The name is used for creating a |
