#![allow(dead_code)]
#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(improper_ctypes)]
#![allow(clippy::useless_transmute)]
#![allow(clippy::default_trait_access)]
#![allow(clippy::cast_lossless)]
#![allow(clippy::trivially_copy_pass_by_ref)]
pub type __int8_t = ::std::os::raw::c_schar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type size_t = ::std::os::raw::c_uint;
pub type unw_word_t = u32;
pub type unw_sword_t = i32;
pub type unw_tdep_fpreg_t = f64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_tdep_save_loc {}
#[test]
fn bindgen_test_layout_unw_tdep_save_loc() {
assert_eq!(
::std::mem::size_of::<unw_tdep_save_loc>(),
0usize,
concat!("Size of: ", stringify!(unw_tdep_save_loc))
);
assert_eq!(
::std::mem::align_of::<unw_tdep_save_loc>(),
1usize,
concat!("Alignment of ", stringify!(unw_tdep_save_loc))
);
}
pub type unw_tdep_save_loc_t = unw_tdep_save_loc;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_tdep_context {
pub regs: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout_unw_tdep_context() {
assert_eq!(
::std::mem::size_of::<unw_tdep_context>(),
64usize,
concat!("Size of: ", stringify!(unw_tdep_context))
);
assert_eq!(
::std::mem::align_of::<unw_tdep_context>(),
4usize,
concat!("Alignment of ", stringify!(unw_tdep_context))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_tdep_context>())).regs as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_tdep_context),
"::",
stringify!(regs)
)
);
}
pub type unw_tdep_context_t = unw_tdep_context;
pub const unw_dyn_operation_t_UNW_DYN_STOP: unw_dyn_operation_t = 0;
pub const unw_dyn_operation_t_UNW_DYN_SAVE_REG: unw_dyn_operation_t = 1;
pub const unw_dyn_operation_t_UNW_DYN_SPILL_FP_REL: unw_dyn_operation_t = 2;
pub const unw_dyn_operation_t_UNW_DYN_SPILL_SP_REL: unw_dyn_operation_t = 3;
pub const unw_dyn_operation_t_UNW_DYN_ADD: unw_dyn_operation_t = 4;
pub const unw_dyn_operation_t_UNW_DYN_POP_FRAMES: unw_dyn_operation_t = 5;
pub const unw_dyn_operation_t_UNW_DYN_LABEL_STATE: unw_dyn_operation_t = 6;
pub const unw_dyn_operation_t_UNW_DYN_COPY_STATE: unw_dyn_operation_t = 7;
pub const unw_dyn_operation_t_UNW_DYN_ALIAS: unw_dyn_operation_t = 8;
pub type unw_dyn_operation_t = ::std::os::raw::c_uint;
pub const unw_dyn_info_format_t_UNW_INFO_FORMAT_DYNAMIC: unw_dyn_info_format_t = 0;
pub const unw_dyn_info_format_t_UNW_INFO_FORMAT_TABLE: unw_dyn_info_format_t = 1;
pub const unw_dyn_info_format_t_UNW_INFO_FORMAT_REMOTE_TABLE: unw_dyn_info_format_t = 2;
pub const unw_dyn_info_format_t_UNW_INFO_FORMAT_ARM_EXIDX: unw_dyn_info_format_t = 3;
pub const unw_dyn_info_format_t_UNW_INFO_FORMAT_IP_OFFSET: unw_dyn_info_format_t = 4;
pub type unw_dyn_info_format_t = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_dyn_op {
pub tag: i8,
pub qp: i8,
pub reg: i16,
pub when: i32,
pub val: unw_word_t,
}
#[test]
fn bindgen_test_layout_unw_dyn_op() {
assert_eq!(
::std::mem::size_of::<unw_dyn_op>(),
12usize,
concat!("Size of: ", stringify!(unw_dyn_op))
);
assert_eq!(
::std::mem::align_of::<unw_dyn_op>(),
4usize,
concat!("Alignment of ", stringify!(unw_dyn_op))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_op>())).tag as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_op),
"::",
stringify!(tag)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_op>())).qp as *const _ as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_op),
"::",
stringify!(qp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_op>())).reg as *const _ as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_op),
"::",
stringify!(reg)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_op>())).when as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_op),
"::",
stringify!(when)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_op>())).val as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_op),
"::",
stringify!(val)
)
);
}
pub type unw_dyn_op_t = unw_dyn_op;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_dyn_region_info {
pub next: *mut unw_dyn_region_info,
pub insn_count: i32,
pub op_count: u32,
pub op: [unw_dyn_op_t; 1usize],
}
#[test]
fn bindgen_test_layout_unw_dyn_region_info() {
assert_eq!(
::std::mem::size_of::<unw_dyn_region_info>(),
24usize,
concat!("Size of: ", stringify!(unw_dyn_region_info))
);
assert_eq!(
::std::mem::align_of::<unw_dyn_region_info>(),
4usize,
concat!("Alignment of ", stringify!(unw_dyn_region_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_region_info>())).next as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_region_info),
"::",
stringify!(next)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_region_info>())).insn_count as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_region_info),
"::",
stringify!(insn_count)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_region_info>())).op_count as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_region_info),
"::",
stringify!(op_count)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_region_info>())).op as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_region_info),
"::",
stringify!(op)
)
);
}
pub type unw_dyn_region_info_t = unw_dyn_region_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_dyn_proc_info {
pub name_ptr: unw_word_t,
pub handler: unw_word_t,
pub flags: u32,
pub pad0: i32,
pub regions: *mut unw_dyn_region_info_t,
}
#[test]
fn bindgen_test_layout_unw_dyn_proc_info() {
assert_eq!(
::std::mem::size_of::<unw_dyn_proc_info>(),
20usize,
concat!("Size of: ", stringify!(unw_dyn_proc_info))
);
assert_eq!(
::std::mem::align_of::<unw_dyn_proc_info>(),
4usize,
concat!("Alignment of ", stringify!(unw_dyn_proc_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_proc_info>())).name_ptr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_proc_info),
"::",
stringify!(name_ptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_proc_info>())).handler as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_proc_info),
"::",
stringify!(handler)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_proc_info>())).flags as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_proc_info),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_proc_info>())).pad0 as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_proc_info),
"::",
stringify!(pad0)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_proc_info>())).regions as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_proc_info),
"::",
stringify!(regions)
)
);
}
pub type unw_dyn_proc_info_t = unw_dyn_proc_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_dyn_table_info {
pub name_ptr: unw_word_t,
pub segbase: unw_word_t,
pub table_len: unw_word_t,
pub table_data: *mut unw_word_t,
}
#[test]
fn bindgen_test_layout_unw_dyn_table_info() {
assert_eq!(
::std::mem::size_of::<unw_dyn_table_info>(),
16usize,
concat!("Size of: ", stringify!(unw_dyn_table_info))
);
assert_eq!(
::std::mem::align_of::<unw_dyn_table_info>(),
4usize,
concat!("Alignment of ", stringify!(unw_dyn_table_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_table_info>())).name_ptr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_table_info),
"::",
stringify!(name_ptr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_table_info>())).segbase as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_table_info),
"::",
stringify!(segbase)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_table_info>())).table_len as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_table_info),
"::",
stringify!(table_len)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_table_info>())).table_data as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_table_info),
"::",
stringify!(table_data)
)
);
}
pub type unw_dyn_table_info_t = unw_dyn_table_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_dyn_remote_table_info {
pub name_ptr: unw_word_t,
pub segbase: unw_word_t,
pub table_len: unw_word_t,
pub table_data: unw_word_t,
}
#[test]
fn bindgen_test_layout_unw_dyn_remote_table_info() {
assert_eq!(
::std::mem::size_of::<unw_dyn_remote_table_info>(),
16usize,
concat!("Size of: ", stringify!(unw_dyn_remote_table_info))
);
assert_eq!(
::std::mem::align_of::<unw_dyn_remote_table_info>(),
4usize,
concat!("Alignment of ", stringify!(unw_dyn_remote_table_info))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<unw_dyn_remote_table_info>())).name_ptr as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_remote_table_info),
"::",
stringify!(name_ptr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<unw_dyn_remote_table_info>())).segbase as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_remote_table_info),
"::",
stringify!(segbase)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<unw_dyn_remote_table_info>())).table_len as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_remote_table_info),
"::",
stringify!(table_len)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<unw_dyn_remote_table_info>())).table_data as *const _ as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_remote_table_info),
"::",
stringify!(table_data)
)
);
}
pub type unw_dyn_remote_table_info_t = unw_dyn_remote_table_info;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct unw_dyn_info {
pub next: *mut unw_dyn_info,
pub prev: *mut unw_dyn_info,
pub start_ip: unw_word_t,
pub end_ip: unw_word_t,
pub gp: unw_word_t,
pub format: i32,
pub pad: i32,
pub u: unw_dyn_info__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union unw_dyn_info__bindgen_ty_1 {
pub pi: unw_dyn_proc_info_t,
pub ti: unw_dyn_table_info_t,
pub rti: unw_dyn_remote_table_info_t,
_bindgen_union_align: [u32; 5usize],
}
#[test]
fn bindgen_test_layout_unw_dyn_info__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<unw_dyn_info__bindgen_ty_1>(),
20usize,
concat!("Size of: ", stringify!(unw_dyn_info__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<unw_dyn_info__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(unw_dyn_info__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info__bindgen_ty_1>())).pi as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info__bindgen_ty_1),
"::",
stringify!(pi)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info__bindgen_ty_1>())).ti as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info__bindgen_ty_1),
"::",
stringify!(ti)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info__bindgen_ty_1>())).rti as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info__bindgen_ty_1),
"::",
stringify!(rti)
)
);
}
#[test]
fn bindgen_test_layout_unw_dyn_info() {
assert_eq!(
::std::mem::size_of::<unw_dyn_info>(),
48usize,
concat!("Size of: ", stringify!(unw_dyn_info))
);
assert_eq!(
::std::mem::align_of::<unw_dyn_info>(),
4usize,
concat!("Alignment of ", stringify!(unw_dyn_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info>())).next as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info),
"::",
stringify!(next)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info>())).prev as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info),
"::",
stringify!(prev)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info>())).start_ip as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info),
"::",
stringify!(start_ip)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info>())).end_ip as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info),
"::",
stringify!(end_ip)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info>())).gp as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info),
"::",
stringify!(gp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info>())).format as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info),
"::",
stringify!(format)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info>())).pad as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info),
"::",
stringify!(pad)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info>())).u as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info),
"::",
stringify!(u)
)
);
}
pub type unw_dyn_info_t = unw_dyn_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_dyn_info_list {
pub version: u32,
pub generation: u32,
pub first: *mut unw_dyn_info_t,
}
#[test]
fn bindgen_test_layout_unw_dyn_info_list() {
assert_eq!(
::std::mem::size_of::<unw_dyn_info_list>(),
12usize,
concat!("Size of: ", stringify!(unw_dyn_info_list))
);
assert_eq!(
::std::mem::align_of::<unw_dyn_info_list>(),
4usize,
concat!("Alignment of ", stringify!(unw_dyn_info_list))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info_list>())).version as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info_list),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info_list>())).generation as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info_list),
"::",
stringify!(generation)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_dyn_info_list>())).first as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(unw_dyn_info_list),
"::",
stringify!(first)
)
);
}
pub type unw_dyn_info_list_t = unw_dyn_info_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_tdep_proc_info_t {}
#[test]
fn bindgen_test_layout_unw_tdep_proc_info_t() {
assert_eq!(
::std::mem::size_of::<unw_tdep_proc_info_t>(),
0usize,
concat!("Size of: ", stringify!(unw_tdep_proc_info_t))
);
assert_eq!(
::std::mem::align_of::<unw_tdep_proc_info_t>(),
1usize,
concat!("Alignment of ", stringify!(unw_tdep_proc_info_t))
);
}
pub const unw_error_t_UNW_ESUCCESS: unw_error_t = 0;
pub const unw_error_t_UNW_EUNSPEC: unw_error_t = 1;
pub const unw_error_t_UNW_ENOMEM: unw_error_t = 2;
pub const unw_error_t_UNW_EBADREG: unw_error_t = 3;
pub const unw_error_t_UNW_EREADONLYREG: unw_error_t = 4;
pub const unw_error_t_UNW_ESTOPUNWIND: unw_error_t = 5;
pub const unw_error_t_UNW_EINVALIDIP: unw_error_t = 6;
pub const unw_error_t_UNW_EBADFRAME: unw_error_t = 7;
pub const unw_error_t_UNW_EINVAL: unw_error_t = 8;
pub const unw_error_t_UNW_EBADVERSION: unw_error_t = 9;
pub const unw_error_t_UNW_ENOINFO: unw_error_t = 10;
pub type unw_error_t = ::std::os::raw::c_uint;
pub const unw_frame_regnum_t_UNW_REG_IP: unw_frame_regnum_t = 14;
pub const unw_frame_regnum_t_UNW_REG_SP: unw_frame_regnum_t = 13;
pub const unw_frame_regnum_t_UNW_REG_EH: unw_frame_regnum_t = 0;
pub const unw_frame_regnum_t_UNW_REG_LAST: unw_frame_regnum_t = 287;
pub type unw_frame_regnum_t = ::std::os::raw::c_uint;
pub const unw_caching_policy_t_UNW_CACHE_NONE: unw_caching_policy_t = 0;
pub const unw_caching_policy_t_UNW_CACHE_GLOBAL: unw_caching_policy_t = 1;
pub const unw_caching_policy_t_UNW_CACHE_PER_THREAD: unw_caching_policy_t = 2;
pub type unw_caching_policy_t = ::std::os::raw::c_uint;
pub type unw_regnum_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct unw_cursor {
pub opaque: [unw_word_t; 4096usize],
}
#[test]
fn bindgen_test_layout_unw_cursor() {
assert_eq!(
::std::mem::size_of::<unw_cursor>(),
16384usize,
concat!("Size of: ", stringify!(unw_cursor))
);
assert_eq!(
::std::mem::align_of::<unw_cursor>(),
4usize,
concat!("Alignment of ", stringify!(unw_cursor))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_cursor>())).opaque as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_cursor),
"::",
stringify!(opaque)
)
);
}
pub type unw_cursor_t = unw_cursor;
pub type unw_context_t = unw_tdep_context_t;
pub type unw_fpreg_t = unw_tdep_fpreg_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_addr_space {
_unused: [u8; 0],
}
pub type unw_addr_space_t = *mut unw_addr_space;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_proc_info {
pub start_ip: unw_word_t,
pub end_ip: unw_word_t,
pub lsda: unw_word_t,
pub handler: unw_word_t,
pub gp: unw_word_t,
pub flags: unw_word_t,
pub format: ::std::os::raw::c_int,
pub unwind_info_size: ::std::os::raw::c_int,
pub unwind_info: *mut ::std::os::raw::c_void,
pub extra: unw_tdep_proc_info_t,
}
#[test]
fn bindgen_test_layout_unw_proc_info() {
assert_eq!(
::std::mem::size_of::<unw_proc_info>(),
36usize,
concat!("Size of: ", stringify!(unw_proc_info))
);
assert_eq!(
::std::mem::align_of::<unw_proc_info>(),
4usize,
concat!("Alignment of ", stringify!(unw_proc_info))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).start_ip as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(start_ip)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).end_ip as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(end_ip)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).lsda as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(lsda)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).handler as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(handler)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).gp as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(gp)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).flags as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).format as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(format)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).unwind_info_size as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(unwind_info_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).unwind_info as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(unwind_info)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_proc_info>())).extra as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(unw_proc_info),
"::",
stringify!(extra)
)
);
}
pub type unw_proc_info_t = unw_proc_info;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_accessors {
pub find_proc_info: ::std::option::Option<
unsafe extern "C" fn(
arg1: unw_addr_space_t,
arg2: unw_word_t,
arg3: *mut unw_proc_info_t,
arg4: ::std::os::raw::c_int,
arg5: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub put_unwind_info: ::std::option::Option<
unsafe extern "C" fn(
arg1: unw_addr_space_t,
arg2: *mut unw_proc_info_t,
arg3: *mut ::std::os::raw::c_void,
),
>,
pub get_dyn_info_list_addr: ::std::option::Option<
unsafe extern "C" fn(
arg1: unw_addr_space_t,
arg2: *mut unw_word_t,
arg3: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub access_mem: ::std::option::Option<
unsafe extern "C" fn(
arg1: unw_addr_space_t,
arg2: unw_word_t,
arg3: *mut unw_word_t,
arg4: ::std::os::raw::c_int,
arg5: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub access_reg: ::std::option::Option<
unsafe extern "C" fn(
arg1: unw_addr_space_t,
arg2: unw_regnum_t,
arg3: *mut unw_word_t,
arg4: ::std::os::raw::c_int,
arg5: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub access_fpreg: ::std::option::Option<
unsafe extern "C" fn(
arg1: unw_addr_space_t,
arg2: unw_regnum_t,
arg3: *mut unw_fpreg_t,
arg4: ::std::os::raw::c_int,
arg5: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub resume: ::std::option::Option<
unsafe extern "C" fn(
arg1: unw_addr_space_t,
arg2: *mut unw_cursor_t,
arg3: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub get_proc_name: ::std::option::Option<
unsafe extern "C" fn(
arg1: unw_addr_space_t,
arg2: unw_word_t,
arg3: *mut ::std::os::raw::c_char,
arg4: size_t,
arg5: *mut unw_word_t,
arg6: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout_unw_accessors() {
assert_eq!(
::std::mem::size_of::<unw_accessors>(),
32usize,
concat!("Size of: ", stringify!(unw_accessors))
);
assert_eq!(
::std::mem::align_of::<unw_accessors>(),
4usize,
concat!("Alignment of ", stringify!(unw_accessors))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_accessors>())).find_proc_info as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_accessors),
"::",
stringify!(find_proc_info)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_accessors>())).put_unwind_info as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_accessors),
"::",
stringify!(put_unwind_info)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<unw_accessors>())).get_dyn_info_list_addr as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(unw_accessors),
"::",
stringify!(get_dyn_info_list_addr)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_accessors>())).access_mem as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(unw_accessors),
"::",
stringify!(access_mem)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_accessors>())).access_reg as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(unw_accessors),
"::",
stringify!(access_reg)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_accessors>())).access_fpreg as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(unw_accessors),
"::",
stringify!(access_fpreg)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_accessors>())).resume as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(unw_accessors),
"::",
stringify!(resume)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_accessors>())).get_proc_name as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(unw_accessors),
"::",
stringify!(get_proc_name)
)
);
}
pub type unw_accessors_t = unw_accessors;
pub const unw_save_loc_type_UNW_SLT_NONE: unw_save_loc_type = 0;
pub const unw_save_loc_type_UNW_SLT_MEMORY: unw_save_loc_type = 1;
pub const unw_save_loc_type_UNW_SLT_REG: unw_save_loc_type = 2;
pub type unw_save_loc_type = ::std::os::raw::c_uint;
pub use self::unw_save_loc_type as unw_save_loc_type_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct unw_save_loc {
pub type_: unw_save_loc_type_t,
pub u: unw_save_loc__bindgen_ty_1,
pub extra: unw_tdep_save_loc_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union unw_save_loc__bindgen_ty_1 {
pub addr: unw_word_t,
pub regnum: unw_regnum_t,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_unw_save_loc__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<unw_save_loc__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(unw_save_loc__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<unw_save_loc__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(unw_save_loc__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_save_loc__bindgen_ty_1>())).addr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_save_loc__bindgen_ty_1),
"::",
stringify!(addr)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<unw_save_loc__bindgen_ty_1>())).regnum as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(unw_save_loc__bindgen_ty_1),
"::",
stringify!(regnum)
)
);
}
#[test]
fn bindgen_test_layout_unw_save_loc() {
assert_eq!(
::std::mem::size_of::<unw_save_loc>(),
8usize,
concat!("Size of: ", stringify!(unw_save_loc))
);
assert_eq!(
::std::mem::align_of::<unw_save_loc>(),
4usize,
concat!("Alignment of ", stringify!(unw_save_loc))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_save_loc>())).type_ as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(unw_save_loc),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_save_loc>())).u as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(unw_save_loc),
"::",
stringify!(u)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<unw_save_loc>())).extra as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(unw_save_loc),
"::",
stringify!(extra)
)
);
}
pub type unw_save_loc_t = unw_save_loc;