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
#![doc(html_root_url = "https://docs.rs/bzip2-sys/0.1")] extern crate libc; use libc::{c_char, c_int, c_uint, c_void}; pub const BZ_RUN: c_int = 0; pub const BZ_FLUSH: c_int = 1; pub const BZ_FINISH: c_int = 2; pub const BZ_OK: c_int = 0; pub const BZ_RUN_OK: c_int = 1; pub const BZ_FLUSH_OK: c_int = 2; pub const BZ_FINISH_OK: c_int = 3; pub const BZ_STREAM_END: c_int = 4; pub const BZ_SEQUENCE_ERROR: c_int = -1; pub const BZ_PARAM_ERROR: c_int = -2; pub const BZ_MEM_ERROR: c_int = -3; pub const BZ_DATA_ERROR: c_int = -4; pub const BZ_DATA_ERROR_MAGIC: c_int = -5; pub const BZ_IO_ERROR: c_int = -6; pub const BZ_UNEXPECTED_EOF: c_int = -7; pub const BZ_OUTBUFF_FULL: c_int = -8; pub const BZ_CONFIG_ERROR: c_int = -9; #[repr(C)] pub struct bz_stream { pub next_in: *mut c_char, pub avail_in: c_uint, pub total_in_lo32: c_uint, pub total_in_hi32: c_uint, pub next_out: *mut c_char, pub avail_out: c_uint, pub total_out_lo32: c_uint, pub total_out_hi32: c_uint, pub state: *mut c_void, pub bzalloc: Option<extern "C" fn(*mut c_void, c_int, c_int) -> *mut c_void>, pub bzfree: Option<extern "C" fn(*mut c_void, *mut c_void)>, pub opaque: *mut c_void, } macro_rules! abi_compat { ($(pub fn $name:ident($($arg:ident: $t:ty),*) -> $ret:ty,)*) => { #[cfg(windows)] extern "system" { $(pub fn $name($($arg: $t),*) -> $ret;)* } #[cfg(not(windows))] extern { $(pub fn $name($($arg: $t),*) -> $ret;)* } } } abi_compat! { pub fn BZ2_bzCompressInit(stream: *mut bz_stream, blockSize100k: c_int, verbosity: c_int, workFactor: c_int) -> c_int, pub fn BZ2_bzCompress(stream: *mut bz_stream, action: c_int) -> c_int, pub fn BZ2_bzCompressEnd(stream: *mut bz_stream) -> c_int, pub fn BZ2_bzDecompressInit(stream: *mut bz_stream, verbosity: c_int, small: c_int) -> c_int, pub fn BZ2_bzDecompress(stream: *mut bz_stream) -> c_int, pub fn BZ2_bzDecompressEnd(stream: *mut bz_stream) -> c_int, } #[no_mangle] pub fn bz_internal_error(errcode: c_int) { panic!("bz internal error: {}", errcode); }