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_dump(_: *const FreeBSD_nvlist_t, _: ::std::os::raw::c_int);
24    pub fn nvlist_get_array_next(_: *const FreeBSD_nvlist_t) -> *const FreeBSD_nvlist_t;
25    pub fn nvlist_exists_nvlist_array(
26        _: *const FreeBSD_nvlist_t,
27        _: *const ::std::os::raw::c_char,
28    ) -> bool;
29    pub fn nvlist_get_string_array(
30        _: *const FreeBSD_nvlist_t,
31        _: *const ::std::os::raw::c_char,
32        _: *mut usize,
33    ) -> *const *const ::std::os::raw::c_char;
34    pub fn nvlist_exists_string_array(
35        _: *const FreeBSD_nvlist_t,
36        _: *const ::std::os::raw::c_char,
37    ) -> bool;
38    pub fn nvlist_get_number_array(
39        _: *const FreeBSD_nvlist_t,
40        _: *const ::std::os::raw::c_char,
41        _: *mut usize,
42    ) -> *const u64;
43    pub fn nvlist_exists_number_array(
44        _: *const FreeBSD_nvlist_t,
45        _: *const ::std::os::raw::c_char,
46    ) -> bool;
47    pub fn nvlist_get_bool_array(
48        _: *const FreeBSD_nvlist_t,
49        _: *const ::std::os::raw::c_char,
50        _: *mut usize,
51    ) -> *const bool;
52    pub fn nvlist_exists_bool_array(
53        _: *const FreeBSD_nvlist_t,
54        _: *const ::std::os::raw::c_char,
55    ) -> bool;
56
57    pub fn nvlist_get_nvlist_array(
58        _: *const FreeBSD_nvlist_t,
59        _: *const ::std::os::raw::c_char,
60        _: *mut usize,
61    ) -> *const *const FreeBSD_nvlist_t;
62    pub fn nvlist_get_nvlist(
63        _: *const FreeBSD_nvlist_t,
64        _: *const ::std::os::raw::c_char,
65    ) -> *const FreeBSD_nvlist_t;
66    pub fn nvlist_exists_nvlist(
67        _: *const FreeBSD_nvlist_t,
68        _: *const ::std::os::raw::c_char,
69    ) -> bool;
70    pub fn nvlist_get_string(
71        _: *const FreeBSD_nvlist_t,
72        _: *const ::std::os::raw::c_char,
73    ) -> *const ::std::os::raw::c_char;
74    pub fn nvlist_exists_string(
75        _: *const FreeBSD_nvlist_t,
76        _: *const ::std::os::raw::c_char,
77    ) -> bool;
78    pub fn nvlist_exists_number(
79        _: *const FreeBSD_nvlist_t,
80        _: *const ::std::os::raw::c_char,
81    ) -> bool;
82
83    pub fn nvlist_get_number(_: *const FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char) -> u64;
84    pub fn nvlist_get_bool(_: *const FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char) -> bool;
85    pub fn nvlist_exists_bool(_: *const FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char)
86        -> bool;
87    pub fn nvlist_get_binary(
88        _: *const FreeBSD_nvlist_t,
89        _: *const ::std::os::raw::c_char,
90        _: *mut usize,
91    ) -> *const ::std::os::raw::c_void;
92    pub fn nvlist_exists_type(
93        _: *const FreeBSD_nvlist_t,
94        _: *const ::std::os::raw::c_char,
95        _: ::std::os::raw::c_int,
96    ) -> bool;
97    pub fn nvlist_exists(_: *const FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char) -> bool;
98    pub fn nvlist_add_nvlist_array(
99        _: *mut FreeBSD_nvlist_t,
100        _: *const ::std::os::raw::c_char,
101        _: *const *const FreeBSD_nvlist_t,
102        _: usize,
103    );
104    pub fn nvlist_add_string_array(
105        _: *mut FreeBSD_nvlist_t,
106        _: *const ::std::os::raw::c_char,
107        _: *const *const ::std::os::raw::c_char,
108        _: usize,
109    );
110    pub fn nvlist_add_bool_array(
111        _: *mut FreeBSD_nvlist_t,
112        _: *const ::std::os::raw::c_char,
113        _: *const bool,
114        _: usize,
115    );
116    pub fn nvlist_add_binary(
117        _: *mut FreeBSD_nvlist_t,
118        _: *const ::std::os::raw::c_char,
119        _: *const ::std::os::raw::c_void,
120        _: usize,
121    );
122    pub fn nvlist_add_string(
123        _: *mut FreeBSD_nvlist_t,
124        _: *const ::std::os::raw::c_char,
125        _: *const ::std::os::raw::c_char,
126    );
127    pub fn nvlist_add_bool(_: *mut FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char, _: bool);
128    pub fn nvlist_add_null(_: *mut FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char);
129    pub fn nvlist_add_number(_: *mut FreeBSD_nvlist_t, _: *const ::std::os::raw::c_char, _: u64);
130
131    pub fn nvlist_add_number_array(
132        _: *mut FreeBSD_nvlist_t,
133        _: *const ::std::os::raw::c_char,
134        _: *const u64,
135        _: usize,
136    );
137    pub fn nvlist_add_nvlist(
138        _: *mut FreeBSD_nvlist_t,
139        _: *const ::std::os::raw::c_char,
140        _: *const FreeBSD_nvlist_t,
141    );
142    pub fn nvlist_set_error(_: *mut FreeBSD_nvlist_t, _: ::std::os::raw::c_int);
143    pub fn nvlist_error(_: *const FreeBSD_nvlist_t) -> ::std::os::raw::c_int;
144    pub fn nvlist_flags(_: *const FreeBSD_nvlist_t) -> ::std::os::raw::c_int;
145    pub fn nvlist_empty(_: *const FreeBSD_nvlist_t) -> bool;
146}