pub type __time64_t = ::core::ffi::c_longlong;
pub type time_t = __time64_t;
pub type mode_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tm {
pub tm_sec: ::core::ffi::c_int,
pub tm_min: ::core::ffi::c_int,
pub tm_hour: ::core::ffi::c_int,
pub tm_mday: ::core::ffi::c_int,
pub tm_mon: ::core::ffi::c_int,
pub tm_year: ::core::ffi::c_int,
pub tm_wday: ::core::ffi::c_int,
pub tm_yday: ::core::ffi::c_int,
pub tm_isdst: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_tm() {
const UNINIT: ::core::mem::MaybeUninit<tm> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<tm>(),
36usize,
concat!("Size of: ", stringify!(tm))
);
assert_eq!(
::core::mem::align_of::<tm>(),
4usize,
concat!("Alignment of ", stringify!(tm))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_sec)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_min)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_hour)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_mday)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_mon)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_year)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_wday)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_yday)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_isdst)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _iobuf {
pub _Placeholder: *mut ::core::ffi::c_void,
}
#[test]
fn bindgen_test_layout__iobuf() {
const UNINIT: ::core::mem::MaybeUninit<_iobuf> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<_iobuf>(),
8usize,
concat!("Size of: ", stringify!(_iobuf))
);
assert_eq!(
::core::mem::align_of::<_iobuf>(),
8usize,
concat!("Alignment of ", stringify!(_iobuf))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr)._Placeholder) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_iobuf),
"::",
stringify!(_Placeholder)
)
);
}
pub type FILE = _iobuf;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rrd_t {
_unused: [u8; 0],
}
extern "C" {
pub fn rrd_set_to_DNAN() -> f64;
}
extern "C" {
pub fn rrd_set_to_DINF() -> f64;
}
pub type rrd_value_t = f64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rrd_file_t {
pub header_len: usize,
pub file_len: usize,
pub pos: usize,
pub pvt: *mut ::core::ffi::c_void,
pub rrd: *mut rrd_t,
}
#[test]
fn bindgen_test_layout_rrd_file_t() {
const UNINIT: ::core::mem::MaybeUninit<rrd_file_t> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<rrd_file_t>(),
40usize,
concat!("Size of: ", stringify!(rrd_file_t))
);
assert_eq!(
::core::mem::align_of::<rrd_file_t>(),
8usize,
concat!("Alignment of ", stringify!(rrd_file_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).header_len) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_file_t),
"::",
stringify!(header_len)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).file_len) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(rrd_file_t),
"::",
stringify!(file_len)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).pos) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(rrd_file_t),
"::",
stringify!(pos)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).pvt) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(rrd_file_t),
"::",
stringify!(pvt)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).rrd) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(rrd_file_t),
"::",
stringify!(rrd)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rrd_simple_file_t {
pub fd: ::core::ffi::c_int,
}
#[test]
fn bindgen_test_layout_rrd_simple_file_t() {
const UNINIT: ::core::mem::MaybeUninit<rrd_simple_file_t> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<rrd_simple_file_t>(),
4usize,
concat!("Size of: ", stringify!(rrd_simple_file_t))
);
assert_eq!(
::core::mem::align_of::<rrd_simple_file_t>(),
4usize,
concat!("Alignment of ", stringify!(rrd_simple_file_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_simple_file_t),
"::",
stringify!(fd)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rrd_blob_t {
pub size: ::core::ffi::c_ulong,
pub ptr: *mut ::core::ffi::c_uchar,
}
#[test]
fn bindgen_test_layout_rrd_blob_t() {
const UNINIT: ::core::mem::MaybeUninit<rrd_blob_t> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<rrd_blob_t>(),
16usize,
concat!("Size of: ", stringify!(rrd_blob_t))
);
assert_eq!(
::core::mem::align_of::<rrd_blob_t>(),
8usize,
concat!("Alignment of ", stringify!(rrd_blob_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_blob_t),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(rrd_blob_t),
"::",
stringify!(ptr)
)
);
}
pub const rrd_info_type_RD_I_VAL: rrd_info_type = 0;
pub const rrd_info_type_RD_I_CNT: rrd_info_type = 1;
pub const rrd_info_type_RD_I_STR: rrd_info_type = 2;
pub const rrd_info_type_RD_I_INT: rrd_info_type = 3;
pub const rrd_info_type_RD_I_BLO: rrd_info_type = 4;
pub type rrd_info_type = ::core::ffi::c_int;
pub use self::rrd_info_type as rrd_info_type_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub union rrd_infoval {
pub u_cnt: ::core::ffi::c_ulong,
pub u_val: rrd_value_t,
pub u_str: *mut ::core::ffi::c_char,
pub u_int: ::core::ffi::c_int,
pub u_blo: rrd_blob_t,
}
#[test]
fn bindgen_test_layout_rrd_infoval() {
const UNINIT: ::core::mem::MaybeUninit<rrd_infoval> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<rrd_infoval>(),
16usize,
concat!("Size of: ", stringify!(rrd_infoval))
);
assert_eq!(
::core::mem::align_of::<rrd_infoval>(),
8usize,
concat!("Alignment of ", stringify!(rrd_infoval))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).u_cnt) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_infoval),
"::",
stringify!(u_cnt)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).u_val) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_infoval),
"::",
stringify!(u_val)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).u_str) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_infoval),
"::",
stringify!(u_str)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).u_int) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_infoval),
"::",
stringify!(u_int)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).u_blo) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_infoval),
"::",
stringify!(u_blo)
)
);
}
pub type rrd_infoval_t = rrd_infoval;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct rrd_info_t {
pub key: *mut ::core::ffi::c_char,
pub type_: rrd_info_type_t,
pub value: rrd_infoval_t,
pub next: *mut rrd_info_t,
}
#[test]
fn bindgen_test_layout_rrd_info_t() {
const UNINIT: ::core::mem::MaybeUninit<rrd_info_t> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<rrd_info_t>(),
40usize,
concat!("Size of: ", stringify!(rrd_info_t))
);
assert_eq!(
::core::mem::align_of::<rrd_info_t>(),
8usize,
concat!("Alignment of ", stringify!(rrd_info_t))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_info_t),
"::",
stringify!(key)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(rrd_info_t),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(rrd_info_t),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(rrd_info_t),
"::",
stringify!(next)
)
);
}
pub type rrd_output_callback_t = ::core::option::Option<
unsafe extern "C" fn(
arg1: *const ::core::ffi::c_void,
arg2: usize,
arg3: *mut ::core::ffi::c_void,
) -> usize,
>;
extern "C" {
pub fn rrd_create(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_info(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> *mut rrd_info_t;
}
extern "C" {
pub fn rrd_info_push(
arg1: *mut rrd_info_t,
arg2: *mut ::core::ffi::c_char,
arg3: rrd_info_type_t,
arg4: rrd_infoval_t,
) -> *mut rrd_info_t;
}
extern "C" {
pub fn rrd_info_print(data: *mut rrd_info_t);
}
extern "C" {
pub fn rrd_info_free(arg1: *mut rrd_info_t);
}
extern "C" {
pub fn rrd_list(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn rrd_list_r(
arg1: ::core::ffi::c_int,
dirname: *mut ::core::ffi::c_char,
) -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn rrd_update(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_update_v(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> *mut rrd_info_t;
}
extern "C" {
pub fn rrd_graph(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
prdata: *mut *mut *mut ::core::ffi::c_char,
xsize: *mut ::core::ffi::c_int,
ysize: *mut ::core::ffi::c_int,
stream: *mut FILE,
ymin: *mut f64,
ymax: *mut f64
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_graph_v(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> *mut rrd_info_t;
}
extern "C" {
pub fn rrd_fetch(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
arg3: *mut time_t,
arg4: *mut time_t,
arg5: *mut ::core::ffi::c_ulong,
arg6: *mut ::core::ffi::c_ulong,
arg7: *mut *mut *mut ::core::ffi::c_char,
arg8: *mut *mut rrd_value_t,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_restore(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_dump(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_tune(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_last(arg1: ::core::ffi::c_int, arg2: *mut *mut ::core::ffi::c_char) -> time_t;
}
extern "C" {
pub fn rrd_lastupdate(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_first(arg1: ::core::ffi::c_int, arg2: *mut *mut ::core::ffi::c_char) -> time_t;
}
extern "C" {
pub fn rrd_resize(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_strversion() -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn rrd_version() -> f64;
}
extern "C" {
pub fn rrd_xport(
arg1: ::core::ffi::c_int,
arg2: *mut *mut ::core::ffi::c_char,
arg3: *mut ::core::ffi::c_int,
arg4: *mut time_t,
arg5: *mut time_t,
arg6: *mut ::core::ffi::c_ulong,
arg7: *mut ::core::ffi::c_ulong,
arg8: *mut *mut *mut ::core::ffi::c_char,
arg9: *mut *mut rrd_value_t,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_flushcached(
argc: ::core::ffi::c_int,
argv: *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_freemem(mem: *mut ::core::ffi::c_void);
}
extern "C" {
pub fn rrd_create_r(
filename: *const ::core::ffi::c_char,
pdp_step: ::core::ffi::c_ulong,
last_up: time_t,
argc: ::core::ffi::c_int,
argv: *mut *const ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_create_r2(
filename: *const ::core::ffi::c_char,
pdp_step: ::core::ffi::c_ulong,
last_up: time_t,
no_overwrite: ::core::ffi::c_int,
sources: *mut *const ::core::ffi::c_char,
_template: *const ::core::ffi::c_char,
argc: ::core::ffi::c_int,
argv: *mut *const ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_info_r(filename: *const ::core::ffi::c_char) -> *mut rrd_info_t;
}
extern "C" {
pub fn rrd_update_r(
filename: *const ::core::ffi::c_char,
_template: *const ::core::ffi::c_char,
argc: ::core::ffi::c_int,
argv: *mut *const ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_update_v_r(
filename: *const ::core::ffi::c_char,
_template: *const ::core::ffi::c_char,
argc: ::core::ffi::c_int,
argv: *mut *const ::core::ffi::c_char,
pcdp_summary: *mut rrd_info_t,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_updatex_r(
filename: *const ::core::ffi::c_char,
_template: *const ::core::ffi::c_char,
extra_flags: ::core::ffi::c_int,
argc: ::core::ffi::c_int,
argv: *mut *const ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_updatex_v_r(
filename: *const ::core::ffi::c_char,
_template: *const ::core::ffi::c_char,
extra_flags: ::core::ffi::c_int,
argc: ::core::ffi::c_int,
argv: *mut *const ::core::ffi::c_char,
pcdp_summary: *mut rrd_info_t,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_fetch_r(
filename: *const ::core::ffi::c_char,
cf: *const ::core::ffi::c_char,
start: *mut time_t,
end: *mut time_t,
step: *mut ::core::ffi::c_ulong,
ds_cnt: *mut ::core::ffi::c_ulong,
ds_namv: *mut *mut *mut ::core::ffi::c_char,
data: *mut *mut rrd_value_t,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_tune_r(
filename: *const ::core::ffi::c_char,
argc: ::core::ffi::c_int,
argv: *mut *const ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_dump_opt_r(
filename: *const ::core::ffi::c_char,
outname: *mut ::core::ffi::c_char,
opt_noheader: ::core::ffi::c_int,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_dump_r(
filename: *const ::core::ffi::c_char,
outname: *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_last_r(filename: *const ::core::ffi::c_char) -> time_t;
}
extern "C" {
pub fn rrd_lastupdate_r(
filename: *const ::core::ffi::c_char,
ret_last_update: *mut time_t,
ret_ds_count: *mut ::core::ffi::c_ulong,
ret_ds_names: *mut *mut *mut ::core::ffi::c_char,
ret_last_ds: *mut *mut *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_first_r(
filename: *const ::core::ffi::c_char,
rraindex: ::core::ffi::c_int,
) -> time_t;
}
extern "C" {
pub fn rrd_dump_cb_r(
filename: *const ::core::ffi::c_char,
opt_header: ::core::ffi::c_int,
cb: rrd_output_callback_t,
user: *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
pub const rrd_timetype_t_ABSOLUTE_TIME: rrd_timetype_t = 0;
pub const rrd_timetype_t_RELATIVE_TO_START_TIME: rrd_timetype_t = 1;
pub const rrd_timetype_t_RELATIVE_TO_END_TIME: rrd_timetype_t = 2;
pub const rrd_timetype_t_RELATIVE_TO_EPOCH: rrd_timetype_t = 3;
pub type rrd_timetype_t = ::core::ffi::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rrd_time_value {
pub type_: rrd_timetype_t,
pub offset: ::core::ffi::c_long,
pub tm: tm,
}
#[test]
fn bindgen_test_layout_rrd_time_value() {
const UNINIT: ::core::mem::MaybeUninit<rrd_time_value> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<rrd_time_value>(),
44usize,
concat!("Size of: ", stringify!(rrd_time_value))
);
assert_eq!(
::core::mem::align_of::<rrd_time_value>(),
4usize,
concat!("Alignment of ", stringify!(rrd_time_value))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_time_value),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(rrd_time_value),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).tm) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(rrd_time_value),
"::",
stringify!(tm)
)
);
}
pub type rrd_time_value_t = rrd_time_value;
extern "C" {
pub fn rrd_parsetime(
spec: *const ::core::ffi::c_char,
ptv: *mut rrd_time_value_t,
) -> *mut ::core::ffi::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rrd_context {
pub lib_errstr: [::core::ffi::c_char; 256usize],
pub rrd_error: [::core::ffi::c_char; 4096usize],
}
#[test]
fn bindgen_test_layout_rrd_context() {
const UNINIT: ::core::mem::MaybeUninit<rrd_context> = ::core::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::core::mem::size_of::<rrd_context>(),
4352usize,
concat!("Size of: ", stringify!(rrd_context))
);
assert_eq!(
::core::mem::align_of::<rrd_context>(),
1usize,
concat!("Alignment of ", stringify!(rrd_context))
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).lib_errstr) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(rrd_context),
"::",
stringify!(lib_errstr)
)
);
assert_eq!(
unsafe { ::core::ptr::addr_of!((*ptr).rrd_error) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(rrd_context),
"::",
stringify!(rrd_error)
)
);
}
pub type rrd_context_t = rrd_context;
extern "C" {
pub fn rrd_get_context() -> *mut rrd_context_t;
}
extern "C" {
pub fn rrd_force_new_context() -> *mut rrd_context_t;
}
extern "C" {
pub fn rrd_proc_start_end(
arg1: *mut rrd_time_value_t,
arg2: *mut rrd_time_value_t,
arg3: *mut time_t,
arg4: *mut time_t,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_set_error(arg1: *mut ::core::ffi::c_char, ...);
}
extern "C" {
pub fn rrd_clear_error();
}
extern "C" {
pub fn rrd_test_error() -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_get_error() -> *mut ::core::ffi::c_char;
}
extern "C" {
pub fn rrd_strerror(err: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
}
extern "C" {
#[doc = " MULTITHREADED HELPER FUNCTIONS"]
pub fn rrd_new_context() -> *mut rrd_context_t;
}
extern "C" {
pub fn rrd_free_context(buf: *mut rrd_context_t);
}
extern "C" {
#[doc = " UTILITY FUNCTIONS"]
pub fn rrd_random() -> ::core::ffi::c_long;
}
extern "C" {
pub fn rrd_add_ptr_chunk(
dest: *mut *mut *mut ::core::ffi::c_void,
dest_size: *mut usize,
src: *mut ::core::ffi::c_void,
alloc: *mut usize,
chunk: usize,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_add_ptr(
dest: *mut *mut *mut ::core::ffi::c_void,
dest_size: *mut usize,
src: *mut ::core::ffi::c_void,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_add_strdup(
dest: *mut *mut *mut ::core::ffi::c_char,
dest_size: *mut usize,
src: *mut ::core::ffi::c_char,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_add_strdup_chunk(
dest: *mut *mut *mut ::core::ffi::c_char,
dest_size: *mut usize,
src: *mut ::core::ffi::c_char,
alloc: *mut usize,
chunk: usize,
) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_free_ptrs(src: *mut *mut *mut ::core::ffi::c_void, cnt: *mut usize);
}
extern "C" {
pub fn rrd_mkdir_p(pathname: *const ::core::ffi::c_char, mode: mode_t) -> ::core::ffi::c_int;
}
extern "C" {
pub fn rrd_scaled_duration(
token: *const ::core::ffi::c_char,
divisor: ::core::ffi::c_ulong,
valuep: *mut ::core::ffi::c_ulong,
) -> *const ::core::ffi::c_char;
}
extern "C" {
pub fn rrd_thread_init();
}