Skip to main content

libnv_sys/
fakes.rs

1//! Fake definitions good enough to cross-build docs
2//!
3//! docs.rs does all of its builds on Linux, so the usual build script fails.
4//! As a workaround, we skip the usual build script when doing cross-builds, and
5//! define these stubs instead.
6
7// This symbol is sufficient to build libnv's docs
8pub type nvlist_t = *const i32;
9
10// However, building downstream crates' docs requires these additional symbols
11pub type FreeBSD_nvlist_t = nvlist_t;
12extern "C" {
13    pub fn nvlist_clone(_: *const FreeBSD_nvlist_t) -> *mut FreeBSD_nvlist_t;
14    pub fn nvlist_create(_: ::std::os::raw::c_int) -> *mut FreeBSD_nvlist_t;
15    pub fn nvlist_destroy(_: *mut FreeBSD_nvlist_t);
16    pub fn nvlist_free(_: *mut FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char);
17    pub fn nvlist_free_type(
18        _: *mut FreeBSD_nvlist_t,
19        _: *const ::std::os::raw::c_char,
20        _: ::std::os::raw::c_int,
21    );
22    pub fn nvlist_size(_: *const FreeBSD_nvlist_t) -> usize;
23    pub fn nvlist_pack(_: *const FreeBSD_nvlist_t, _: *mut usize) -> *mut ::std::os::raw::c_void;
24    pub fn nvlist_unpack(
25        _: *const ::std::os::raw::c_void,
26        _: usize,
27        _: ::std::os::raw::c_int,
28    ) -> *mut FreeBSD_nvlist_t;
29    pub fn nvlist_dump(_: *const FreeBSD_nvlist_t, _: ::std::os::raw::c_int);
30    pub fn nvlist_get_array_next(_: *const FreeBSD_nvlist_t) -> *const FreeBSD_nvlist_t;
31    pub fn nvlist_exists_nvlist_array(
32        _: *const FreeBSD_nvlist_t,
33        _: *const ::std::os::raw::c_char,
34    ) -> bool;
35    pub fn nvlist_get_string_array(
36        _: *const FreeBSD_nvlist_t,
37        _: *const ::std::os::raw::c_char,
38        _: *mut usize,
39    ) -> *const *const ::std::os::raw::c_char;
40    pub fn nvlist_exists_string_array(
41        _: *const FreeBSD_nvlist_t,
42        _: *const ::std::os::raw::c_char,
43    ) -> bool;
44    pub fn nvlist_get_number_array(
45        _: *const FreeBSD_nvlist_t,
46        _: *const ::std::os::raw::c_char,
47        _: *mut usize,
48    ) -> *const u64;
49    pub fn nvlist_exists_number_array(
50        _: *const FreeBSD_nvlist_t,
51        _: *const ::std::os::raw::c_char,
52    ) -> bool;
53    pub fn nvlist_get_bool_array(
54        _: *const FreeBSD_nvlist_t,
55        _: *const ::std::os::raw::c_char,
56        _: *mut usize,
57    ) -> *const bool;
58    pub fn nvlist_exists_bool_array(
59        _: *const FreeBSD_nvlist_t,
60        _: *const ::std::os::raw::c_char,
61    ) -> bool;
62
63    pub fn nvlist_get_nvlist_array(
64        _: *const FreeBSD_nvlist_t,
65        _: *const ::std::os::raw::c_char,
66        _: *mut usize,
67    ) -> *const *const FreeBSD_nvlist_t;
68    pub fn nvlist_get_nvlist(
69        _: *const FreeBSD_nvlist_t,
70        _: *const ::std::os::raw::c_char,
71    ) -> *const FreeBSD_nvlist_t;
72    pub fn nvlist_exists_nvlist(
73        _: *const FreeBSD_nvlist_t,
74        _: *const ::std::os::raw::c_char,
75    ) -> bool;
76    pub fn nvlist_get_string(
77        _: *const FreeBSD_nvlist_t,
78        _: *const ::std::os::raw::c_char,
79    ) -> *const ::std::os::raw::c_char;
80    pub fn nvlist_exists_string(
81        _: *const FreeBSD_nvlist_t,
82        _: *const ::std::os::raw::c_char,
83    ) -> bool;
84    pub fn nvlist_exists_number(
85        _: *const FreeBSD_nvlist_t,
86        _: *const ::std::os::raw::c_char,
87    ) -> bool;
88
89    pub fn nvlist_get_number(_: *const FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char) -> u64;
90    pub fn nvlist_get_bool(_: *const FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char) -> bool;
91    pub fn nvlist_exists_bool(_: *const FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char)
92        -> bool;
93    pub fn nvlist_get_binary(
94        _: *const FreeBSD_nvlist_t,
95        _: *const ::std::os::raw::c_char,
96        _: *mut usize,
97    ) -> *const ::std::os::raw::c_void;
98    pub fn nvlist_exists_type(
99        _: *const FreeBSD_nvlist_t,
100        _: *const ::std::os::raw::c_char,
101        _: ::std::os::raw::c_int,
102    ) -> bool;
103    pub fn nvlist_exists(_: *const FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char) -> bool;
104    pub fn nvlist_add_nvlist_array(
105        _: *mut FreeBSD_nvlist_t,
106        _: *const ::std::os::raw::c_char,
107        _: *const *const FreeBSD_nvlist_t,
108        _: usize,
109    );
110    pub fn nvlist_add_string_array(
111        _: *mut FreeBSD_nvlist_t,
112        _: *const ::std::os::raw::c_char,
113        _: *const *const ::std::os::raw::c_char,
114        _: usize,
115    );
116    pub fn nvlist_add_bool_array(
117        _: *mut FreeBSD_nvlist_t,
118        _: *const ::std::os::raw::c_char,
119        _: *const bool,
120        _: usize,
121    );
122    pub fn nvlist_add_binary(
123        _: *mut FreeBSD_nvlist_t,
124        _: *const ::std::os::raw::c_char,
125        _: *const ::std::os::raw::c_void,
126        _: usize,
127    );
128    pub fn nvlist_add_string(
129        _: *mut FreeBSD_nvlist_t,
130        _: *const ::std::os::raw::c_char,
131        _: *const ::std::os::raw::c_char,
132    );
133    pub fn nvlist_add_bool(_: *mut FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char, _: bool);
134    pub fn nvlist_add_null(_: *mut FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char);
135    pub fn nvlist_add_number(_: *mut FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char, _: u64);
136
137    pub fn nvlist_add_number_array(
138        _: *mut FreeBSD_nvlist_t,
139        _: *const ::std::os::raw::c_char,
140        _: *const u64,
141        _: usize,
142    );
143    pub fn nvlist_add_nvlist(
144        _: *mut FreeBSD_nvlist_t,
145        _: *const ::std::os::raw::c_char,
146        _: *const FreeBSD_nvlist_t,
147    );
148    pub fn nvlist_set_error(_: *mut FreeBSD_nvlist_t, _: ::std::os::raw::c_int);
149    pub fn nvlist_error(_: *const FreeBSD_nvlist_t) -> ::std::os::raw::c_int;
150    pub fn nvlist_flags(_: *const FreeBSD_nvlist_t) -> ::std::os::raw::c_int;
151    pub fn nvlist_empty(_: *const FreeBSD_nvlist_t) -> bool;
152}