libdw-sys 0.1.0

Bindings to elfutils
Documentation
/* automatically generated by rust-bindgen 0.59.2 */

#![allow(bad_style)]
use ::libc::{pid_t, size_t, ssize_t, FILE};
use ::libelf_sys::*;

#[repr(C)]
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
impl<T> __BindgenUnionField<T> {
    #[inline]
    pub const fn new() -> Self {
        __BindgenUnionField(::std::marker::PhantomData)
    }
    #[inline]
    pub unsafe fn as_ref(&self) -> &T {
        ::std::mem::transmute(self)
    }
    #[inline]
    pub unsafe fn as_mut(&mut self) -> &mut T {
        ::std::mem::transmute(self)
    }
}
impl<T> ::std::default::Default for __BindgenUnionField<T> {
    #[inline]
    fn default() -> Self {
        Self::new()
    }
}
impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
    #[inline]
    fn clone(&self) -> Self {
        Self::new()
    }
}
impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        fmt.write_str("__BindgenUnionField")
    }
}
impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
    fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
}
impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
    fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
        true
    }
}
impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
pub const DWARF_GETMACROS_START: i64 = -9223372036854775808;
pub const DW_AT_subscr_data: u32 = 10;
pub const DW_AT_element_list: u32 = 15;
pub const DW_AT_member: u32 = 20;
pub const DW_ADDR_none: u32 = 0;
pub mod Dwarf_Cmd {
    pub type Type = ::libc::c_uint;
    pub const DWARF_C_READ: Type = 0;
    pub const DWARF_C_RDWR: Type = 1;
    pub const DWARF_C_WRITE: Type = 2;
}
pub const DWARF_CB_OK: ::libc::c_uint = 0;
pub const DWARF_CB_ABORT: ::libc::c_uint = 1;
pub type _bindgen_ty_4 = ::libc::c_uint;
pub const DW_TAG_invalid: ::libc::c_uint = 0;
pub type _bindgen_ty_5 = ::libc::c_uint;
pub type Dwarf_Off = GElf_Off;
pub type Dwarf_Addr = GElf_Addr;
pub type Dwarf_Word = GElf_Xword;
pub type Dwarf_Sword = GElf_Sxword;
pub type Dwarf_Half = GElf_Half;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Abbrev {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Lines_s {
    _unused: [u8; 0],
}
pub type Dwarf_Lines = Dwarf_Lines_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Line_s {
    _unused: [u8; 0],
}
pub type Dwarf_Line = Dwarf_Line_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Files_s {
    _unused: [u8; 0],
}
pub type Dwarf_Files = Dwarf_Files_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Arange_s {
    _unused: [u8; 0],
}
pub type Dwarf_Arange = Dwarf_Arange_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Aranges_s {
    _unused: [u8; 0],
}
pub type Dwarf_Aranges = Dwarf_Aranges_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_CU {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Macro_s {
    _unused: [u8; 0],
}
pub type Dwarf_Macro = Dwarf_Macro_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Attribute {
    pub code: ::libc::c_uint,
    pub form: ::libc::c_uint,
    pub valp: *mut ::libc::c_uchar,
    pub cu: *mut Dwarf_CU,
}
#[test]
fn bindgen_test_layout_Dwarf_Attribute() {
    assert_eq!(
        ::std::mem::size_of::<Dwarf_Attribute>(),
        24usize,
        concat!("Size of: ", stringify!(Dwarf_Attribute))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwarf_Attribute>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwarf_Attribute))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Attribute>())).code as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Attribute),
            "::",
            stringify!(code)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Attribute>())).form as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Attribute),
            "::",
            stringify!(form)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Attribute>())).valp as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Attribute),
            "::",
            stringify!(valp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Attribute>())).cu as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Attribute),
            "::",
            stringify!(cu)
        )
    );
}
#[repr(C)]
pub struct Dwarf_Block {
    pub length: Dwarf_Word,
    pub data: *mut ::libc::c_uchar,
}
#[test]
fn bindgen_test_layout_Dwarf_Block() {
    assert_eq!(
        ::std::mem::size_of::<Dwarf_Block>(),
        16usize,
        concat!("Size of: ", stringify!(Dwarf_Block))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwarf_Block>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwarf_Block))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Block>())).length as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Block),
            "::",
            stringify!(length)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Block>())).data as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Block),
            "::",
            stringify!(data)
        )
    );
}
impl ::std::fmt::Debug for Dwarf_Block {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        write!(f, "Dwarf_Block {{ data: {:?} }}", self.data)
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Die {
    pub addr: *mut ::libc::c_void,
    pub cu: *mut Dwarf_CU,
    pub abbrev: *mut Dwarf_Abbrev,
    pub padding__: ::libc::c_long,
}
#[test]
fn bindgen_test_layout_Dwarf_Die() {
    assert_eq!(
        ::std::mem::size_of::<Dwarf_Die>(),
        32usize,
        concat!("Size of: ", stringify!(Dwarf_Die))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwarf_Die>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwarf_Die))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Die>())).addr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Die),
            "::",
            stringify!(addr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Die>())).cu as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Die),
            "::",
            stringify!(cu)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Die>())).abbrev as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Die),
            "::",
            stringify!(abbrev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Die>())).padding__ as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Die),
            "::",
            stringify!(padding__)
        )
    );
}
#[repr(C)]
pub struct Dwarf_Global {
    pub cu_offset: Dwarf_Off,
    pub die_offset: Dwarf_Off,
    pub name: *const ::libc::c_char,
}
#[test]
fn bindgen_test_layout_Dwarf_Global() {
    assert_eq!(
        ::std::mem::size_of::<Dwarf_Global>(),
        24usize,
        concat!("Size of: ", stringify!(Dwarf_Global))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwarf_Global>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwarf_Global))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Global>())).cu_offset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Global),
            "::",
            stringify!(cu_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Global>())).die_offset as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Global),
            "::",
            stringify!(die_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Global>())).name as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Global),
            "::",
            stringify!(name)
        )
    );
}
impl ::std::fmt::Debug for Dwarf_Global {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        write!(f, "Dwarf_Global {{ name: {:?} }}", self.name)
    }
}
#[repr(C)]
pub struct Dwarf_Op {
    pub atom: u8,
    pub number: Dwarf_Word,
    pub number2: Dwarf_Word,
    pub offset: Dwarf_Word,
}
#[test]
fn bindgen_test_layout_Dwarf_Op() {
    assert_eq!(
        ::std::mem::size_of::<Dwarf_Op>(),
        32usize,
        concat!("Size of: ", stringify!(Dwarf_Op))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwarf_Op>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwarf_Op))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Op>())).atom as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Op),
            "::",
            stringify!(atom)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Op>())).number as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Op),
            "::",
            stringify!(number)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Op>())).number2 as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Op),
            "::",
            stringify!(number2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_Op>())).offset as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_Op),
            "::",
            stringify!(offset)
        )
    );
}
impl ::std::fmt::Debug for Dwarf_Op {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        write!(f, "Dwarf_Op {{  }}")
    }
}
#[repr(C)]
pub struct Dwarf_CIE {
    pub CIE_id: Dwarf_Off,
    pub initial_instructions: *const u8,
    pub initial_instructions_end: *const u8,
    pub code_alignment_factor: Dwarf_Word,
    pub data_alignment_factor: Dwarf_Sword,
    pub return_address_register: Dwarf_Word,
    pub augmentation: *const ::libc::c_char,
    pub augmentation_data: *const u8,
    pub augmentation_data_size: size_t,
    pub fde_augmentation_data_size: size_t,
}
#[test]
fn bindgen_test_layout_Dwarf_CIE() {
    assert_eq!(
        ::std::mem::size_of::<Dwarf_CIE>(),
        80usize,
        concat!("Size of: ", stringify!(Dwarf_CIE))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwarf_CIE>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwarf_CIE))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CIE>())).CIE_id as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(CIE_id)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CIE>())).initial_instructions as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(initial_instructions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwarf_CIE>())).initial_instructions_end as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(initial_instructions_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CIE>())).code_alignment_factor as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(code_alignment_factor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CIE>())).data_alignment_factor as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(data_alignment_factor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwarf_CIE>())).return_address_register as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(return_address_register)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CIE>())).augmentation as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(augmentation)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CIE>())).augmentation_data as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(augmentation_data)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwarf_CIE>())).augmentation_data_size as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(augmentation_data_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwarf_CIE>())).fde_augmentation_data_size as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CIE),
            "::",
            stringify!(fde_augmentation_data_size)
        )
    );
}
impl ::std::fmt::Debug for Dwarf_CIE {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        write ! (f , "Dwarf_CIE {{ initial_instructions: {:?}, initial_instructions_end: {:?}, augmentation: {:?}, augmentation_data: {:?} }}" , self . initial_instructions , self . initial_instructions_end , self . augmentation , self . augmentation_data)
    }
}
#[repr(C)]
pub struct Dwarf_FDE {
    pub CIE_pointer: Dwarf_Off,
    pub start: *const u8,
    pub end: *const u8,
}
#[test]
fn bindgen_test_layout_Dwarf_FDE() {
    assert_eq!(
        ::std::mem::size_of::<Dwarf_FDE>(),
        24usize,
        concat!("Size of: ", stringify!(Dwarf_FDE))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwarf_FDE>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwarf_FDE))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_FDE>())).CIE_pointer as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_FDE),
            "::",
            stringify!(CIE_pointer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_FDE>())).start as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_FDE),
            "::",
            stringify!(start)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_FDE>())).end as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_FDE),
            "::",
            stringify!(end)
        )
    );
}
impl ::std::fmt::Debug for Dwarf_FDE {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        write!(
            f,
            "Dwarf_FDE {{ start: {:?}, end: {:?} }}",
            self.start, self.end
        )
    }
}
#[repr(C)]
pub struct Dwarf_CFI_Entry {
    pub CIE_id: __BindgenUnionField<Dwarf_Off>,
    pub cie: __BindgenUnionField<Dwarf_CIE>,
    pub fde: __BindgenUnionField<Dwarf_FDE>,
    pub bindgen_union_field: [u64; 10usize],
}
#[test]
fn bindgen_test_layout_Dwarf_CFI_Entry() {
    assert_eq!(
        ::std::mem::size_of::<Dwarf_CFI_Entry>(),
        80usize,
        concat!("Size of: ", stringify!(Dwarf_CFI_Entry))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwarf_CFI_Entry>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwarf_CFI_Entry))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CFI_Entry>())).CIE_id as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CFI_Entry),
            "::",
            stringify!(CIE_id)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CFI_Entry>())).cie as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CFI_Entry),
            "::",
            stringify!(cie)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwarf_CFI_Entry>())).fde as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwarf_CFI_Entry),
            "::",
            stringify!(fde)
        )
    );
}
impl ::std::fmt::Debug for Dwarf_CFI_Entry {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        write!(f, "Dwarf_CFI_Entry {{ union }}")
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_Frame_s {
    _unused: [u8; 0],
}
pub type Dwarf_Frame = Dwarf_Frame_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf_CFI_s {
    _unused: [u8; 0],
}
pub type Dwarf_CFI = Dwarf_CFI_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwarf {
    _unused: [u8; 0],
}
pub type Dwarf_OOM = ::std::option::Option<unsafe extern "C" fn()>;
extern "C" {
    pub fn dwarf_begin(fildes: ::libc::c_int, cmd: Dwarf_Cmd::Type) -> *mut Dwarf;
}
extern "C" {
    pub fn dwarf_begin_elf(elf: *mut Elf, cmd: Dwarf_Cmd::Type, scngrp: *mut Elf_Scn)
        -> *mut Dwarf;
}
extern "C" {
    pub fn dwarf_getelf(dwarf: *mut Dwarf) -> *mut Elf;
}
extern "C" {
    pub fn dwarf_cu_getdwarf(cu: *mut Dwarf_CU) -> *mut Dwarf;
}
extern "C" {
    pub fn dwarf_getalt(main: *mut Dwarf) -> *mut Dwarf;
}
extern "C" {
    pub fn dwarf_setalt(main: *mut Dwarf, alt: *mut Dwarf);
}
extern "C" {
    pub fn dwarf_end(dwarf: *mut Dwarf) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_nextcu(
        dwarf: *mut Dwarf,
        off: Dwarf_Off,
        next_off: *mut Dwarf_Off,
        header_sizep: *mut size_t,
        abbrev_offsetp: *mut Dwarf_Off,
        address_sizep: *mut u8,
        offset_sizep: *mut u8,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_next_unit(
        dwarf: *mut Dwarf,
        off: Dwarf_Off,
        next_off: *mut Dwarf_Off,
        header_sizep: *mut size_t,
        versionp: *mut Dwarf_Half,
        abbrev_offsetp: *mut Dwarf_Off,
        address_sizep: *mut u8,
        offset_sizep: *mut u8,
        type_signaturep: *mut u64,
        type_offsetp: *mut Dwarf_Off,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_get_units(
        dwarf: *mut Dwarf,
        cu: *mut Dwarf_CU,
        next_cu: *mut *mut Dwarf_CU,
        version: *mut Dwarf_Half,
        unit_type: *mut u8,
        cudie: *mut Dwarf_Die,
        subdie: *mut Dwarf_Die,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_cu_info(
        cu: *mut Dwarf_CU,
        version: *mut Dwarf_Half,
        unit_type: *mut u8,
        cudie: *mut Dwarf_Die,
        subdie: *mut Dwarf_Die,
        unit_id: *mut u64,
        address_size: *mut u8,
        offset_size: *mut u8,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_next_cfi(
        e_ident: *const ::libc::c_uchar,
        data: *mut Elf_Data,
        eh_frame_p: bool,
        offset: Dwarf_Off,
        next_offset: *mut Dwarf_Off,
        entry: *mut Dwarf_CFI_Entry,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getcfi(dwarf: *mut Dwarf) -> *mut Dwarf_CFI;
}
extern "C" {
    pub fn dwarf_getcfi_elf(elf: *mut Elf) -> *mut Dwarf_CFI;
}
extern "C" {
    pub fn dwarf_cfi_end(cache: *mut Dwarf_CFI) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_offdie(
        dbg: *mut Dwarf,
        offset: Dwarf_Off,
        result: *mut Dwarf_Die,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwarf_offdie_types(
        dbg: *mut Dwarf,
        offset: Dwarf_Off,
        result: *mut Dwarf_Die,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwarf_dieoffset(die: *mut Dwarf_Die) -> Dwarf_Off;
}
extern "C" {
    pub fn dwarf_cuoffset(die: *mut Dwarf_Die) -> Dwarf_Off;
}
extern "C" {
    pub fn dwarf_diecu(
        die: *mut Dwarf_Die,
        result: *mut Dwarf_Die,
        address_sizep: *mut u8,
        offset_sizep: *mut u8,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwarf_die_addr_die(
        dbg: *mut Dwarf,
        addr: *mut ::libc::c_void,
        result: *mut Dwarf_Die,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwarf_cu_die(
        cu: *mut Dwarf_CU,
        result: *mut Dwarf_Die,
        versionp: *mut Dwarf_Half,
        abbrev_offsetp: *mut Dwarf_Off,
        address_sizep: *mut u8,
        offset_sizep: *mut u8,
        type_signaturep: *mut u64,
        type_offsetp: *mut Dwarf_Off,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwarf_addrdie(
        dbg: *mut Dwarf,
        addr: Dwarf_Addr,
        result: *mut Dwarf_Die,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwarf_child(die: *mut Dwarf_Die, result: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_siblingof(die: *mut Dwarf_Die, result: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_peel_type(die: *mut Dwarf_Die, result: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_haschildren(die: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getattrs(
        die: *mut Dwarf_Die,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Dwarf_Attribute,
                arg2: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
        offset: isize,
    ) -> isize;
}
extern "C" {
    pub fn dwarf_tag(die: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_attr(
        die: *mut Dwarf_Die,
        search_name: ::libc::c_uint,
        result: *mut Dwarf_Attribute,
    ) -> *mut Dwarf_Attribute;
}
extern "C" {
    pub fn dwarf_hasattr(die: *mut Dwarf_Die, search_name: ::libc::c_uint) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_attr_integrate(
        die: *mut Dwarf_Die,
        search_name: ::libc::c_uint,
        result: *mut Dwarf_Attribute,
    ) -> *mut Dwarf_Attribute;
}
extern "C" {
    pub fn dwarf_hasattr_integrate(
        die: *mut Dwarf_Die,
        search_name: ::libc::c_uint,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_hasform(attr: *mut Dwarf_Attribute, search_form: ::libc::c_uint) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_whatattr(attr: *mut Dwarf_Attribute) -> ::libc::c_uint;
}
extern "C" {
    pub fn dwarf_whatform(attr: *mut Dwarf_Attribute) -> ::libc::c_uint;
}
extern "C" {
    pub fn dwarf_formstring(attrp: *mut Dwarf_Attribute) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwarf_formudata(
        attr: *mut Dwarf_Attribute,
        return_uval: *mut Dwarf_Word,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_formsdata(
        attr: *mut Dwarf_Attribute,
        return_uval: *mut Dwarf_Sword,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_formaddr(
        attr: *mut Dwarf_Attribute,
        return_addr: *mut Dwarf_Addr,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_formref(
        attr: *mut Dwarf_Attribute,
        return_offset: *mut Dwarf_Off,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_formref_die(attr: *mut Dwarf_Attribute, die_mem: *mut Dwarf_Die)
        -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwarf_formblock(
        attr: *mut Dwarf_Attribute,
        return_block: *mut Dwarf_Block,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_formflag(attr: *mut Dwarf_Attribute, return_bool: *mut bool) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_diename(die: *mut Dwarf_Die) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwarf_highpc(die: *mut Dwarf_Die, return_addr: *mut Dwarf_Addr) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lowpc(die: *mut Dwarf_Die, return_addr: *mut Dwarf_Addr) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_entrypc(die: *mut Dwarf_Die, return_addr: *mut Dwarf_Addr) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_haspc(die: *mut Dwarf_Die, pc: Dwarf_Addr) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_ranges(
        die: *mut Dwarf_Die,
        offset: isize,
        basep: *mut Dwarf_Addr,
        startp: *mut Dwarf_Addr,
        endp: *mut Dwarf_Addr,
    ) -> isize;
}
extern "C" {
    pub fn dwarf_bytesize(die: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_bitsize(die: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_bitoffset(die: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_arrayorder(die: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_srclang(die: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getabbrev(
        die: *mut Dwarf_Die,
        offset: Dwarf_Off,
        lengthp: *mut size_t,
    ) -> *mut Dwarf_Abbrev;
}
extern "C" {
    pub fn dwarf_offabbrev(
        dbg: *mut Dwarf,
        offset: Dwarf_Off,
        lengthp: *mut size_t,
        abbrevp: *mut Dwarf_Abbrev,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getabbrevcode(abbrev: *mut Dwarf_Abbrev) -> ::libc::c_uint;
}
extern "C" {
    pub fn dwarf_getabbrevtag(abbrev: *mut Dwarf_Abbrev) -> ::libc::c_uint;
}
extern "C" {
    pub fn dwarf_abbrevhaschildren(abbrev: *mut Dwarf_Abbrev) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getattrcnt(abbrev: *mut Dwarf_Abbrev, attrcntp: *mut size_t) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getabbrevattr(
        abbrev: *mut Dwarf_Abbrev,
        idx: size_t,
        namep: *mut ::libc::c_uint,
        formp: *mut ::libc::c_uint,
        offset: *mut Dwarf_Off,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getabbrevattr_data(
        abbrev: *mut Dwarf_Abbrev,
        idx: size_t,
        namep: *mut ::libc::c_uint,
        formp: *mut ::libc::c_uint,
        datap: *mut Dwarf_Sword,
        offset: *mut Dwarf_Off,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getstring(
        dbg: *mut Dwarf,
        offset: Dwarf_Off,
        lenp: *mut size_t,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwarf_getpubnames(
        dbg: *mut Dwarf,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Dwarf,
                arg2: *mut Dwarf_Global,
                arg3: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
        offset: isize,
    ) -> isize;
}
extern "C" {
    pub fn dwarf_getsrclines(
        cudie: *mut Dwarf_Die,
        lines: *mut *mut Dwarf_Lines,
        nlines: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_onesrcline(lines: *mut Dwarf_Lines, idx: size_t) -> *mut Dwarf_Line;
}
extern "C" {
    pub fn dwarf_getsrcfiles(
        cudie: *mut Dwarf_Die,
        files: *mut *mut Dwarf_Files,
        nfiles: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getsrc_die(cudie: *mut Dwarf_Die, addr: Dwarf_Addr) -> *mut Dwarf_Line;
}
extern "C" {
    pub fn dwarf_getsrc_file(
        dbg: *mut Dwarf,
        fname: *const ::libc::c_char,
        line: ::libc::c_int,
        col: ::libc::c_int,
        srcsp: *mut *mut *mut Dwarf_Line,
        nsrcs: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lineaddr(line: *mut Dwarf_Line, addrp: *mut Dwarf_Addr) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lineop_index(
        line: *mut Dwarf_Line,
        op_indexp: *mut ::libc::c_uint,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lineno(line: *mut Dwarf_Line, linep: *mut ::libc::c_int) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_linecol(line: *mut Dwarf_Line, colp: *mut ::libc::c_int) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_linebeginstatement(line: *mut Dwarf_Line, flagp: *mut bool) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lineendsequence(line: *mut Dwarf_Line, flagp: *mut bool) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lineblock(line: *mut Dwarf_Line, flagp: *mut bool) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lineprologueend(line: *mut Dwarf_Line, flagp: *mut bool) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lineepiloguebegin(line: *mut Dwarf_Line, flagp: *mut bool) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_lineisa(line: *mut Dwarf_Line, isap: *mut ::libc::c_uint) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_linediscriminator(
        line: *mut Dwarf_Line,
        discp: *mut ::libc::c_uint,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_linesrc(
        line: *mut Dwarf_Line,
        mtime: *mut Dwarf_Word,
        length: *mut Dwarf_Word,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwarf_linecontext(lines: *mut Dwarf_Lines, line: *mut Dwarf_Line) -> *mut Dwarf_Line;
}
extern "C" {
    pub fn dwarf_linefunctionname(dbg: *mut Dwarf, line: *mut Dwarf_Line) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwarf_filesrc(
        file: *mut Dwarf_Files,
        idx: size_t,
        mtime: *mut Dwarf_Word,
        length: *mut Dwarf_Word,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwarf_line_file(
        line: *mut Dwarf_Line,
        files: *mut *mut Dwarf_Files,
        idx: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getsrcdirs(
        files: *mut Dwarf_Files,
        result: *mut *const *const ::libc::c_char,
        ndirs: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_next_lines(
        dwarf: *mut Dwarf,
        off: Dwarf_Off,
        next_off: *mut Dwarf_Off,
        cu: *mut *mut Dwarf_CU,
        srcfiles: *mut *mut Dwarf_Files,
        nfiles: *mut size_t,
        srclines: *mut *mut Dwarf_Lines,
        nlines: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getlocation(
        attr: *mut Dwarf_Attribute,
        expr: *mut *mut Dwarf_Op,
        exprlen: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getlocation_addr(
        attr: *mut Dwarf_Attribute,
        address: Dwarf_Addr,
        exprs: *mut *mut Dwarf_Op,
        exprlens: *mut size_t,
        nlocs: size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getlocations(
        attr: *mut Dwarf_Attribute,
        offset: isize,
        basep: *mut Dwarf_Addr,
        startp: *mut Dwarf_Addr,
        endp: *mut Dwarf_Addr,
        expr: *mut *mut Dwarf_Op,
        exprlen: *mut size_t,
    ) -> isize;
}
extern "C" {
    pub fn dwarf_getlocation_implicit_value(
        attr: *mut Dwarf_Attribute,
        op: *const Dwarf_Op,
        return_block: *mut Dwarf_Block,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getlocation_implicit_pointer(
        attr: *mut Dwarf_Attribute,
        op: *const Dwarf_Op,
        result: *mut Dwarf_Attribute,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getlocation_die(
        attr: *mut Dwarf_Attribute,
        op: *const Dwarf_Op,
        result: *mut Dwarf_Die,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getlocation_attr(
        attr: *mut Dwarf_Attribute,
        op: *const Dwarf_Op,
        result: *mut Dwarf_Attribute,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_aggregate_size(die: *mut Dwarf_Die, size: *mut Dwarf_Word) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_default_lower_bound(
        lang: ::libc::c_int,
        result: *mut Dwarf_Sword,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getscopes(
        cudie: *mut Dwarf_Die,
        pc: Dwarf_Addr,
        scopes: *mut *mut Dwarf_Die,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getscopes_die(die: *mut Dwarf_Die, scopes: *mut *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getscopevar(
        scopes: *mut Dwarf_Die,
        nscopes: ::libc::c_int,
        name: *const ::libc::c_char,
        skip_shadows: ::libc::c_int,
        match_file: *const ::libc::c_char,
        match_lineno: ::libc::c_int,
        match_linecol: ::libc::c_int,
        result: *mut Dwarf_Die,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getaranges(
        dbg: *mut Dwarf,
        aranges: *mut *mut Dwarf_Aranges,
        naranges: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_onearange(aranges: *mut Dwarf_Aranges, idx: size_t) -> *mut Dwarf_Arange;
}
extern "C" {
    pub fn dwarf_getarangeinfo(
        arange: *mut Dwarf_Arange,
        addrp: *mut Dwarf_Addr,
        lengthp: *mut Dwarf_Word,
        offsetp: *mut Dwarf_Off,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getarange_addr(aranges: *mut Dwarf_Aranges, addr: Dwarf_Addr)
        -> *mut Dwarf_Arange;
}
extern "C" {
    pub fn dwarf_getfuncs(
        cudie: *mut Dwarf_Die,
        callback: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut Dwarf_Die, arg2: *mut ::libc::c_void) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
        offset: isize,
    ) -> isize;
}
extern "C" {
    pub fn dwarf_decl_file(decl: *mut Dwarf_Die) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwarf_decl_line(decl: *mut Dwarf_Die, linep: *mut ::libc::c_int) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_decl_column(decl: *mut Dwarf_Die, colp: *mut ::libc::c_int) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_func_inline(func: *mut Dwarf_Die) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_func_inline_instances(
        func: *mut Dwarf_Die,
        callback: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut Dwarf_Die, arg2: *mut ::libc::c_void) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_entry_breakpoints(
        die: *mut Dwarf_Die,
        bkpts: *mut *mut Dwarf_Addr,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_getmacros(
        cudie: *mut Dwarf_Die,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Dwarf_Macro,
                arg2: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
        token: isize,
    ) -> isize;
}
extern "C" {
    pub fn dwarf_getmacros_off(
        dbg: *mut Dwarf,
        macoff: Dwarf_Off,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Dwarf_Macro,
                arg2: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
        token: isize,
    ) -> isize;
}
extern "C" {
    pub fn dwarf_macro_getsrcfiles(
        dbg: *mut Dwarf,
        macro_: *mut Dwarf_Macro,
        files: *mut *mut Dwarf_Files,
        nfiles: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_macro_opcode(
        macro_: *mut Dwarf_Macro,
        opcodep: *mut ::libc::c_uint,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_macro_getparamcnt(
        macro_: *mut Dwarf_Macro,
        paramcntp: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_macro_param(
        macro_: *mut Dwarf_Macro,
        idx: size_t,
        attribute: *mut Dwarf_Attribute,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_macro_param1(macro_: *mut Dwarf_Macro, paramp: *mut Dwarf_Word) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_macro_param2(
        macro_: *mut Dwarf_Macro,
        paramp: *mut Dwarf_Word,
        strp: *mut *const ::libc::c_char,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_cfi_addrframe(
        cache: *mut Dwarf_CFI,
        address: Dwarf_Addr,
        frame: *mut *mut Dwarf_Frame,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_frame_info(
        frame: *mut Dwarf_Frame,
        start: *mut Dwarf_Addr,
        end: *mut Dwarf_Addr,
        signalp: *mut bool,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_frame_cfa(
        frame: *mut Dwarf_Frame,
        ops: *mut *mut Dwarf_Op,
        nops: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_frame_register(
        frame: *mut Dwarf_Frame,
        regno: ::libc::c_int,
        ops_mem: *mut Dwarf_Op,
        ops: *mut *mut Dwarf_Op,
        nops: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_errno() -> ::libc::c_int;
}
extern "C" {
    pub fn dwarf_errmsg(err: ::libc::c_int) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwarf_new_oom_handler(dbg: *mut Dwarf, handler: Dwarf_OOM) -> Dwarf_OOM;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwfl {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwfl_Module {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwfl_Line {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwfl_Thread {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwfl_Frame {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwfl_Callbacks {
    pub find_elf: ::std::option::Option<
        unsafe extern "C" fn(
            mod_: *mut Dwfl_Module,
            userdata: *mut *mut ::libc::c_void,
            modname: *const ::libc::c_char,
            base: Dwarf_Addr,
            file_name: *mut *mut ::libc::c_char,
            elfp: *mut *mut Elf,
        ) -> ::libc::c_int,
    >,
    pub find_debuginfo: ::std::option::Option<
        unsafe extern "C" fn(
            mod_: *mut Dwfl_Module,
            userdata: *mut *mut ::libc::c_void,
            modname: *const ::libc::c_char,
            base: Dwarf_Addr,
            file_name: *const ::libc::c_char,
            debuglink_file: *const ::libc::c_char,
            debuglink_crc: GElf_Word,
            debuginfo_file_name: *mut *mut ::libc::c_char,
        ) -> ::libc::c_int,
    >,
    pub section_address: ::std::option::Option<
        unsafe extern "C" fn(
            mod_: *mut Dwfl_Module,
            userdata: *mut *mut ::libc::c_void,
            modname: *const ::libc::c_char,
            base: Dwarf_Addr,
            secname: *const ::libc::c_char,
            shndx: GElf_Word,
            shdr: *const GElf_Shdr,
            addr: *mut Dwarf_Addr,
        ) -> ::libc::c_int,
    >,
    pub debuginfo_path: *mut *mut ::libc::c_char,
}
#[test]
fn bindgen_test_layout_Dwfl_Callbacks() {
    assert_eq!(
        ::std::mem::size_of::<Dwfl_Callbacks>(),
        32usize,
        concat!("Size of: ", stringify!(Dwfl_Callbacks))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwfl_Callbacks>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwfl_Callbacks))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwfl_Callbacks>())).find_elf as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Callbacks),
            "::",
            stringify!(find_elf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwfl_Callbacks>())).find_debuginfo as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Callbacks),
            "::",
            stringify!(find_debuginfo)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwfl_Callbacks>())).section_address as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Callbacks),
            "::",
            stringify!(section_address)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwfl_Callbacks>())).debuginfo_path as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Callbacks),
            "::",
            stringify!(debuginfo_path)
        )
    );
}
extern "C" {
    pub fn dwfl_begin(callbacks: *const Dwfl_Callbacks) -> *mut Dwfl;
}
extern "C" {
    pub fn dwfl_end(arg1: *mut Dwfl);
}
extern "C" {
    pub fn dwfl_version(arg1: *mut Dwfl) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_errno() -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_errmsg(err: ::libc::c_int) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_report_begin(dwfl: *mut Dwfl);
}
extern "C" {
    pub fn dwfl_report_segment(
        dwfl: *mut Dwfl,
        ndx: ::libc::c_int,
        phdr: *const GElf_Phdr,
        bias: GElf_Addr,
        ident: *const ::libc::c_void,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_report_module(
        dwfl: *mut Dwfl,
        name: *const ::libc::c_char,
        start: Dwarf_Addr,
        end: Dwarf_Addr,
    ) -> *mut Dwfl_Module;
}
extern "C" {
    pub fn dwfl_report_elf(
        dwfl: *mut Dwfl,
        name: *const ::libc::c_char,
        file_name: *const ::libc::c_char,
        fd: ::libc::c_int,
        base: GElf_Addr,
        add_p_vaddr: bool,
    ) -> *mut Dwfl_Module;
}
extern "C" {
    pub fn dwfl_report_offline(
        dwfl: *mut Dwfl,
        name: *const ::libc::c_char,
        file_name: *const ::libc::c_char,
        fd: ::libc::c_int,
    ) -> *mut Dwfl_Module;
}
extern "C" {
    pub fn dwfl_report_end(
        dwfl: *mut Dwfl,
        removed: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Dwfl_Module,
                arg2: *mut ::libc::c_void,
                arg3: *const ::libc::c_char,
                arg4: Dwarf_Addr,
                arg: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_report_begin_add(dwfl: *mut Dwfl);
}
extern "C" {
    pub fn dwfl_module_info(
        mod_: *mut Dwfl_Module,
        userdata: *mut *mut *mut ::libc::c_void,
        start: *mut Dwarf_Addr,
        end: *mut Dwarf_Addr,
        dwbias: *mut Dwarf_Addr,
        symbias: *mut Dwarf_Addr,
        mainfile: *mut *const ::libc::c_char,
        debugfile: *mut *const ::libc::c_char,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_getmodules(
        dwfl: *mut Dwfl,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Dwfl_Module,
                arg2: *mut *mut ::libc::c_void,
                arg3: *const ::libc::c_char,
                arg4: Dwarf_Addr,
                arg: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
        offset: isize,
    ) -> isize;
}
extern "C" {
    pub fn dwfl_addrmodule(dwfl: *mut Dwfl, address: Dwarf_Addr) -> *mut Dwfl_Module;
}
extern "C" {
    pub fn dwfl_addrsegment(
        dwfl: *mut Dwfl,
        address: Dwarf_Addr,
        mod_: *mut *mut Dwfl_Module,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_module_report_build_id(
        mod_: *mut Dwfl_Module,
        bits: *const ::libc::c_uchar,
        len: size_t,
        vaddr: GElf_Addr,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_module_build_id(
        mod_: *mut Dwfl_Module,
        bits: *mut *const ::libc::c_uchar,
        vaddr: *mut GElf_Addr,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_build_id_find_elf(
        arg1: *mut Dwfl_Module,
        arg2: *mut *mut ::libc::c_void,
        arg3: *const ::libc::c_char,
        arg4: Dwarf_Addr,
        arg5: *mut *mut ::libc::c_char,
        arg6: *mut *mut Elf,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_build_id_find_debuginfo(
        arg1: *mut Dwfl_Module,
        arg2: *mut *mut ::libc::c_void,
        arg3: *const ::libc::c_char,
        arg4: Dwarf_Addr,
        arg5: *const ::libc::c_char,
        arg6: *const ::libc::c_char,
        arg7: GElf_Word,
        arg8: *mut *mut ::libc::c_char,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_standard_find_debuginfo(
        arg1: *mut Dwfl_Module,
        arg2: *mut *mut ::libc::c_void,
        arg3: *const ::libc::c_char,
        arg4: Dwarf_Addr,
        arg5: *const ::libc::c_char,
        arg6: *const ::libc::c_char,
        arg7: GElf_Word,
        arg8: *mut *mut ::libc::c_char,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_offline_section_address(
        arg1: *mut Dwfl_Module,
        arg2: *mut *mut ::libc::c_void,
        arg3: *const ::libc::c_char,
        arg4: Dwarf_Addr,
        arg5: *const ::libc::c_char,
        arg6: GElf_Word,
        arg7: *const GElf_Shdr,
        addr: *mut Dwarf_Addr,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_kernel_find_elf(
        arg1: *mut Dwfl_Module,
        arg2: *mut *mut ::libc::c_void,
        arg3: *const ::libc::c_char,
        arg4: Dwarf_Addr,
        arg5: *mut *mut ::libc::c_char,
        arg6: *mut *mut Elf,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_kernel_module_section_address(
        arg1: *mut Dwfl_Module,
        arg2: *mut *mut ::libc::c_void,
        arg3: *const ::libc::c_char,
        arg4: Dwarf_Addr,
        arg5: *const ::libc::c_char,
        arg6: GElf_Word,
        arg7: *const GElf_Shdr,
        addr: *mut Dwarf_Addr,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_kernel_report_kernel(dwfl: *mut Dwfl) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_kernel_report_modules(dwfl: *mut Dwfl) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_kernel_report_offline(
        dwfl: *mut Dwfl,
        release: *const ::libc::c_char,
        predicate: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *const ::libc::c_char,
                arg2: *const ::libc::c_char,
            ) -> ::libc::c_int,
        >,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_core_file_report(
        dwfl: *mut Dwfl,
        elf: *mut Elf,
        executable: *const ::libc::c_char,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_proc_report(dwfl: *mut Dwfl, pid: pid_t) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_proc_maps_report(dwfl: *mut Dwfl, arg1: *mut FILE) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_proc_find_elf(
        mod_: *mut Dwfl_Module,
        userdata: *mut *mut ::libc::c_void,
        module_name: *const ::libc::c_char,
        base: Dwarf_Addr,
        file_name: *mut *mut ::libc::c_char,
        arg1: *mut *mut Elf,
    ) -> ::libc::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct argp {
    _unused: [u8; 0],
}
extern "C" {
    pub fn dwfl_standard_argp() -> *const argp;
}
extern "C" {
    #[doc = " Relocation of addresses from Dwfl"]
    pub fn dwfl_module_relocations(mod_: *mut Dwfl_Module) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_module_relocate_address(
        mod_: *mut Dwfl_Module,
        address: *mut Dwarf_Addr,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_module_relocation_info(
        mod_: *mut Dwfl_Module,
        idx: ::libc::c_uint,
        shndxp: *mut GElf_Word,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_validate_address(
        dwfl: *mut Dwfl,
        address: Dwarf_Addr,
        offset: Dwarf_Sword,
    ) -> ::libc::c_int;
}
extern "C" {
    #[doc = " ELF access functions"]
    pub fn dwfl_module_getelf(arg1: *mut Dwfl_Module, bias: *mut GElf_Addr) -> *mut Elf;
}
extern "C" {
    pub fn dwfl_module_getsymtab(mod_: *mut Dwfl_Module) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_module_getsymtab_first_global(mod_: *mut Dwfl_Module) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_module_getsym(
        mod_: *mut Dwfl_Module,
        ndx: ::libc::c_int,
        sym: *mut GElf_Sym,
        shndxp: *mut GElf_Word,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_module_getsym_info(
        mod_: *mut Dwfl_Module,
        ndx: ::libc::c_int,
        sym: *mut GElf_Sym,
        addr: *mut GElf_Addr,
        shndxp: *mut GElf_Word,
        elfp: *mut *mut Elf,
        bias: *mut Dwarf_Addr,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_module_addrname(
        mod_: *mut Dwfl_Module,
        address: GElf_Addr,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_module_addrinfo(
        mod_: *mut Dwfl_Module,
        address: GElf_Addr,
        offset: *mut GElf_Off,
        sym: *mut GElf_Sym,
        shndxp: *mut GElf_Word,
        elfp: *mut *mut Elf,
        bias: *mut Dwarf_Addr,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_module_addrsym(
        mod_: *mut Dwfl_Module,
        address: GElf_Addr,
        sym: *mut GElf_Sym,
        shndxp: *mut GElf_Word,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_module_address_section(
        mod_: *mut Dwfl_Module,
        address: *mut Dwarf_Addr,
        bias: *mut Dwarf_Addr,
    ) -> *mut Elf_Scn;
}
extern "C" {
    #[doc = " Dwarf access functions"]
    pub fn dwfl_module_getdwarf(arg1: *mut Dwfl_Module, bias: *mut Dwarf_Addr) -> *mut Dwarf;
}
extern "C" {
    pub fn dwfl_getdwarf(
        arg1: *mut Dwfl,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Dwfl_Module,
                arg2: *mut *mut ::libc::c_void,
                arg3: *const ::libc::c_char,
                arg4: Dwarf_Addr,
                arg5: *mut Dwarf,
                arg6: Dwarf_Addr,
                arg7: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
        offset: isize,
    ) -> isize;
}
extern "C" {
    pub fn dwfl_addrdwarf(dwfl: *mut Dwfl, addr: Dwarf_Addr, bias: *mut Dwarf_Addr) -> *mut Dwarf;
}
extern "C" {
    pub fn dwfl_addrdie(dwfl: *mut Dwfl, addr: Dwarf_Addr, bias: *mut Dwarf_Addr)
        -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwfl_module_addrdie(
        mod_: *mut Dwfl_Module,
        addr: Dwarf_Addr,
        bias: *mut Dwarf_Addr,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwfl_nextcu(
        dwfl: *mut Dwfl,
        lastcu: *mut Dwarf_Die,
        bias: *mut Dwarf_Addr,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwfl_module_nextcu(
        mod_: *mut Dwfl_Module,
        lastcu: *mut Dwarf_Die,
        bias: *mut Dwarf_Addr,
    ) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwfl_cumodule(cudie: *mut Dwarf_Die) -> *mut Dwfl_Module;
}
extern "C" {
    pub fn dwfl_getsrclines(cudie: *mut Dwarf_Die, nlines: *mut size_t) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_onesrcline(cudie: *mut Dwarf_Die, idx: size_t) -> *mut Dwfl_Line;
}
extern "C" {
    pub fn dwfl_module_getsrc(mod_: *mut Dwfl_Module, addr: Dwarf_Addr) -> *mut Dwfl_Line;
}
extern "C" {
    pub fn dwfl_getsrc(dwfl: *mut Dwfl, addr: Dwarf_Addr) -> *mut Dwfl_Line;
}
extern "C" {
    pub fn dwfl_module_getsrc_file(
        mod_: *mut Dwfl_Module,
        fname: *const ::libc::c_char,
        lineno: ::libc::c_int,
        column: ::libc::c_int,
        srcsp: *mut *mut *mut Dwfl_Line,
        nsrcs: *mut size_t,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linemodule(line: *mut Dwfl_Line) -> *mut Dwfl_Module;
}
extern "C" {
    pub fn dwfl_linecu(line: *mut Dwfl_Line) -> *mut Dwarf_Die;
}
extern "C" {
    pub fn dwfl_lineinfo(
        line: *mut Dwfl_Line,
        addr: *mut Dwarf_Addr,
        linep: *mut ::libc::c_int,
        colp: *mut ::libc::c_int,
        mtime: *mut Dwarf_Word,
        length: *mut Dwarf_Word,
    ) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwfl_dwarf_line(line: *mut Dwfl_Line, bias: *mut Dwarf_Addr) -> *mut Dwarf_Line;
}
extern "C" {
    pub fn dwfl_line_comp_dir(line: *mut Dwfl_Line) -> *const ::libc::c_char;
}
extern "C" {
    #[doc = " Machine backend access functions"]
    pub fn dwfl_module_return_value_location(
        mod_: *mut Dwfl_Module,
        functypedie: *mut Dwarf_Die,
        locops: *mut *const Dwarf_Op,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_module_register_names(
        mod_: *mut Dwfl_Module,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                arg: *mut ::libc::c_void,
                regno: ::libc::c_int,
                setname: *const ::libc::c_char,
                prefix: *const ::libc::c_char,
                regname: *const ::libc::c_char,
                bits: ::libc::c_int,
                type_: ::libc::c_int,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_module_dwarf_cfi(mod_: *mut Dwfl_Module, bias: *mut Dwarf_Addr) -> *mut Dwarf_CFI;
}
extern "C" {
    pub fn dwfl_module_eh_cfi(mod_: *mut Dwfl_Module, bias: *mut Dwarf_Addr) -> *mut Dwarf_CFI;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwfl_Thread_Callbacks {
    pub next_thread: ::std::option::Option<
        unsafe extern "C" fn(
            dwfl: *mut Dwfl,
            dwfl_arg: *mut ::libc::c_void,
            thread_argp: *mut *mut ::libc::c_void,
        ) -> pid_t,
    >,
    pub get_thread: ::std::option::Option<
        unsafe extern "C" fn(
            dwfl: *mut Dwfl,
            tid: pid_t,
            dwfl_arg: *mut ::libc::c_void,
            thread_argp: *mut *mut ::libc::c_void,
        ) -> bool,
    >,
    pub memory_read: ::std::option::Option<
        unsafe extern "C" fn(
            dwfl: *mut Dwfl,
            addr: Dwarf_Addr,
            result: *mut Dwarf_Word,
            dwfl_arg: *mut ::libc::c_void,
        ) -> bool,
    >,
    pub set_initial_registers: ::std::option::Option<
        unsafe extern "C" fn(thread: *mut Dwfl_Thread, thread_arg: *mut ::libc::c_void) -> bool,
    >,
    pub detach:
        ::std::option::Option<unsafe extern "C" fn(dwfl: *mut Dwfl, dwfl_arg: *mut ::libc::c_void)>,
    pub thread_detach: ::std::option::Option<
        unsafe extern "C" fn(thread: *mut Dwfl_Thread, thread_arg: *mut ::libc::c_void),
    >,
}
#[test]
fn bindgen_test_layout_Dwfl_Thread_Callbacks() {
    assert_eq!(
        ::std::mem::size_of::<Dwfl_Thread_Callbacks>(),
        48usize,
        concat!("Size of: ", stringify!(Dwfl_Thread_Callbacks))
    );
    assert_eq!(
        ::std::mem::align_of::<Dwfl_Thread_Callbacks>(),
        8usize,
        concat!("Alignment of ", stringify!(Dwfl_Thread_Callbacks))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwfl_Thread_Callbacks>())).next_thread as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Thread_Callbacks),
            "::",
            stringify!(next_thread)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwfl_Thread_Callbacks>())).get_thread as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Thread_Callbacks),
            "::",
            stringify!(get_thread)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwfl_Thread_Callbacks>())).memory_read as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Thread_Callbacks),
            "::",
            stringify!(memory_read)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwfl_Thread_Callbacks>())).set_initial_registers as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Thread_Callbacks),
            "::",
            stringify!(set_initial_registers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Dwfl_Thread_Callbacks>())).detach as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Thread_Callbacks),
            "::",
            stringify!(detach)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<Dwfl_Thread_Callbacks>())).thread_detach as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(Dwfl_Thread_Callbacks),
            "::",
            stringify!(thread_detach)
        )
    );
}
extern "C" {
    pub fn dwfl_attach_state(
        dwfl: *mut Dwfl,
        elf: *mut Elf,
        pid: pid_t,
        thread_callbacks: *const Dwfl_Thread_Callbacks,
        dwfl_arg: *mut ::libc::c_void,
    ) -> bool;
}
extern "C" {
    pub fn dwfl_core_file_attach(dwfl: *mut Dwfl, elf: *mut Elf) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_linux_proc_attach(
        dwfl: *mut Dwfl,
        pid: pid_t,
        assume_ptrace_stopped: bool,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_pid(dwfl: *mut Dwfl) -> pid_t;
}
extern "C" {
    pub fn dwfl_thread_dwfl(thread: *mut Dwfl_Thread) -> *mut Dwfl;
}
extern "C" {
    pub fn dwfl_thread_tid(thread: *mut Dwfl_Thread) -> pid_t;
}
extern "C" {
    pub fn dwfl_frame_thread(state: *mut Dwfl_Frame) -> *mut Dwfl_Thread;
}
extern "C" {
    pub fn dwfl_thread_state_registers(
        thread: *mut Dwfl_Thread,
        firstreg: ::libc::c_int,
        nregs: ::libc::c_uint,
        regs: *const Dwarf_Word,
    ) -> bool;
}
extern "C" {
    pub fn dwfl_thread_state_register_pc(thread: *mut Dwfl_Thread, pc: Dwarf_Word);
}
extern "C" {
    pub fn dwfl_getthreads(
        dwfl: *mut Dwfl,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                thread: *mut Dwfl_Thread,
                arg: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_thread_getframes(
        thread: *mut Dwfl_Thread,
        callback: ::std::option::Option<
            unsafe extern "C" fn(state: *mut Dwfl_Frame, arg: *mut ::libc::c_void) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_getthread_frames(
        dwfl: *mut Dwfl,
        tid: pid_t,
        callback: ::std::option::Option<
            unsafe extern "C" fn(
                thread: *mut Dwfl_Frame,
                arg: *mut ::libc::c_void,
            ) -> ::libc::c_int,
        >,
        arg: *mut ::libc::c_void,
    ) -> ::libc::c_int;
}
extern "C" {
    pub fn dwfl_frame_pc(
        state: *mut Dwfl_Frame,
        pc: *mut Dwarf_Addr,
        isactivation: *mut bool,
    ) -> bool;
}
extern "C" {
    pub fn dwelf_elf_gnu_debuglink(elf: *mut Elf, crc: *mut GElf_Word) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwelf_dwarf_gnu_debugaltlink(
        dwarf: *mut Dwarf,
        namep: *mut *const ::libc::c_char,
        build_idp: *mut *const ::libc::c_void,
    ) -> ssize_t;
}
extern "C" {
    pub fn dwelf_elf_gnu_build_id(elf: *mut Elf, build_idp: *mut *const ::libc::c_void) -> ssize_t;
}
extern "C" {
    pub fn dwelf_scn_gnu_compressed_size(scn: *mut Elf_Scn) -> ssize_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwelf_Strtab {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Dwelf_Strent {
    _unused: [u8; 0],
}
extern "C" {
    pub fn dwelf_strtab_init(nullstr: bool) -> *mut Dwelf_Strtab;
}
extern "C" {
    pub fn dwelf_strtab_add(
        st: *mut Dwelf_Strtab,
        str_: *const ::libc::c_char,
    ) -> *mut Dwelf_Strent;
}
extern "C" {
    pub fn dwelf_strtab_add_len(
        st: *mut Dwelf_Strtab,
        str_: *const ::libc::c_char,
        len: size_t,
    ) -> *mut Dwelf_Strent;
}
extern "C" {
    pub fn dwelf_strtab_finalize(st: *mut Dwelf_Strtab, data: *mut Elf_Data) -> *mut Elf_Data;
}
extern "C" {
    pub fn dwelf_strent_off(se: *mut Dwelf_Strent) -> size_t;
}
extern "C" {
    pub fn dwelf_strent_str(se: *mut Dwelf_Strent) -> *const ::libc::c_char;
}
extern "C" {
    pub fn dwelf_strtab_free(st: *mut Dwelf_Strtab);
}
extern "C" {
    pub fn dwelf_elf_begin(fd: ::libc::c_int) -> *mut Elf;
}
extern "C" {
    pub fn dwelf_elf_e_machine_string(machine: ::libc::c_int) -> *const ::libc::c_char;
}
pub const DW_UT_compile: ::libc::c_uint = 1;
pub const DW_UT_type: ::libc::c_uint = 2;
pub const DW_UT_partial: ::libc::c_uint = 3;
pub const DW_UT_skeleton: ::libc::c_uint = 4;
pub const DW_UT_split_compile: ::libc::c_uint = 5;
pub const DW_UT_split_type: ::libc::c_uint = 6;
pub const DW_UT_lo_user: ::libc::c_uint = 128;
pub const DW_UT_hi_user: ::libc::c_uint = 255;
pub type _bindgen_ty_6 = ::libc::c_uint;
pub const DW_TAG_array_type: ::libc::c_uint = 1;
pub const DW_TAG_class_type: ::libc::c_uint = 2;
pub const DW_TAG_entry_point: ::libc::c_uint = 3;
pub const DW_TAG_enumeration_type: ::libc::c_uint = 4;
pub const DW_TAG_formal_parameter: ::libc::c_uint = 5;
pub const DW_TAG_imported_declaration: ::libc::c_uint = 8;
pub const DW_TAG_label: ::libc::c_uint = 10;
pub const DW_TAG_lexical_block: ::libc::c_uint = 11;
pub const DW_TAG_member: ::libc::c_uint = 13;
pub const DW_TAG_pointer_type: ::libc::c_uint = 15;
pub const DW_TAG_reference_type: ::libc::c_uint = 16;
pub const DW_TAG_compile_unit: ::libc::c_uint = 17;
pub const DW_TAG_string_type: ::libc::c_uint = 18;
pub const DW_TAG_structure_type: ::libc::c_uint = 19;
pub const DW_TAG_subroutine_type: ::libc::c_uint = 21;
pub const DW_TAG_typedef: ::libc::c_uint = 22;
pub const DW_TAG_union_type: ::libc::c_uint = 23;
pub const DW_TAG_unspecified_parameters: ::libc::c_uint = 24;
pub const DW_TAG_variant: ::libc::c_uint = 25;
pub const DW_TAG_common_block: ::libc::c_uint = 26;
pub const DW_TAG_common_inclusion: ::libc::c_uint = 27;
pub const DW_TAG_inheritance: ::libc::c_uint = 28;
pub const DW_TAG_inlined_subroutine: ::libc::c_uint = 29;
pub const DW_TAG_module: ::libc::c_uint = 30;
pub const DW_TAG_ptr_to_member_type: ::libc::c_uint = 31;
pub const DW_TAG_set_type: ::libc::c_uint = 32;
pub const DW_TAG_subrange_type: ::libc::c_uint = 33;
pub const DW_TAG_with_stmt: ::libc::c_uint = 34;
pub const DW_TAG_access_declaration: ::libc::c_uint = 35;
pub const DW_TAG_base_type: ::libc::c_uint = 36;
pub const DW_TAG_catch_block: ::libc::c_uint = 37;
pub const DW_TAG_const_type: ::libc::c_uint = 38;
pub const DW_TAG_constant: ::libc::c_uint = 39;
pub const DW_TAG_enumerator: ::libc::c_uint = 40;
pub const DW_TAG_file_type: ::libc::c_uint = 41;
pub const DW_TAG_friend: ::libc::c_uint = 42;
pub const DW_TAG_namelist: ::libc::c_uint = 43;
pub const DW_TAG_namelist_item: ::libc::c_uint = 44;
pub const DW_TAG_packed_type: ::libc::c_uint = 45;
pub const DW_TAG_subprogram: ::libc::c_uint = 46;
pub const DW_TAG_template_type_parameter: ::libc::c_uint = 47;
pub const DW_TAG_template_value_parameter: ::libc::c_uint = 48;
pub const DW_TAG_thrown_type: ::libc::c_uint = 49;
pub const DW_TAG_try_block: ::libc::c_uint = 50;
pub const DW_TAG_variant_part: ::libc::c_uint = 51;
pub const DW_TAG_variable: ::libc::c_uint = 52;
pub const DW_TAG_volatile_type: ::libc::c_uint = 53;
pub const DW_TAG_dwarf_procedure: ::libc::c_uint = 54;
pub const DW_TAG_restrict_type: ::libc::c_uint = 55;
pub const DW_TAG_interface_type: ::libc::c_uint = 56;
pub const DW_TAG_namespace: ::libc::c_uint = 57;
pub const DW_TAG_imported_module: ::libc::c_uint = 58;
pub const DW_TAG_unspecified_type: ::libc::c_uint = 59;
pub const DW_TAG_partial_unit: ::libc::c_uint = 60;
pub const DW_TAG_imported_unit: ::libc::c_uint = 61;
pub const DW_TAG_condition: ::libc::c_uint = 63;
pub const DW_TAG_shared_type: ::libc::c_uint = 64;
pub const DW_TAG_type_unit: ::libc::c_uint = 65;
pub const DW_TAG_rvalue_reference_type: ::libc::c_uint = 66;
pub const DW_TAG_template_alias: ::libc::c_uint = 67;
pub const DW_TAG_coarray_type: ::libc::c_uint = 68;
pub const DW_TAG_generic_subrange: ::libc::c_uint = 69;
pub const DW_TAG_dynamic_type: ::libc::c_uint = 70;
pub const DW_TAG_atomic_type: ::libc::c_uint = 71;
pub const DW_TAG_call_site: ::libc::c_uint = 72;
pub const DW_TAG_call_site_parameter: ::libc::c_uint = 73;
pub const DW_TAG_skeleton_unit: ::libc::c_uint = 74;
pub const DW_TAG_immutable_type: ::libc::c_uint = 75;
pub const DW_TAG_lo_user: ::libc::c_uint = 16512;
pub const DW_TAG_MIPS_loop: ::libc::c_uint = 16513;
pub const DW_TAG_format_label: ::libc::c_uint = 16641;
pub const DW_TAG_function_template: ::libc::c_uint = 16642;
pub const DW_TAG_class_template: ::libc::c_uint = 16643;
pub const DW_TAG_GNU_BINCL: ::libc::c_uint = 16644;
pub const DW_TAG_GNU_EINCL: ::libc::c_uint = 16645;
pub const DW_TAG_GNU_template_template_param: ::libc::c_uint = 16646;
pub const DW_TAG_GNU_template_parameter_pack: ::libc::c_uint = 16647;
pub const DW_TAG_GNU_formal_parameter_pack: ::libc::c_uint = 16648;
pub const DW_TAG_GNU_call_site: ::libc::c_uint = 16649;
pub const DW_TAG_GNU_call_site_parameter: ::libc::c_uint = 16650;
pub const DW_TAG_hi_user: ::libc::c_uint = 65535;
pub type _bindgen_ty_7 = ::libc::c_uint;
pub const DW_CHILDREN_no: ::libc::c_uint = 0;
pub const DW_CHILDREN_yes: ::libc::c_uint = 1;
pub type _bindgen_ty_8 = ::libc::c_uint;
pub const DW_AT_sibling: ::libc::c_uint = 1;
pub const DW_AT_location: ::libc::c_uint = 2;
pub const DW_AT_name: ::libc::c_uint = 3;
pub const DW_AT_ordering: ::libc::c_uint = 9;
pub const DW_AT_byte_size: ::libc::c_uint = 11;
pub const DW_AT_bit_offset: ::libc::c_uint = 12;
pub const DW_AT_bit_size: ::libc::c_uint = 13;
pub const DW_AT_stmt_list: ::libc::c_uint = 16;
pub const DW_AT_low_pc: ::libc::c_uint = 17;
pub const DW_AT_high_pc: ::libc::c_uint = 18;
pub const DW_AT_language: ::libc::c_uint = 19;
pub const DW_AT_discr: ::libc::c_uint = 21;
pub const DW_AT_discr_value: ::libc::c_uint = 22;
pub const DW_AT_visibility: ::libc::c_uint = 23;
pub const DW_AT_import: ::libc::c_uint = 24;
pub const DW_AT_string_length: ::libc::c_uint = 25;
pub const DW_AT_common_reference: ::libc::c_uint = 26;
pub const DW_AT_comp_dir: ::libc::c_uint = 27;
pub const DW_AT_const_value: ::libc::c_uint = 28;
pub const DW_AT_containing_type: ::libc::c_uint = 29;
pub const DW_AT_default_value: ::libc::c_uint = 30;
pub const DW_AT_inline: ::libc::c_uint = 32;
pub const DW_AT_is_optional: ::libc::c_uint = 33;
pub const DW_AT_lower_bound: ::libc::c_uint = 34;
pub const DW_AT_producer: ::libc::c_uint = 37;
pub const DW_AT_prototyped: ::libc::c_uint = 39;
pub const DW_AT_return_addr: ::libc::c_uint = 42;
pub const DW_AT_start_scope: ::libc::c_uint = 44;
pub const DW_AT_bit_stride: ::libc::c_uint = 46;
pub const DW_AT_upper_bound: ::libc::c_uint = 47;
pub const DW_AT_abstract_origin: ::libc::c_uint = 49;
pub const DW_AT_accessibility: ::libc::c_uint = 50;
pub const DW_AT_address_class: ::libc::c_uint = 51;
pub const DW_AT_artificial: ::libc::c_uint = 52;
pub const DW_AT_base_types: ::libc::c_uint = 53;
pub const DW_AT_calling_convention: ::libc::c_uint = 54;
pub const DW_AT_count: ::libc::c_uint = 55;
pub const DW_AT_data_member_location: ::libc::c_uint = 56;
pub const DW_AT_decl_column: ::libc::c_uint = 57;
pub const DW_AT_decl_file: ::libc::c_uint = 58;
pub const DW_AT_decl_line: ::libc::c_uint = 59;
pub const DW_AT_declaration: ::libc::c_uint = 60;
pub const DW_AT_discr_list: ::libc::c_uint = 61;
pub const DW_AT_encoding: ::libc::c_uint = 62;
pub const DW_AT_external: ::libc::c_uint = 63;
pub const DW_AT_frame_base: ::libc::c_uint = 64;
pub const DW_AT_friend: ::libc::c_uint = 65;
pub const DW_AT_identifier_case: ::libc::c_uint = 66;
pub const DW_AT_macro_info: ::libc::c_uint = 67;
pub const DW_AT_namelist_item: ::libc::c_uint = 68;
pub const DW_AT_priority: ::libc::c_uint = 69;
pub const DW_AT_segment: ::libc::c_uint = 70;
pub const DW_AT_specification: ::libc::c_uint = 71;
pub const DW_AT_static_link: ::libc::c_uint = 72;
pub const DW_AT_type: ::libc::c_uint = 73;
pub const DW_AT_use_location: ::libc::c_uint = 74;
pub const DW_AT_variable_parameter: ::libc::c_uint = 75;
pub const DW_AT_virtuality: ::libc::c_uint = 76;
pub const DW_AT_vtable_elem_location: ::libc::c_uint = 77;
pub const DW_AT_allocated: ::libc::c_uint = 78;
pub const DW_AT_associated: ::libc::c_uint = 79;
pub const DW_AT_data_location: ::libc::c_uint = 80;
pub const DW_AT_byte_stride: ::libc::c_uint = 81;
pub const DW_AT_entry_pc: ::libc::c_uint = 82;
pub const DW_AT_use_UTF8: ::libc::c_uint = 83;
pub const DW_AT_extension: ::libc::c_uint = 84;
pub const DW_AT_ranges: ::libc::c_uint = 85;
pub const DW_AT_trampoline: ::libc::c_uint = 86;
pub const DW_AT_call_column: ::libc::c_uint = 87;
pub const DW_AT_call_file: ::libc::c_uint = 88;
pub const DW_AT_call_line: ::libc::c_uint = 89;
pub const DW_AT_description: ::libc::c_uint = 90;
pub const DW_AT_binary_scale: ::libc::c_uint = 91;
pub const DW_AT_decimal_scale: ::libc::c_uint = 92;
pub const DW_AT_small: ::libc::c_uint = 93;
pub const DW_AT_decimal_sign: ::libc::c_uint = 94;
pub const DW_AT_digit_count: ::libc::c_uint = 95;
pub const DW_AT_picture_string: ::libc::c_uint = 96;
pub const DW_AT_mutable: ::libc::c_uint = 97;
pub const DW_AT_threads_scaled: ::libc::c_uint = 98;
pub const DW_AT_explicit: ::libc::c_uint = 99;
pub const DW_AT_object_pointer: ::libc::c_uint = 100;
pub const DW_AT_endianity: ::libc::c_uint = 101;
pub const DW_AT_elemental: ::libc::c_uint = 102;
pub const DW_AT_pure: ::libc::c_uint = 103;
pub const DW_AT_recursive: ::libc::c_uint = 104;
pub const DW_AT_signature: ::libc::c_uint = 105;
pub const DW_AT_main_subprogram: ::libc::c_uint = 106;
pub const DW_AT_data_bit_offset: ::libc::c_uint = 107;
pub const DW_AT_const_expr: ::libc::c_uint = 108;
pub const DW_AT_enum_class: ::libc::c_uint = 109;
pub const DW_AT_linkage_name: ::libc::c_uint = 110;
pub const DW_AT_string_length_bit_size: ::libc::c_uint = 111;
pub const DW_AT_string_length_byte_size: ::libc::c_uint = 112;
pub const DW_AT_rank: ::libc::c_uint = 113;
pub const DW_AT_str_offsets_base: ::libc::c_uint = 114;
pub const DW_AT_addr_base: ::libc::c_uint = 115;
pub const DW_AT_rnglists_base: ::libc::c_uint = 116;
pub const DW_AT_dwo_name: ::libc::c_uint = 118;
pub const DW_AT_reference: ::libc::c_uint = 119;
pub const DW_AT_rvalue_reference: ::libc::c_uint = 120;
pub const DW_AT_macros: ::libc::c_uint = 121;
pub const DW_AT_call_all_calls: ::libc::c_uint = 122;
pub const DW_AT_call_all_source_calls: ::libc::c_uint = 123;
pub const DW_AT_call_all_tail_calls: ::libc::c_uint = 124;
pub const DW_AT_call_return_pc: ::libc::c_uint = 125;
pub const DW_AT_call_value: ::libc::c_uint = 126;
pub const DW_AT_call_origin: ::libc::c_uint = 127;
pub const DW_AT_call_parameter: ::libc::c_uint = 128;
pub const DW_AT_call_pc: ::libc::c_uint = 129;
pub const DW_AT_call_tail_call: ::libc::c_uint = 130;
pub const DW_AT_call_target: ::libc::c_uint = 131;
pub const DW_AT_call_target_clobbered: ::libc::c_uint = 132;
pub const DW_AT_call_data_location: ::libc::c_uint = 133;
pub const DW_AT_call_data_value: ::libc::c_uint = 134;
pub const DW_AT_noreturn: ::libc::c_uint = 135;
pub const DW_AT_alignment: ::libc::c_uint = 136;
pub const DW_AT_export_symbols: ::libc::c_uint = 137;
pub const DW_AT_deleted: ::libc::c_uint = 138;
pub const DW_AT_defaulted: ::libc::c_uint = 139;
pub const DW_AT_loclists_base: ::libc::c_uint = 140;
pub const DW_AT_lo_user: ::libc::c_uint = 8192;
pub const DW_AT_MIPS_fde: ::libc::c_uint = 8193;
pub const DW_AT_MIPS_loop_begin: ::libc::c_uint = 8194;
pub const DW_AT_MIPS_tail_loop_begin: ::libc::c_uint = 8195;
pub const DW_AT_MIPS_epilog_begin: ::libc::c_uint = 8196;
pub const DW_AT_MIPS_loop_unroll_factor: ::libc::c_uint = 8197;
pub const DW_AT_MIPS_software_pipeline_depth: ::libc::c_uint = 8198;
pub const DW_AT_MIPS_linkage_name: ::libc::c_uint = 8199;
pub const DW_AT_MIPS_stride: ::libc::c_uint = 8200;
pub const DW_AT_MIPS_abstract_name: ::libc::c_uint = 8201;
pub const DW_AT_MIPS_clone_origin: ::libc::c_uint = 8202;
pub const DW_AT_MIPS_has_inlines: ::libc::c_uint = 8203;
pub const DW_AT_MIPS_stride_byte: ::libc::c_uint = 8204;
pub const DW_AT_MIPS_stride_elem: ::libc::c_uint = 8205;
pub const DW_AT_MIPS_ptr_dopetype: ::libc::c_uint = 8206;
pub const DW_AT_MIPS_allocatable_dopetype: ::libc::c_uint = 8207;
pub const DW_AT_MIPS_assumed_shape_dopetype: ::libc::c_uint = 8208;
pub const DW_AT_MIPS_assumed_size: ::libc::c_uint = 8209;
pub const DW_AT_sf_names: ::libc::c_uint = 8449;
pub const DW_AT_src_info: ::libc::c_uint = 8450;
pub const DW_AT_mac_info: ::libc::c_uint = 8451;
pub const DW_AT_src_coords: ::libc::c_uint = 8452;
pub const DW_AT_body_begin: ::libc::c_uint = 8453;
pub const DW_AT_body_end: ::libc::c_uint = 8454;
pub const DW_AT_GNU_vector: ::libc::c_uint = 8455;
pub const DW_AT_GNU_guarded_by: ::libc::c_uint = 8456;
pub const DW_AT_GNU_pt_guarded_by: ::libc::c_uint = 8457;
pub const DW_AT_GNU_guarded: ::libc::c_uint = 8458;
pub const DW_AT_GNU_pt_guarded: ::libc::c_uint = 8459;
pub const DW_AT_GNU_locks_excluded: ::libc::c_uint = 8460;
pub const DW_AT_GNU_exclusive_locks_required: ::libc::c_uint = 8461;
pub const DW_AT_GNU_shared_locks_required: ::libc::c_uint = 8462;
pub const DW_AT_GNU_odr_signature: ::libc::c_uint = 8463;
pub const DW_AT_GNU_template_name: ::libc::c_uint = 8464;
pub const DW_AT_GNU_call_site_value: ::libc::c_uint = 8465;
pub const DW_AT_GNU_call_site_data_value: ::libc::c_uint = 8466;
pub const DW_AT_GNU_call_site_target: ::libc::c_uint = 8467;
pub const DW_AT_GNU_call_site_target_clobbered: ::libc::c_uint = 8468;
pub const DW_AT_GNU_tail_call: ::libc::c_uint = 8469;
pub const DW_AT_GNU_all_tail_call_sites: ::libc::c_uint = 8470;
pub const DW_AT_GNU_all_call_sites: ::libc::c_uint = 8471;
pub const DW_AT_GNU_all_source_call_sites: ::libc::c_uint = 8472;
pub const DW_AT_GNU_locviews: ::libc::c_uint = 8503;
pub const DW_AT_GNU_entry_view: ::libc::c_uint = 8504;
pub const DW_AT_GNU_macros: ::libc::c_uint = 8473;
pub const DW_AT_GNU_deleted: ::libc::c_uint = 8474;
pub const DW_AT_GNU_dwo_name: ::libc::c_uint = 8496;
pub const DW_AT_GNU_dwo_id: ::libc::c_uint = 8497;
pub const DW_AT_GNU_ranges_base: ::libc::c_uint = 8498;
pub const DW_AT_GNU_addr_base: ::libc::c_uint = 8499;
pub const DW_AT_GNU_pubnames: ::libc::c_uint = 8500;
pub const DW_AT_GNU_pubtypes: ::libc::c_uint = 8501;
pub const DW_AT_GNU_numerator: ::libc::c_uint = 8963;
pub const DW_AT_GNU_denominator: ::libc::c_uint = 8964;
pub const DW_AT_GNU_bias: ::libc::c_uint = 8965;
pub const DW_AT_hi_user: ::libc::c_uint = 16383;
pub type _bindgen_ty_9 = ::libc::c_uint;
pub const DW_FORM_addr: ::libc::c_uint = 1;
pub const DW_FORM_block2: ::libc::c_uint = 3;
pub const DW_FORM_block4: ::libc::c_uint = 4;
pub const DW_FORM_data2: ::libc::c_uint = 5;
pub const DW_FORM_data4: ::libc::c_uint = 6;
pub const DW_FORM_data8: ::libc::c_uint = 7;
pub const DW_FORM_string: ::libc::c_uint = 8;
pub const DW_FORM_block: ::libc::c_uint = 9;
pub const DW_FORM_block1: ::libc::c_uint = 10;
pub const DW_FORM_data1: ::libc::c_uint = 11;
pub const DW_FORM_flag: ::libc::c_uint = 12;
pub const DW_FORM_sdata: ::libc::c_uint = 13;
pub const DW_FORM_strp: ::libc::c_uint = 14;
pub const DW_FORM_udata: ::libc::c_uint = 15;
pub const DW_FORM_ref_addr: ::libc::c_uint = 16;
pub const DW_FORM_ref1: ::libc::c_uint = 17;
pub const DW_FORM_ref2: ::libc::c_uint = 18;
pub const DW_FORM_ref4: ::libc::c_uint = 19;
pub const DW_FORM_ref8: ::libc::c_uint = 20;
pub const DW_FORM_ref_udata: ::libc::c_uint = 21;
pub const DW_FORM_indirect: ::libc::c_uint = 22;
pub const DW_FORM_sec_offset: ::libc::c_uint = 23;
pub const DW_FORM_exprloc: ::libc::c_uint = 24;
pub const DW_FORM_flag_present: ::libc::c_uint = 25;
pub const DW_FORM_strx: ::libc::c_uint = 26;
pub const DW_FORM_addrx: ::libc::c_uint = 27;
pub const DW_FORM_ref_sup4: ::libc::c_uint = 28;
pub const DW_FORM_strp_sup: ::libc::c_uint = 29;
pub const DW_FORM_data16: ::libc::c_uint = 30;
pub const DW_FORM_line_strp: ::libc::c_uint = 31;
pub const DW_FORM_ref_sig8: ::libc::c_uint = 32;
pub const DW_FORM_implicit_const: ::libc::c_uint = 33;
pub const DW_FORM_loclistx: ::libc::c_uint = 34;
pub const DW_FORM_rnglistx: ::libc::c_uint = 35;
pub const DW_FORM_ref_sup8: ::libc::c_uint = 36;
pub const DW_FORM_strx1: ::libc::c_uint = 37;
pub const DW_FORM_strx2: ::libc::c_uint = 38;
pub const DW_FORM_strx3: ::libc::c_uint = 39;
pub const DW_FORM_strx4: ::libc::c_uint = 40;
pub const DW_FORM_addrx1: ::libc::c_uint = 41;
pub const DW_FORM_addrx2: ::libc::c_uint = 42;
pub const DW_FORM_addrx3: ::libc::c_uint = 43;
pub const DW_FORM_addrx4: ::libc::c_uint = 44;
pub const DW_FORM_GNU_addr_index: ::libc::c_uint = 7937;
pub const DW_FORM_GNU_str_index: ::libc::c_uint = 7938;
pub const DW_FORM_GNU_ref_alt: ::libc::c_uint = 7968;
pub const DW_FORM_GNU_strp_alt: ::libc::c_uint = 7969;
pub type _bindgen_ty_10 = ::libc::c_uint;
pub const DW_OP_addr: ::libc::c_uint = 3;
pub const DW_OP_deref: ::libc::c_uint = 6;
pub const DW_OP_const1u: ::libc::c_uint = 8;
pub const DW_OP_const1s: ::libc::c_uint = 9;
pub const DW_OP_const2u: ::libc::c_uint = 10;
pub const DW_OP_const2s: ::libc::c_uint = 11;
pub const DW_OP_const4u: ::libc::c_uint = 12;
pub const DW_OP_const4s: ::libc::c_uint = 13;
pub const DW_OP_const8u: ::libc::c_uint = 14;
pub const DW_OP_const8s: ::libc::c_uint = 15;
pub const DW_OP_constu: ::libc::c_uint = 16;
pub const DW_OP_consts: ::libc::c_uint = 17;
pub const DW_OP_dup: ::libc::c_uint = 18;
pub const DW_OP_drop: ::libc::c_uint = 19;
pub const DW_OP_over: ::libc::c_uint = 20;
pub const DW_OP_pick: ::libc::c_uint = 21;
pub const DW_OP_swap: ::libc::c_uint = 22;
pub const DW_OP_rot: ::libc::c_uint = 23;
pub const DW_OP_xderef: ::libc::c_uint = 24;
pub const DW_OP_abs: ::libc::c_uint = 25;
pub const DW_OP_and: ::libc::c_uint = 26;
pub const DW_OP_div: ::libc::c_uint = 27;
pub const DW_OP_minus: ::libc::c_uint = 28;
pub const DW_OP_mod: ::libc::c_uint = 29;
pub const DW_OP_mul: ::libc::c_uint = 30;
pub const DW_OP_neg: ::libc::c_uint = 31;
pub const DW_OP_not: ::libc::c_uint = 32;
pub const DW_OP_or: ::libc::c_uint = 33;
pub const DW_OP_plus: ::libc::c_uint = 34;
pub const DW_OP_plus_uconst: ::libc::c_uint = 35;
pub const DW_OP_shl: ::libc::c_uint = 36;
pub const DW_OP_shr: ::libc::c_uint = 37;
pub const DW_OP_shra: ::libc::c_uint = 38;
pub const DW_OP_xor: ::libc::c_uint = 39;
pub const DW_OP_bra: ::libc::c_uint = 40;
pub const DW_OP_eq: ::libc::c_uint = 41;
pub const DW_OP_ge: ::libc::c_uint = 42;
pub const DW_OP_gt: ::libc::c_uint = 43;
pub const DW_OP_le: ::libc::c_uint = 44;
pub const DW_OP_lt: ::libc::c_uint = 45;
pub const DW_OP_ne: ::libc::c_uint = 46;
pub const DW_OP_skip: ::libc::c_uint = 47;
pub const DW_OP_lit0: ::libc::c_uint = 48;
pub const DW_OP_lit1: ::libc::c_uint = 49;
pub const DW_OP_lit2: ::libc::c_uint = 50;
pub const DW_OP_lit3: ::libc::c_uint = 51;
pub const DW_OP_lit4: ::libc::c_uint = 52;
pub const DW_OP_lit5: ::libc::c_uint = 53;
pub const DW_OP_lit6: ::libc::c_uint = 54;
pub const DW_OP_lit7: ::libc::c_uint = 55;
pub const DW_OP_lit8: ::libc::c_uint = 56;
pub const DW_OP_lit9: ::libc::c_uint = 57;
pub const DW_OP_lit10: ::libc::c_uint = 58;
pub const DW_OP_lit11: ::libc::c_uint = 59;
pub const DW_OP_lit12: ::libc::c_uint = 60;
pub const DW_OP_lit13: ::libc::c_uint = 61;
pub const DW_OP_lit14: ::libc::c_uint = 62;
pub const DW_OP_lit15: ::libc::c_uint = 63;
pub const DW_OP_lit16: ::libc::c_uint = 64;
pub const DW_OP_lit17: ::libc::c_uint = 65;
pub const DW_OP_lit18: ::libc::c_uint = 66;
pub const DW_OP_lit19: ::libc::c_uint = 67;
pub const DW_OP_lit20: ::libc::c_uint = 68;
pub const DW_OP_lit21: ::libc::c_uint = 69;
pub const DW_OP_lit22: ::libc::c_uint = 70;
pub const DW_OP_lit23: ::libc::c_uint = 71;
pub const DW_OP_lit24: ::libc::c_uint = 72;
pub const DW_OP_lit25: ::libc::c_uint = 73;
pub const DW_OP_lit26: ::libc::c_uint = 74;
pub const DW_OP_lit27: ::libc::c_uint = 75;
pub const DW_OP_lit28: ::libc::c_uint = 76;
pub const DW_OP_lit29: ::libc::c_uint = 77;
pub const DW_OP_lit30: ::libc::c_uint = 78;
pub const DW_OP_lit31: ::libc::c_uint = 79;
pub const DW_OP_reg0: ::libc::c_uint = 80;
pub const DW_OP_reg1: ::libc::c_uint = 81;
pub const DW_OP_reg2: ::libc::c_uint = 82;
pub const DW_OP_reg3: ::libc::c_uint = 83;
pub const DW_OP_reg4: ::libc::c_uint = 84;
pub const DW_OP_reg5: ::libc::c_uint = 85;
pub const DW_OP_reg6: ::libc::c_uint = 86;
pub const DW_OP_reg7: ::libc::c_uint = 87;
pub const DW_OP_reg8: ::libc::c_uint = 88;
pub const DW_OP_reg9: ::libc::c_uint = 89;
pub const DW_OP_reg10: ::libc::c_uint = 90;
pub const DW_OP_reg11: ::libc::c_uint = 91;
pub const DW_OP_reg12: ::libc::c_uint = 92;
pub const DW_OP_reg13: ::libc::c_uint = 93;
pub const DW_OP_reg14: ::libc::c_uint = 94;
pub const DW_OP_reg15: ::libc::c_uint = 95;
pub const DW_OP_reg16: ::libc::c_uint = 96;
pub const DW_OP_reg17: ::libc::c_uint = 97;
pub const DW_OP_reg18: ::libc::c_uint = 98;
pub const DW_OP_reg19: ::libc::c_uint = 99;
pub const DW_OP_reg20: ::libc::c_uint = 100;
pub const DW_OP_reg21: ::libc::c_uint = 101;
pub const DW_OP_reg22: ::libc::c_uint = 102;
pub const DW_OP_reg23: ::libc::c_uint = 103;
pub const DW_OP_reg24: ::libc::c_uint = 104;
pub const DW_OP_reg25: ::libc::c_uint = 105;
pub const DW_OP_reg26: ::libc::c_uint = 106;
pub const DW_OP_reg27: ::libc::c_uint = 107;
pub const DW_OP_reg28: ::libc::c_uint = 108;
pub const DW_OP_reg29: ::libc::c_uint = 109;
pub const DW_OP_reg30: ::libc::c_uint = 110;
pub const DW_OP_reg31: ::libc::c_uint = 111;
pub const DW_OP_breg0: ::libc::c_uint = 112;
pub const DW_OP_breg1: ::libc::c_uint = 113;
pub const DW_OP_breg2: ::libc::c_uint = 114;
pub const DW_OP_breg3: ::libc::c_uint = 115;
pub const DW_OP_breg4: ::libc::c_uint = 116;
pub const DW_OP_breg5: ::libc::c_uint = 117;
pub const DW_OP_breg6: ::libc::c_uint = 118;
pub const DW_OP_breg7: ::libc::c_uint = 119;
pub const DW_OP_breg8: ::libc::c_uint = 120;
pub const DW_OP_breg9: ::libc::c_uint = 121;
pub const DW_OP_breg10: ::libc::c_uint = 122;
pub const DW_OP_breg11: ::libc::c_uint = 123;
pub const DW_OP_breg12: ::libc::c_uint = 124;
pub const DW_OP_breg13: ::libc::c_uint = 125;
pub const DW_OP_breg14: ::libc::c_uint = 126;
pub const DW_OP_breg15: ::libc::c_uint = 127;
pub const DW_OP_breg16: ::libc::c_uint = 128;
pub const DW_OP_breg17: ::libc::c_uint = 129;
pub const DW_OP_breg18: ::libc::c_uint = 130;
pub const DW_OP_breg19: ::libc::c_uint = 131;
pub const DW_OP_breg20: ::libc::c_uint = 132;
pub const DW_OP_breg21: ::libc::c_uint = 133;
pub const DW_OP_breg22: ::libc::c_uint = 134;
pub const DW_OP_breg23: ::libc::c_uint = 135;
pub const DW_OP_breg24: ::libc::c_uint = 136;
pub const DW_OP_breg25: ::libc::c_uint = 137;
pub const DW_OP_breg26: ::libc::c_uint = 138;
pub const DW_OP_breg27: ::libc::c_uint = 139;
pub const DW_OP_breg28: ::libc::c_uint = 140;
pub const DW_OP_breg29: ::libc::c_uint = 141;
pub const DW_OP_breg30: ::libc::c_uint = 142;
pub const DW_OP_breg31: ::libc::c_uint = 143;
pub const DW_OP_regx: ::libc::c_uint = 144;
pub const DW_OP_fbreg: ::libc::c_uint = 145;
pub const DW_OP_bregx: ::libc::c_uint = 146;
pub const DW_OP_piece: ::libc::c_uint = 147;
pub const DW_OP_deref_size: ::libc::c_uint = 148;
pub const DW_OP_xderef_size: ::libc::c_uint = 149;
pub const DW_OP_nop: ::libc::c_uint = 150;
pub const DW_OP_push_object_address: ::libc::c_uint = 151;
pub const DW_OP_call2: ::libc::c_uint = 152;
pub const DW_OP_call4: ::libc::c_uint = 153;
pub const DW_OP_call_ref: ::libc::c_uint = 154;
pub const DW_OP_form_tls_address: ::libc::c_uint = 155;
pub const DW_OP_call_frame_cfa: ::libc::c_uint = 156;
pub const DW_OP_bit_piece: ::libc::c_uint = 157;
pub const DW_OP_implicit_value: ::libc::c_uint = 158;
pub const DW_OP_stack_value: ::libc::c_uint = 159;
pub const DW_OP_implicit_pointer: ::libc::c_uint = 160;
pub const DW_OP_addrx: ::libc::c_uint = 161;
pub const DW_OP_constx: ::libc::c_uint = 162;
pub const DW_OP_entry_value: ::libc::c_uint = 163;
pub const DW_OP_const_type: ::libc::c_uint = 164;
pub const DW_OP_regval_type: ::libc::c_uint = 165;
pub const DW_OP_deref_type: ::libc::c_uint = 166;
pub const DW_OP_xderef_type: ::libc::c_uint = 167;
pub const DW_OP_convert: ::libc::c_uint = 168;
pub const DW_OP_reinterpret: ::libc::c_uint = 169;
pub const DW_OP_GNU_push_tls_address: ::libc::c_uint = 224;
pub const DW_OP_GNU_uninit: ::libc::c_uint = 240;
pub const DW_OP_GNU_encoded_addr: ::libc::c_uint = 241;
pub const DW_OP_GNU_implicit_pointer: ::libc::c_uint = 242;
pub const DW_OP_GNU_entry_value: ::libc::c_uint = 243;
pub const DW_OP_GNU_const_type: ::libc::c_uint = 244;
pub const DW_OP_GNU_regval_type: ::libc::c_uint = 245;
pub const DW_OP_GNU_deref_type: ::libc::c_uint = 246;
pub const DW_OP_GNU_convert: ::libc::c_uint = 247;
pub const DW_OP_GNU_reinterpret: ::libc::c_uint = 249;
pub const DW_OP_GNU_parameter_ref: ::libc::c_uint = 250;
pub const DW_OP_GNU_addr_index: ::libc::c_uint = 251;
pub const DW_OP_GNU_const_index: ::libc::c_uint = 252;
pub const DW_OP_GNU_variable_value: ::libc::c_uint = 253;
pub const DW_OP_lo_user: ::libc::c_uint = 224;
pub const DW_OP_hi_user: ::libc::c_uint = 255;
pub type _bindgen_ty_11 = ::libc::c_uint;
pub const DW_ATE_void: ::libc::c_uint = 0;
pub const DW_ATE_address: ::libc::c_uint = 1;
pub const DW_ATE_boolean: ::libc::c_uint = 2;
pub const DW_ATE_complex_float: ::libc::c_uint = 3;
pub const DW_ATE_float: ::libc::c_uint = 4;
pub const DW_ATE_signed: ::libc::c_uint = 5;
pub const DW_ATE_signed_char: ::libc::c_uint = 6;
pub const DW_ATE_unsigned: ::libc::c_uint = 7;
pub const DW_ATE_unsigned_char: ::libc::c_uint = 8;
pub const DW_ATE_imaginary_float: ::libc::c_uint = 9;
pub const DW_ATE_packed_decimal: ::libc::c_uint = 10;
pub const DW_ATE_numeric_string: ::libc::c_uint = 11;
pub const DW_ATE_edited: ::libc::c_uint = 12;
pub const DW_ATE_signed_fixed: ::libc::c_uint = 13;
pub const DW_ATE_unsigned_fixed: ::libc::c_uint = 14;
pub const DW_ATE_decimal_float: ::libc::c_uint = 15;
pub const DW_ATE_UTF: ::libc::c_uint = 16;
pub const DW_ATE_UCS: ::libc::c_uint = 17;
pub const DW_ATE_ASCII: ::libc::c_uint = 18;
pub const DW_ATE_lo_user: ::libc::c_uint = 128;
pub const DW_ATE_hi_user: ::libc::c_uint = 255;
pub type _bindgen_ty_12 = ::libc::c_uint;
pub const DW_DS_unsigned: ::libc::c_uint = 1;
pub const DW_DS_leading_overpunch: ::libc::c_uint = 2;
pub const DW_DS_trailing_overpunch: ::libc::c_uint = 3;
pub const DW_DS_leading_separate: ::libc::c_uint = 4;
pub const DW_DS_trailing_separate: ::libc::c_uint = 5;
pub type _bindgen_ty_13 = ::libc::c_uint;
pub const DW_END_default: ::libc::c_uint = 0;
pub const DW_END_big: ::libc::c_uint = 1;
pub const DW_END_little: ::libc::c_uint = 2;
pub const DW_END_lo_user: ::libc::c_uint = 64;
pub const DW_END_hi_user: ::libc::c_uint = 255;
pub type _bindgen_ty_14 = ::libc::c_uint;
pub const DW_ACCESS_public: ::libc::c_uint = 1;
pub const DW_ACCESS_protected: ::libc::c_uint = 2;
pub const DW_ACCESS_private: ::libc::c_uint = 3;
pub type _bindgen_ty_15 = ::libc::c_uint;
pub const DW_VIS_local: ::libc::c_uint = 1;
pub const DW_VIS_exported: ::libc::c_uint = 2;
pub const DW_VIS_qualified: ::libc::c_uint = 3;
pub type _bindgen_ty_16 = ::libc::c_uint;
pub const DW_VIRTUALITY_none: ::libc::c_uint = 0;
pub const DW_VIRTUALITY_virtual: ::libc::c_uint = 1;
pub const DW_VIRTUALITY_pure_virtual: ::libc::c_uint = 2;
pub type _bindgen_ty_17 = ::libc::c_uint;
pub const DW_LANG_C89: ::libc::c_uint = 1;
pub const DW_LANG_C: ::libc::c_uint = 2;
pub const DW_LANG_Ada83: ::libc::c_uint = 3;
pub const DW_LANG_C_plus_plus: ::libc::c_uint = 4;
pub const DW_LANG_Cobol74: ::libc::c_uint = 5;
pub const DW_LANG_Cobol85: ::libc::c_uint = 6;
pub const DW_LANG_Fortran77: ::libc::c_uint = 7;
pub const DW_LANG_Fortran90: ::libc::c_uint = 8;
pub const DW_LANG_Pascal83: ::libc::c_uint = 9;
pub const DW_LANG_Modula2: ::libc::c_uint = 10;
pub const DW_LANG_Java: ::libc::c_uint = 11;
pub const DW_LANG_C99: ::libc::c_uint = 12;
pub const DW_LANG_Ada95: ::libc::c_uint = 13;
pub const DW_LANG_Fortran95: ::libc::c_uint = 14;
pub const DW_LANG_PLI: ::libc::c_uint = 15;
pub const DW_LANG_ObjC: ::libc::c_uint = 16;
pub const DW_LANG_ObjC_plus_plus: ::libc::c_uint = 17;
pub const DW_LANG_UPC: ::libc::c_uint = 18;
pub const DW_LANG_D: ::libc::c_uint = 19;
pub const DW_LANG_Python: ::libc::c_uint = 20;
pub const DW_LANG_OpenCL: ::libc::c_uint = 21;
pub const DW_LANG_Go: ::libc::c_uint = 22;
pub const DW_LANG_Modula3: ::libc::c_uint = 23;
pub const DW_LANG_Haskell: ::libc::c_uint = 24;
pub const DW_LANG_C_plus_plus_03: ::libc::c_uint = 25;
pub const DW_LANG_C_plus_plus_11: ::libc::c_uint = 26;
pub const DW_LANG_OCaml: ::libc::c_uint = 27;
pub const DW_LANG_Rust: ::libc::c_uint = 28;
pub const DW_LANG_C11: ::libc::c_uint = 29;
pub const DW_LANG_Swift: ::libc::c_uint = 30;
pub const DW_LANG_Julia: ::libc::c_uint = 31;
pub const DW_LANG_Dylan: ::libc::c_uint = 32;
pub const DW_LANG_C_plus_plus_14: ::libc::c_uint = 33;
pub const DW_LANG_Fortran03: ::libc::c_uint = 34;
pub const DW_LANG_Fortran08: ::libc::c_uint = 35;
pub const DW_LANG_RenderScript: ::libc::c_uint = 36;
pub const DW_LANG_BLISS: ::libc::c_uint = 37;
pub const DW_LANG_lo_user: ::libc::c_uint = 32768;
pub const DW_LANG_Mips_Assembler: ::libc::c_uint = 32769;
pub const DW_LANG_hi_user: ::libc::c_uint = 65535;
pub type _bindgen_ty_18 = ::libc::c_uint;
pub const DW_ID_case_sensitive: ::libc::c_uint = 0;
pub const DW_ID_up_case: ::libc::c_uint = 1;
pub const DW_ID_down_case: ::libc::c_uint = 2;
pub const DW_ID_case_insensitive: ::libc::c_uint = 3;
pub type _bindgen_ty_19 = ::libc::c_uint;
pub const DW_CC_normal: ::libc::c_uint = 1;
pub const DW_CC_program: ::libc::c_uint = 2;
pub const DW_CC_nocall: ::libc::c_uint = 3;
pub const DW_CC_pass_by_reference: ::libc::c_uint = 4;
pub const DW_CC_pass_by_value: ::libc::c_uint = 5;
pub const DW_CC_lo_user: ::libc::c_uint = 64;
pub const DW_CC_hi_user: ::libc::c_uint = 255;
pub type _bindgen_ty_20 = ::libc::c_uint;
pub const DW_INL_not_inlined: ::libc::c_uint = 0;
pub const DW_INL_inlined: ::libc::c_uint = 1;
pub const DW_INL_declared_not_inlined: ::libc::c_uint = 2;
pub const DW_INL_declared_inlined: ::libc::c_uint = 3;
pub type _bindgen_ty_21 = ::libc::c_uint;
pub const DW_ORD_row_major: ::libc::c_uint = 0;
pub const DW_ORD_col_major: ::libc::c_uint = 1;
pub type _bindgen_ty_22 = ::libc::c_uint;
pub const DW_DSC_label: ::libc::c_uint = 0;
pub const DW_DSC_range: ::libc::c_uint = 1;
pub type _bindgen_ty_23 = ::libc::c_uint;
pub const DW_DEFAULTED_no: ::libc::c_uint = 0;
pub const DW_DEFAULTED_in_class: ::libc::c_uint = 1;
pub const DW_DEFAULTED_out_of_class: ::libc::c_uint = 2;
pub type _bindgen_ty_24 = ::libc::c_uint;
pub const DW_LNCT_path: ::libc::c_uint = 1;
pub const DW_LNCT_directory_index: ::libc::c_uint = 2;
pub const DW_LNCT_timestamp: ::libc::c_uint = 3;
pub const DW_LNCT_size: ::libc::c_uint = 4;
pub const DW_LNCT_MD5: ::libc::c_uint = 5;
pub const DW_LNCT_lo_user: ::libc::c_uint = 8192;
pub const DW_LNCT_hi_user: ::libc::c_uint = 16383;
pub type _bindgen_ty_25 = ::libc::c_uint;
pub const DW_LNS_copy: ::libc::c_uint = 1;
pub const DW_LNS_advance_pc: ::libc::c_uint = 2;
pub const DW_LNS_advance_line: ::libc::c_uint = 3;
pub const DW_LNS_set_file: ::libc::c_uint = 4;
pub const DW_LNS_set_column: ::libc::c_uint = 5;
pub const DW_LNS_negate_stmt: ::libc::c_uint = 6;
pub const DW_LNS_set_basic_block: ::libc::c_uint = 7;
pub const DW_LNS_const_add_pc: ::libc::c_uint = 8;
pub const DW_LNS_fixed_advance_pc: ::libc::c_uint = 9;
pub const DW_LNS_set_prologue_end: ::libc::c_uint = 10;
pub const DW_LNS_set_epilogue_begin: ::libc::c_uint = 11;
pub const DW_LNS_set_isa: ::libc::c_uint = 12;
pub type _bindgen_ty_26 = ::libc::c_uint;
pub const DW_LNE_end_sequence: ::libc::c_uint = 1;
pub const DW_LNE_set_address: ::libc::c_uint = 2;
pub const DW_LNE_define_file: ::libc::c_uint = 3;
pub const DW_LNE_set_discriminator: ::libc::c_uint = 4;
pub const DW_LNE_lo_user: ::libc::c_uint = 128;
pub const DW_LNE_NVIDIA_inlined_call: ::libc::c_uint = 144;
pub const DW_LNE_NVIDIA_set_function_name: ::libc::c_uint = 145;
pub const DW_LNE_hi_user: ::libc::c_uint = 255;
pub type _bindgen_ty_27 = ::libc::c_uint;
pub const DW_MACINFO_define: ::libc::c_uint = 1;
pub const DW_MACINFO_undef: ::libc::c_uint = 2;
pub const DW_MACINFO_start_file: ::libc::c_uint = 3;
pub const DW_MACINFO_end_file: ::libc::c_uint = 4;
pub const DW_MACINFO_vendor_ext: ::libc::c_uint = 255;
pub type _bindgen_ty_28 = ::libc::c_uint;
pub const DW_MACRO_define: ::libc::c_uint = 1;
pub const DW_MACRO_undef: ::libc::c_uint = 2;
pub const DW_MACRO_start_file: ::libc::c_uint = 3;
pub const DW_MACRO_end_file: ::libc::c_uint = 4;
pub const DW_MACRO_define_strp: ::libc::c_uint = 5;
pub const DW_MACRO_undef_strp: ::libc::c_uint = 6;
pub const DW_MACRO_import: ::libc::c_uint = 7;
pub const DW_MACRO_define_sup: ::libc::c_uint = 8;
pub const DW_MACRO_undef_sup: ::libc::c_uint = 9;
pub const DW_MACRO_import_sup: ::libc::c_uint = 10;
pub const DW_MACRO_define_strx: ::libc::c_uint = 11;
pub const DW_MACRO_undef_strx: ::libc::c_uint = 12;
pub const DW_MACRO_lo_user: ::libc::c_uint = 224;
pub const DW_MACRO_hi_user: ::libc::c_uint = 255;
pub type _bindgen_ty_29 = ::libc::c_uint;
pub const DW_RLE_end_of_list: ::libc::c_uint = 0;
pub const DW_RLE_base_addressx: ::libc::c_uint = 1;
pub const DW_RLE_startx_endx: ::libc::c_uint = 2;
pub const DW_RLE_startx_length: ::libc::c_uint = 3;
pub const DW_RLE_offset_pair: ::libc::c_uint = 4;
pub const DW_RLE_base_address: ::libc::c_uint = 5;
pub const DW_RLE_start_end: ::libc::c_uint = 6;
pub const DW_RLE_start_length: ::libc::c_uint = 7;
pub type _bindgen_ty_30 = ::libc::c_uint;
pub const DW_LLE_end_of_list: ::libc::c_uint = 0;
pub const DW_LLE_base_addressx: ::libc::c_uint = 1;
pub const DW_LLE_startx_endx: ::libc::c_uint = 2;
pub const DW_LLE_startx_length: ::libc::c_uint = 3;
pub const DW_LLE_offset_pair: ::libc::c_uint = 4;
pub const DW_LLE_default_location: ::libc::c_uint = 5;
pub const DW_LLE_base_address: ::libc::c_uint = 6;
pub const DW_LLE_start_end: ::libc::c_uint = 7;
pub const DW_LLE_start_length: ::libc::c_uint = 8;
pub type _bindgen_ty_31 = ::libc::c_uint;
pub const DW_LLE_GNU_end_of_list_entry: ::libc::c_uint = 0;
pub const DW_LLE_GNU_base_address_selection_entry: ::libc::c_uint = 1;
pub const DW_LLE_GNU_start_end_entry: ::libc::c_uint = 2;
pub const DW_LLE_GNU_start_length_entry: ::libc::c_uint = 3;
pub type _bindgen_ty_32 = ::libc::c_uint;
pub const DW_CFA_advance_loc: ::libc::c_uint = 64;
pub const DW_CFA_offset: ::libc::c_uint = 128;
pub const DW_CFA_restore: ::libc::c_uint = 192;
pub const DW_CFA_extended: ::libc::c_uint = 0;
pub const DW_CFA_nop: ::libc::c_uint = 0;
pub const DW_CFA_set_loc: ::libc::c_uint = 1;
pub const DW_CFA_advance_loc1: ::libc::c_uint = 2;
pub const DW_CFA_advance_loc2: ::libc::c_uint = 3;
pub const DW_CFA_advance_loc4: ::libc::c_uint = 4;
pub const DW_CFA_offset_extended: ::libc::c_uint = 5;
pub const DW_CFA_restore_extended: ::libc::c_uint = 6;
pub const DW_CFA_undefined: ::libc::c_uint = 7;
pub const DW_CFA_same_value: ::libc::c_uint = 8;
pub const DW_CFA_register: ::libc::c_uint = 9;
pub const DW_CFA_remember_state: ::libc::c_uint = 10;
pub const DW_CFA_restore_state: ::libc::c_uint = 11;
pub const DW_CFA_def_cfa: ::libc::c_uint = 12;
pub const DW_CFA_def_cfa_register: ::libc::c_uint = 13;
pub const DW_CFA_def_cfa_offset: ::libc::c_uint = 14;
pub const DW_CFA_def_cfa_expression: ::libc::c_uint = 15;
pub const DW_CFA_expression: ::libc::c_uint = 16;
pub const DW_CFA_offset_extended_sf: ::libc::c_uint = 17;
pub const DW_CFA_def_cfa_sf: ::libc::c_uint = 18;
pub const DW_CFA_def_cfa_offset_sf: ::libc::c_uint = 19;
pub const DW_CFA_val_offset: ::libc::c_uint = 20;
pub const DW_CFA_val_offset_sf: ::libc::c_uint = 21;
pub const DW_CFA_val_expression: ::libc::c_uint = 22;
pub const DW_CFA_low_user: ::libc::c_uint = 28;
pub const DW_CFA_MIPS_advance_loc8: ::libc::c_uint = 29;
pub const DW_CFA_GNU_window_save: ::libc::c_uint = 45;
pub const DW_CFA_AARCH64_negate_ra_state: ::libc::c_uint = 45;
pub const DW_CFA_GNU_args_size: ::libc::c_uint = 46;
pub const DW_CFA_GNU_negative_offset_extended: ::libc::c_uint = 47;
pub const DW_CFA_high_user: ::libc::c_uint = 63;
pub type _bindgen_ty_33 = ::libc::c_uint;
pub const DW_CIE_ID_32: ::libc::c_ulong = 4294967295;
pub const DW_CIE_ID_64: ::libc::c_ulong = 18446744073709551615;
pub type _bindgen_ty_34 = ::libc::c_ulong;
pub const DW_EH_PE_absptr: ::libc::c_uint = 0;
pub const DW_EH_PE_omit: ::libc::c_uint = 255;
pub const DW_EH_PE_uleb128: ::libc::c_uint = 1;
pub const DW_EH_PE_udata2: ::libc::c_uint = 2;
pub const DW_EH_PE_udata4: ::libc::c_uint = 3;
pub const DW_EH_PE_udata8: ::libc::c_uint = 4;
pub const DW_EH_PE_sleb128: ::libc::c_uint = 9;
pub const DW_EH_PE_sdata2: ::libc::c_uint = 10;
pub const DW_EH_PE_sdata4: ::libc::c_uint = 11;
pub const DW_EH_PE_sdata8: ::libc::c_uint = 12;
pub const DW_EH_PE_signed: ::libc::c_uint = 8;
pub const DW_EH_PE_pcrel: ::libc::c_uint = 16;
pub const DW_EH_PE_textrel: ::libc::c_uint = 32;
pub const DW_EH_PE_datarel: ::libc::c_uint = 48;
pub const DW_EH_PE_funcrel: ::libc::c_uint = 64;
pub const DW_EH_PE_aligned: ::libc::c_uint = 80;
pub const DW_EH_PE_indirect: ::libc::c_uint = 128;
pub type _bindgen_ty_35 = ::libc::c_uint;