/* automatically generated by rust-bindgen 0.60.1 */

pub type __int8_t = ::std::os::raw::c_schar;
pub type __uint8_t = ::std::os::raw::c_uchar;
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 __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type size_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
    pub __val: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
    assert_eq!(
        ::std::mem::size_of::<__sigset_t>(),
        128usize,
        concat!("Size of: ", stringify!(__sigset_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__sigset_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__sigset_t))
    );
    fn test_field___val() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<__sigset_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(__sigset_t),
                "::",
                stringify!(__val)
            )
        );
    }
    test_field___val();
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct stack_t {
    pub ss_sp: *mut ::std::os::raw::c_void,
    pub ss_flags: ::std::os::raw::c_int,
    pub ss_size: size_t,
}
#[test]
fn bindgen_test_layout_stack_t() {
    assert_eq!(
        ::std::mem::size_of::<stack_t>(),
        24usize,
        concat!("Size of: ", stringify!(stack_t))
    );
    assert_eq!(
        ::std::mem::align_of::<stack_t>(),
        8usize,
        concat!("Alignment of ", stringify!(stack_t))
    );
    fn test_field_ss_sp() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<stack_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(stack_t),
                "::",
                stringify!(ss_sp)
            )
        );
    }
    test_field_ss_sp();
    fn test_field_ss_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<stack_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(stack_t),
                "::",
                stringify!(ss_flags)
            )
        );
    }
    test_field_ss_flags();
    fn test_field_ss_size() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<stack_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(stack_t),
                "::",
                stringify!(ss_size)
            )
        );
    }
    test_field_ss_size();
}
pub type unw_word_t = u64;
pub type unw_sword_t = i64;
pub type unw_tdep_fpreg_t = u128;
#[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))
    );
}
#[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)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct unw_sigcontext {
    pub fault_address: u64,
    pub regs: [u64; 31usize],
    pub sp: u64,
    pub pc: u64,
    pub pstate: u64,
    pub __bindgen_padding_0: [u8; 8usize],
    pub __reserved: [u8; 528usize],
}
#[test]
fn bindgen_test_layout_unw_sigcontext() {
    assert_eq!(
        ::std::mem::size_of::<unw_sigcontext>(),
        816usize,
        concat!("Size of: ", stringify!(unw_sigcontext))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_sigcontext>(),
        16usize,
        concat!("Alignment of ", stringify!(unw_sigcontext))
    );
    fn test_field_fault_address() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_sigcontext>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).fault_address) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_sigcontext),
                "::",
                stringify!(fault_address)
            )
        );
    }
    test_field_fault_address();
    fn test_field_regs() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_sigcontext>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).regs) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_sigcontext),
                "::",
                stringify!(regs)
            )
        );
    }
    test_field_regs();
    fn test_field_sp() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_sigcontext>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).sp) as usize - ptr as usize
            },
            256usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_sigcontext),
                "::",
                stringify!(sp)
            )
        );
    }
    test_field_sp();
    fn test_field_pc() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_sigcontext>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).pc) as usize - ptr as usize
            },
            264usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_sigcontext),
                "::",
                stringify!(pc)
            )
        );
    }
    test_field_pc();
    fn test_field_pstate() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_sigcontext>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).pstate) as usize - ptr as usize
            },
            272usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_sigcontext),
                "::",
                stringify!(pstate)
            )
        );
    }
    test_field_pstate();
    fn test_field___reserved() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_sigcontext>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize
            },
            288usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_sigcontext),
                "::",
                stringify!(__reserved)
            )
        );
    }
    test_field___reserved();
}
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct unw_tdep_context_t {
    pub uc_flags: ::std::os::raw::c_ulong,
    pub uc_link: *mut ucontext,
    pub uc_stack: stack_t,
    pub uc_sigmask: sigset_t,
    pub __bindgen_padding_0: u64,
    pub uc_mcontext: unw_sigcontext,
}
#[test]
fn bindgen_test_layout_unw_tdep_context_t() {
    assert_eq!(
        ::std::mem::size_of::<unw_tdep_context_t>(),
        992usize,
        concat!("Size of: ", stringify!(unw_tdep_context_t))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_tdep_context_t>(),
        16usize,
        concat!("Alignment of ", stringify!(unw_tdep_context_t))
    );
    fn test_field_uc_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_tdep_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).uc_flags) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_tdep_context_t),
                "::",
                stringify!(uc_flags)
            )
        );
    }
    test_field_uc_flags();
    fn test_field_uc_link() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_tdep_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_tdep_context_t),
                "::",
                stringify!(uc_link)
            )
        );
    }
    test_field_uc_link();
    fn test_field_uc_stack() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_tdep_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_tdep_context_t),
                "::",
                stringify!(uc_stack)
            )
        );
    }
    test_field_uc_stack();
    fn test_field_uc_sigmask() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_tdep_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize
            },
            40usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_tdep_context_t),
                "::",
                stringify!(uc_sigmask)
            )
        );
    }
    test_field_uc_sigmask();
    fn test_field_uc_mcontext() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_tdep_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize
            },
            176usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_tdep_context_t),
                "::",
                stringify!(uc_mcontext)
            )
        );
    }
    test_field_uc_mcontext();
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_fpsimd_context_t {
    pub _ctx_magic: u32,
    pub _ctx_size: u32,
    pub fpsr: u32,
    pub fpcr: u32,
    pub vregs: [u64; 64usize],
}
#[test]
fn bindgen_test_layout_unw_fpsimd_context_t() {
    assert_eq!(
        ::std::mem::size_of::<unw_fpsimd_context_t>(),
        528usize,
        concat!("Size of: ", stringify!(unw_fpsimd_context_t))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_fpsimd_context_t>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_fpsimd_context_t))
    );
    fn test_field__ctx_magic() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_fpsimd_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr)._ctx_magic) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_fpsimd_context_t),
                "::",
                stringify!(_ctx_magic)
            )
        );
    }
    test_field__ctx_magic();
    fn test_field__ctx_size() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_fpsimd_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr)._ctx_size) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_fpsimd_context_t),
                "::",
                stringify!(_ctx_size)
            )
        );
    }
    test_field__ctx_size();
    fn test_field_fpsr() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_fpsimd_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).fpsr) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_fpsimd_context_t),
                "::",
                stringify!(fpsr)
            )
        );
    }
    test_field_fpsr();
    fn test_field_fpcr() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_fpsimd_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).fpcr) as usize - ptr as usize
            },
            12usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_fpsimd_context_t),
                "::",
                stringify!(fpcr)
            )
        );
    }
    test_field_fpcr();
    fn test_field_vregs() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_fpsimd_context_t>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).vregs) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_fpsimd_context_t),
                "::",
                stringify!(vregs)
            )
        );
    }
    test_field_vregs();
}
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 = 30;
pub const unw_frame_regnum_t_UNW_REG_SP: unw_frame_regnum_t = 31;
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 = 97;
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 const unw_init_local2_flags_t_UNW_INIT_SIGNAL_FRAME: unw_init_local2_flags_t = 1;
pub type unw_init_local2_flags_t = ::std::os::raw::c_uint;
pub type unw_regnum_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct unw_cursor {
    pub opaque: [unw_word_t; 250usize],
}
#[test]
fn bindgen_test_layout_unw_cursor() {
    assert_eq!(
        ::std::mem::size_of::<unw_cursor>(),
        2000usize,
        concat!("Size of: ", stringify!(unw_cursor))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_cursor>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_cursor))
    );
    fn test_field_opaque() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_cursor>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_cursor),
                "::",
                stringify!(opaque)
            )
        );
    }
    test_field_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>(),
        64usize,
        concat!("Size of: ", stringify!(unw_proc_info))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_proc_info>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_proc_info))
    );
    fn test_field_start_ip() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).start_ip) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(start_ip)
            )
        );
    }
    test_field_start_ip();
    fn test_field_end_ip() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).end_ip) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(end_ip)
            )
        );
    }
    test_field_end_ip();
    fn test_field_lsda() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).lsda) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(lsda)
            )
        );
    }
    test_field_lsda();
    fn test_field_handler() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).handler) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(handler)
            )
        );
    }
    test_field_handler();
    fn test_field_gp() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).gp) as usize - ptr as usize
            },
            32usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(gp)
            )
        );
    }
    test_field_gp();
    fn test_field_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
            },
            40usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(flags)
            )
        );
    }
    test_field_flags();
    fn test_field_format() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize
            },
            48usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(format)
            )
        );
    }
    test_field_format();
    fn test_field_unwind_info_size() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).unwind_info_size) as usize - ptr as usize
            },
            52usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(unwind_info_size)
            )
        );
    }
    test_field_unwind_info_size();
    fn test_field_unwind_info() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).unwind_info) as usize - ptr as usize
            },
            56usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(unwind_info)
            )
        );
    }
    test_field_unwind_info();
    fn test_field_extra() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).extra) as usize - ptr as usize
            },
            64usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_proc_info),
                "::",
                stringify!(extra)
            )
        );
    }
    test_field_extra();
}
pub type unw_proc_info_t = unw_proc_info;
pub type unw_reg_states_callback = ::std::option::Option<
    unsafe extern "C" fn(
        token: *mut ::std::os::raw::c_void,
        reg_states_data: *mut ::std::os::raw::c_void,
        reg_states_data_size: size_t,
        start_ip: unw_word_t,
        end_ip: unw_word_t,
    ) -> ::std::os::raw::c_int,
>;
#[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>(),
        64usize,
        concat!("Size of: ", stringify!(unw_accessors))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_accessors>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_accessors))
    );
    fn test_field_find_proc_info() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_accessors>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).find_proc_info) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_accessors),
                "::",
                stringify!(find_proc_info)
            )
        );
    }
    test_field_find_proc_info();
    fn test_field_put_unwind_info() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_accessors>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).put_unwind_info) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_accessors),
                "::",
                stringify!(put_unwind_info)
            )
        );
    }
    test_field_put_unwind_info();
    fn test_field_get_dyn_info_list_addr() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_accessors>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).get_dyn_info_list_addr) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_accessors),
                "::",
                stringify!(get_dyn_info_list_addr)
            )
        );
    }
    test_field_get_dyn_info_list_addr();
    fn test_field_access_mem() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_accessors>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).access_mem) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_accessors),
                "::",
                stringify!(access_mem)
            )
        );
    }
    test_field_access_mem();
    fn test_field_access_reg() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_accessors>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).access_reg) as usize - ptr as usize
            },
            32usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_accessors),
                "::",
                stringify!(access_reg)
            )
        );
    }
    test_field_access_reg();
    fn test_field_access_fpreg() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_accessors>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).access_fpreg) as usize - ptr as usize
            },
            40usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_accessors),
                "::",
                stringify!(access_fpreg)
            )
        );
    }
    test_field_access_fpreg();
    fn test_field_resume() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_accessors>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).resume) as usize - ptr as usize
            },
            48usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_accessors),
                "::",
                stringify!(resume)
            )
        );
    }
    test_field_resume();
    fn test_field_get_proc_name() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_accessors>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).get_proc_name) as usize - ptr as usize
            },
            56usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_accessors),
                "::",
                stringify!(get_proc_name)
            )
        );
    }
    test_field_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,
}
#[test]
fn bindgen_test_layout_unw_save_loc__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<unw_save_loc__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(unw_save_loc__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_save_loc__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_save_loc__bindgen_ty_1))
    );
    fn test_field_addr() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_save_loc__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_save_loc__bindgen_ty_1),
                "::",
                stringify!(addr)
            )
        );
    }
    test_field_addr();
    fn test_field_regnum() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_save_loc__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).regnum) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_save_loc__bindgen_ty_1),
                "::",
                stringify!(regnum)
            )
        );
    }
    test_field_regnum();
}
#[test]
fn bindgen_test_layout_unw_save_loc() {
    assert_eq!(
        ::std::mem::size_of::<unw_save_loc>(),
        16usize,
        concat!("Size of: ", stringify!(unw_save_loc))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_save_loc>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_save_loc))
    );
    fn test_field_type() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_save_loc>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_save_loc),
                "::",
                stringify!(type_)
            )
        );
    }
    test_field_type();
    fn test_field_u() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_save_loc>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_save_loc),
                "::",
                stringify!(u)
            )
        );
    }
    test_field_u();
    fn test_field_extra() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_save_loc>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).extra) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_save_loc),
                "::",
                stringify!(extra)
            )
        );
    }
    test_field_extra();
}
pub type unw_save_loc_t = unw_save_loc;
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>(),
        16usize,
        concat!("Size of: ", stringify!(unw_dyn_op))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_dyn_op>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_dyn_op))
    );
    fn test_field_tag() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_op),
                "::",
                stringify!(tag)
            )
        );
    }
    test_field_tag();
    fn test_field_qp() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).qp) as usize - ptr as usize
            },
            1usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_op),
                "::",
                stringify!(qp)
            )
        );
    }
    test_field_qp();
    fn test_field_reg() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).reg) as usize - ptr as usize
            },
            2usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_op),
                "::",
                stringify!(reg)
            )
        );
    }
    test_field_reg();
    fn test_field_when() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).when) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_op),
                "::",
                stringify!(when)
            )
        );
    }
    test_field_when();
    fn test_field_val() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_op>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_op),
                "::",
                stringify!(val)
            )
        );
    }
    test_field_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>(),
        32usize,
        concat!("Size of: ", stringify!(unw_dyn_region_info))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_dyn_region_info>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_dyn_region_info))
    );
    fn test_field_next() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_region_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_region_info),
                "::",
                stringify!(next)
            )
        );
    }
    test_field_next();
    fn test_field_insn_count() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_region_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).insn_count) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_region_info),
                "::",
                stringify!(insn_count)
            )
        );
    }
    test_field_insn_count();
    fn test_field_op_count() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_region_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).op_count) as usize - ptr as usize
            },
            12usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_region_info),
                "::",
                stringify!(op_count)
            )
        );
    }
    test_field_op_count();
    fn test_field_op() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_region_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).op) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_region_info),
                "::",
                stringify!(op)
            )
        );
    }
    test_field_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>(),
        32usize,
        concat!("Size of: ", stringify!(unw_dyn_proc_info))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_dyn_proc_info>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_dyn_proc_info))
    );
    fn test_field_name_ptr() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).name_ptr) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_proc_info),
                "::",
                stringify!(name_ptr)
            )
        );
    }
    test_field_name_ptr();
    fn test_field_handler() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).handler) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_proc_info),
                "::",
                stringify!(handler)
            )
        );
    }
    test_field_handler();
    fn test_field_flags() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_proc_info),
                "::",
                stringify!(flags)
            )
        );
    }
    test_field_flags();
    fn test_field_pad0() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).pad0) as usize - ptr as usize
            },
            20usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_proc_info),
                "::",
                stringify!(pad0)
            )
        );
    }
    test_field_pad0();
    fn test_field_regions() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_proc_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).regions) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_proc_info),
                "::",
                stringify!(regions)
            )
        );
    }
    test_field_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>(),
        32usize,
        concat!("Size of: ", stringify!(unw_dyn_table_info))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_dyn_table_info>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_dyn_table_info))
    );
    fn test_field_name_ptr() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_table_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).name_ptr) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_table_info),
                "::",
                stringify!(name_ptr)
            )
        );
    }
    test_field_name_ptr();
    fn test_field_segbase() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_table_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).segbase) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_table_info),
                "::",
                stringify!(segbase)
            )
        );
    }
    test_field_segbase();
    fn test_field_table_len() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_table_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).table_len) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_table_info),
                "::",
                stringify!(table_len)
            )
        );
    }
    test_field_table_len();
    fn test_field_table_data() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_table_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).table_data) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_table_info),
                "::",
                stringify!(table_data)
            )
        );
    }
    test_field_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>(),
        32usize,
        concat!("Size of: ", stringify!(unw_dyn_remote_table_info))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_dyn_remote_table_info>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_dyn_remote_table_info))
    );
    fn test_field_name_ptr() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_remote_table_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).name_ptr) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_remote_table_info),
                "::",
                stringify!(name_ptr)
            )
        );
    }
    test_field_name_ptr();
    fn test_field_segbase() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_remote_table_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).segbase) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_remote_table_info),
                "::",
                stringify!(segbase)
            )
        );
    }
    test_field_segbase();
    fn test_field_table_len() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_remote_table_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).table_len) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_remote_table_info),
                "::",
                stringify!(table_len)
            )
        );
    }
    test_field_table_len();
    fn test_field_table_data() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_remote_table_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).table_data) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_remote_table_info),
                "::",
                stringify!(table_data)
            )
        );
    }
    test_field_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 load_offset: unw_word_t,
    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,
}
#[test]
fn bindgen_test_layout_unw_dyn_info__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<unw_dyn_info__bindgen_ty_1>(),
        32usize,
        concat!("Size of: ", stringify!(unw_dyn_info__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_dyn_info__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_dyn_info__bindgen_ty_1))
    );
    fn test_field_pi() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).pi) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info__bindgen_ty_1),
                "::",
                stringify!(pi)
            )
        );
    }
    test_field_pi();
    fn test_field_ti() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).ti) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info__bindgen_ty_1),
                "::",
                stringify!(ti)
            )
        );
    }
    test_field_ti();
    fn test_field_rti() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info__bindgen_ty_1>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).rti) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info__bindgen_ty_1),
                "::",
                stringify!(rti)
            )
        );
    }
    test_field_rti();
}
#[test]
fn bindgen_test_layout_unw_dyn_info() {
    assert_eq!(
        ::std::mem::size_of::<unw_dyn_info>(),
        88usize,
        concat!("Size of: ", stringify!(unw_dyn_info))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_dyn_info>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_dyn_info))
    );
    fn test_field_next() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(next)
            )
        );
    }
    test_field_next();
    fn test_field_prev() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(prev)
            )
        );
    }
    test_field_prev();
    fn test_field_start_ip() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).start_ip) as usize - ptr as usize
            },
            16usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(start_ip)
            )
        );
    }
    test_field_start_ip();
    fn test_field_end_ip() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).end_ip) as usize - ptr as usize
            },
            24usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(end_ip)
            )
        );
    }
    test_field_end_ip();
    fn test_field_gp() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).gp) as usize - ptr as usize
            },
            32usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(gp)
            )
        );
    }
    test_field_gp();
    fn test_field_format() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize
            },
            40usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(format)
            )
        );
    }
    test_field_format();
    fn test_field_pad() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize
            },
            44usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(pad)
            )
        );
    }
    test_field_pad();
    fn test_field_load_offset() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).load_offset) as usize - ptr as usize
            },
            48usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(load_offset)
            )
        );
    }
    test_field_load_offset();
    fn test_field_u() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize
            },
            56usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info),
                "::",
                stringify!(u)
            )
        );
    }
    test_field_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>(),
        16usize,
        concat!("Size of: ", stringify!(unw_dyn_info_list))
    );
    assert_eq!(
        ::std::mem::align_of::<unw_dyn_info_list>(),
        8usize,
        concat!("Alignment of ", stringify!(unw_dyn_info_list))
    );
    fn test_field_version() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info_list>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize
            },
            0usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info_list),
                "::",
                stringify!(version)
            )
        );
    }
    test_field_version();
    fn test_field_generation() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info_list>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).generation) as usize - ptr as usize
            },
            4usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info_list),
                "::",
                stringify!(generation)
            )
        );
    }
    test_field_generation();
    fn test_field_first() {
        assert_eq!(
            unsafe {
                let uninit = ::std::mem::MaybeUninit::<unw_dyn_info_list>::uninit();
                let ptr = uninit.as_ptr();
                ::std::ptr::addr_of!((*ptr).first) as usize - ptr as usize
            },
            8usize,
            concat!(
                "Offset of field: ",
                stringify!(unw_dyn_info_list),
                "::",
                stringify!(first)
            )
        );
    }
    test_field_first();
}
pub type unw_dyn_info_list_t = unw_dyn_info_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ucontext {
    pub _address: u8,
}
