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
pub const GSM_MAGIC: u32 = 13;
pub const GSM_OPT_VERBOSE: u32 = 1;
pub const GSM_OPT_FAST: u32 = 2;
pub const GSM_OPT_LTP_CUT: u32 = 3;
pub const GSM_OPT_WAV49: u32 = 4;
pub const GSM_OPT_FRAME_INDEX: u32 = 5;
pub const GSM_OPT_FRAME_CHAIN: u32 = 6;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CFile {
    _unused: [u8; 0],
}
pub type FILE = *mut CFile;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GsmState {
    _unused: [u8; 0],
}
pub type Gsm = *mut GsmState;
pub type GsmSignal = ::std::os::raw::c_short;
pub type GsmByte = ::std::os::raw::c_uchar;
pub type GsmFrame = [GsmByte; 33usize];
extern "C" {
    pub fn gsm_create() -> Gsm;
}
extern "C" {
    pub fn gsm_destroy(arg1: Gsm);
}
extern "C" {
    pub fn gsm_print(arg1: *mut FILE, arg2: Gsm, arg3: *mut GsmByte) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gsm_option(
        arg1: Gsm,
        arg2: ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gsm_encode(arg1: Gsm, arg2: *mut GsmSignal, arg3: *mut GsmByte);
}
extern "C" {
    pub fn gsm_decode(
        arg1: Gsm,
        arg2: *mut GsmByte,
        arg3: *mut GsmSignal,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gsm_explode(
        arg1: Gsm,
        arg2: *mut GsmByte,
        arg3: *mut GsmSignal,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gsm_implode(arg1: Gsm, arg2: *mut GsmSignal, arg3: *mut GsmByte);
}