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
use libc::{c_uchar, uint32_t, c_char, FILE, c_void}; use libc::{c_int, int64_t, size_t}; use sdl::SDL_bool; #[allow(dead_code)] #[repr(C)] struct SDL_RWops_Anon { data: [c_uchar; 24], } pub static RW_SEEK_SET: c_int = 0; pub static RW_SEEK_CUR: c_int = 1; pub static RW_SEEK_END: c_int = 2; #[allow(dead_code)] #[repr(C)] pub struct SDL_RWops { pub size: extern "C" fn(context: *mut SDL_RWops) -> int64_t, pub seek: extern "C" fn(context: *mut SDL_RWops, offset: int64_t, whence: c_int) -> int64_t, pub read: extern "C" fn(context: *mut SDL_RWops, ptr: *mut c_void, size: size_t, maxnum: size_t) -> size_t, pub write: extern "C" fn(context: *mut SDL_RWops, ptr: *const c_void, size: size_t, maxnum: size_t) -> size_t, pub close: extern "C" fn(context: *mut SDL_RWops) -> c_int, pub type_: uint32_t, hidden: SDL_RWops_Anon } extern "C" { pub fn SDL_RWFromFile(file: *const c_char, mode: *const c_char) -> *mut SDL_RWops; pub fn SDL_RWFromFP(fp: *mut FILE, autoclose: SDL_bool) -> *mut SDL_RWops; pub fn SDL_RWFromMem(mem: *mut c_void, size: c_int) -> *mut SDL_RWops; pub fn SDL_RWFromConstMem(mem: *const c_void, size: c_int) -> *mut SDL_RWops; pub fn SDL_AllocRW() -> *mut SDL_RWops; pub fn SDL_FreeRW(area: *mut SDL_RWops); }