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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*
* Local additions to the RocksDB C API.
*
* RocksDB's upstream C wrapper (`include/rocksdb/c.h`, `db/c.cc`) is
* maintained reactively: new C++ options land in the C++ headers first, and
* a matching C wrapper is added only when someone requests it. This crate
* exposes the C++ feature surface through that C API, so any feature without
* a C wrapper is unreachable from Rust.
*
* This header declares C wrappers for C++ options that don't have one yet
* upstream. The matching definitions live in `c_api_extensions.cc`. Both
* are compiled and linked alongside the vendored RocksDB sources (or
* alongside a system-installed librocksdb, on the System backend); the
* submodule is NEVER modified. Bindgen reads this header as its primary
* input, so the new symbols flow into `rust-librocksdb-sys`'s generated
* bindings.rs without any special-casing.
*
* Each declaration here mirrors an upstream PR against
* facebook/rocksdb (see this file's comments and the project CHANGELOG).
* When upstream lands the matching PR and we bump the submodule to a
* release containing it, the local entry here can be deleted and the
* binding falls through to the upstream symbol automatically.
*/
/* Pull in every C-API type the extension functions reference. By including
* c.h here (instead of forward-declaring), this header is a clean superset
* of c.h: bindgen scanning this file generates declarations for everything
* in the upstream C API plus our local additions, with no risk of missed
* types. */
extern "C" __cplusplus
}
/* RUST_LIBROCKSDB_SYS_C_API_EXTENSIONS_H_ */