]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/libsystemd/sd-hwdb/hwdb-internal.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
6 #include "sparse-endian.h"
8 #define HWDB_SIG { 'K', 'S', 'L', 'P', 'H', 'H', 'R', 'H' }
10 /* on-disk trie objects */
11 struct trie_header_f
{
14 /* version of tool which created the file */
18 /* size of structures to allow them to grow */
21 le64_t child_entry_size
;
22 le64_t value_entry_size
;
24 /* offset of the root trie node */
25 le64_t nodes_root_off
;
27 /* size of the nodes and string section */
33 /* prefix of lookup string, shared by all children */
35 /* size of children entry array appended to the node */
36 uint8_t children_count
;
38 /* size of value entry array appended to the node */
42 /* array of child entries, follows directly the node record */
43 struct trie_child_entry_f
{
44 /* index of the child node */
47 /* offset of the child node */
51 /* array of value entries, follows directly the node record/child array */
52 struct trie_value_entry_f
{
57 /* v2 extends v1 with filename and line-number */
58 struct trie_value_entry2_f
{