1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/* automatically generated by rust-bindgen */

#![allow(non_snake_case, non_camel_case_types)]

pub const CHM_UNCOMPRESSED: u32 = 0;
pub const CHM_COMPRESSED: u32 = 1;
pub const CHM_MAX_PATHLEN: u32 = 512;
pub const CHM_PARAM_MAX_BLOCKS_CACHED: u32 = 0;
pub const CHM_RESOLVE_SUCCESS: u32 = 0;
pub const CHM_RESOLVE_FAILURE: u32 = 1;
pub const CHM_ENUMERATE_NORMAL: u32 = 1;
pub const CHM_ENUMERATE_META: u32 = 2;
pub const CHM_ENUMERATE_SPECIAL: u32 = 4;
pub const CHM_ENUMERATE_FILES: u32 = 8;
pub const CHM_ENUMERATE_DIRS: u32 = 16;
pub const CHM_ENUMERATE_ALL: u32 = 31;
pub const CHM_ENUMERATOR_FAILURE: u32 = 0;
pub const CHM_ENUMERATOR_CONTINUE: u32 = 1;
pub const CHM_ENUMERATOR_SUCCESS: u32 = 2;
pub type LONGUINT64 = ::std::os::raw::c_ulonglong;
pub type LONGINT64 = ::std::os::raw::c_longlong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct chmFile {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct chmUnitInfo {
    pub start: LONGUINT64,
    pub length: LONGUINT64,
    pub space: ::std::os::raw::c_int,
    pub flags: ::std::os::raw::c_int,
    pub path: [::std::os::raw::c_char; 513usize],
}
#[test]
fn bindgen_test_layout_chmUnitInfo() {
    assert_eq!(
        ::std::mem::size_of::<chmUnitInfo>(),
        544usize,
        concat!("Size of: ", stringify!(chmUnitInfo))
    );
    assert_eq!(
        ::std::mem::align_of::<chmUnitInfo>(),
        8usize,
        concat!("Alignment of ", stringify!(chmUnitInfo))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<chmUnitInfo>())).start as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(chmUnitInfo),
            "::",
            stringify!(start)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<chmUnitInfo>())).length as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(chmUnitInfo),
            "::",
            stringify!(length)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<chmUnitInfo>())).space as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(chmUnitInfo),
            "::",
            stringify!(space)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<chmUnitInfo>())).flags as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(chmUnitInfo),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<chmUnitInfo>())).path as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(chmUnitInfo),
            "::",
            stringify!(path)
        )
    );
}
extern "C" {
    pub fn chm_open(filename: *const ::std::os::raw::c_char) -> *mut chmFile;
}
extern "C" {
    pub fn chm_close(h: *mut chmFile);
}
extern "C" {
    pub fn chm_set_param(
        h: *mut chmFile,
        paramType: ::std::os::raw::c_int,
        paramVal: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn chm_resolve_object(
        h: *mut chmFile,
        objPath: *const ::std::os::raw::c_char,
        ui: *mut chmUnitInfo,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn chm_retrieve_object(
        h: *mut chmFile,
        ui: *mut chmUnitInfo,
        buf: *mut ::std::os::raw::c_uchar,
        addr: LONGUINT64,
        len: LONGINT64,
    ) -> LONGINT64;
}
pub type CHM_ENUMERATOR = ::std::option::Option<
    unsafe extern "C" fn(
        h: *mut chmFile,
        ui: *mut chmUnitInfo,
        context: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn chm_enumerate(
        h: *mut chmFile,
        what: ::std::os::raw::c_int,
        e: CHM_ENUMERATOR,
        context: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn chm_enumerate_dir(
        h: *mut chmFile,
        prefix: *const ::std::os::raw::c_char,
        what: ::std::os::raw::c_int,
        e: CHM_ENUMERATOR,
        context: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}