1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# cbindgen config for kglite-c — generates `include/kglite.h`
# at build time. CI verifies the committed copy is up to date by
# running cbindgen and diffing against fresh-cbindgen output.
= "C"
= "KGLITE_H_INCLUDED"
= false
= ["stdint.h", "stddef.h", "stdbool.h"]
= """\
/*
* kglite-c — C ABI for the kglite knowledge graph engine.
*
* Generated by cbindgen. Do NOT edit by hand. To regenerate:
* cargo build -p kglite-c
* (the crate's build.rs runs cbindgen automatically).
*
* Conventions: see docs/rust/c-abi.md in the kglite repo.
* https://github.com/kkollsga/kglite/blob/main/docs/rust/c-abi.md
*/"""
[]
# Only parse this crate — don't follow into kglite, serde_json,
# etc. and try to render their types. The crate's #[no_mangle]
# extern "C" surface only mentions our own #[repr(C)] types
# (opaque handles + KgliteStatusCode + KgliteAbiVersion).
= false
[]
# Map Cargo features to C preprocessor defines so the generated
# header wraps feature-gated items in matching `#ifdef` blocks.
# Consumers building against a `libkglite_c` with feature X must
# `#define KGLITE_FEATURE_X` before including `kglite.h`, or the
# corresponding declarations are skipped. This keeps the header
# linkable: a kglite-c built without `sodir` won't export
# `kglite_datasets_sodir_fetch_all`, and the matching `#ifdef`
# hides the declaration so callers can't accidentally reference
# an undefined symbol.
= "KGLITE_FEATURE_SODIR"
= "KGLITE_FEATURE_SEC"
= "KGLITE_FEATURE_WIKIDATA"
= "KGLITE_FEATURE_FASTEMBED"
[]
# Don't add any prefix; the Rust types are already `Kglite*`.
= ""
= ["enums", "structs", "opaque", "typedefs", "functions"]
[]
# Names are like `KGLITE_OK`, `KGLITE_ERR_CYPHER_SYNTAX`. The
# `Kglite` part comes from the type prefix; cbindgen prepends the
# enum type name in screaming snake to each variant.
= true
= "ScreamingSnakeCase"
[]
= ""
= "None"