1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use crate::prelude::*;

extern "C" {
    pub fn snd_mem_malloc(size: c_size_t) -> u32;
    pub fn snd_mem_free(addr: u32);
    pub fn snd_mem_available() -> u32;
    pub fn snd_mem_init(reserve: u32) -> c_int;
    pub fn snd_mem_shutdown();
    pub fn snd_init() -> c_int;
    pub fn snd_shutdown();
    pub fn snd_sh4_to_aica(packet: *mut c_void, size: u32) -> c_int;
    pub fn snd_sh4_to_aica_start();
    pub fn snd_sh4_to_aica_stop();
    pub fn snd_aia_to_sh4(packetout: *mut c_void) -> c_int;
    pub fn snd_poll_resp();
    pub fn snd_pcm16_split(data: *mut u32, left: *mut u32, right: *mut u32,
                           size: c_size_t);
    pub fn snd_pcm16_split_sq(data: *mut u32, left: c_uintptr_t,
                              right: c_uintptr_t, size: c_size_t);
    pub fn snd_pcm8_split(data: *mut u32, left: *mut u32, right: *mut u32,
                          size: c_size_t);
    pub fn snd_adpcm_split(data: *mut u32, left: *mut u32, right: *mut u32,
                          size: c_size_t);
}