#![allow(bad_style)] #![doc(html_root_url = "https://docs.rs/lzma-sys/0.1")] use libc::{c_char, c_uchar, c_void, size_t}; use std::u64; #[cfg(target_env = "msvc")] #[doc(hidden)] pub type __enum_ty = libc::c_int; #[cfg(not(target_env = "msvc"))] #[doc(hidden)] pub type __enum_ty = libc::c_uint; pub type lzma_bool = c_uchar; pub type lzma_ret = __enum_ty; pub type lzma_action = __enum_ty; type lzma_reserved_enum = __enum_ty; pub type lzma_check = __enum_ty; pub type lzma_vli = u64; pub type lzma_mode = __enum_ty; pub type lzma_match_finder = __enum_ty; pub const LZMA_OK: lzma_ret = 0; pub const LZMA_STREAM_END: lzma_ret = 1; pub const LZMA_NO_CHECK: lzma_ret = 2; pub const LZMA_UNSUPPORTED_CHECK: lzma_ret = 3; pub const LZMA_GET_CHECK: lzma_ret = 4; pub const LZMA_MEM_ERROR: lzma_ret = 5; pub const LZMA_MEMLIMIT_ERROR: lzma_ret = 6; pub const LZMA_FORMAT_ERROR: lzma_ret = 7; pub const LZMA_OPTIONS_ERROR: lzma_ret = 8; pub const LZMA_DATA_ERROR: lzma_ret = 9; pub const LZMA_BUF_ERROR: lzma_ret = 10; pub const LZMA_PROG_ERROR: lzma_ret = 11; pub const LZMA_RUN: lzma_action = 0; pub const LZMA_SYNC_FLUSH: lzma_action = 1; pub const LZMA_FULL_FLUSH: lzma_action = 2; pub const LZMA_FULL_BARRIER: lzma_action = 4; pub const LZMA_FINISH: lzma_action = 3; pub const LZMA_CHECK_NONE: lzma_check = 0; pub const LZMA_CHECK_CRC32: lzma_check = 1; pub const LZMA_CHECK_CRC64: lzma_check = 4; pub const LZMA_CHECK_SHA256: lzma_check = 10; pub const LZMA_MODE_FAST: lzma_mode = 1; pub const LZMA_MODE_NORMAL: lzma_mode = 2; pub const LZMA_MF_HC3: lzma_match_finder = 0x03; pub const LZMA_MF_HC4: lzma_match_finder = 0x04; pub const LZMA_MF_BT2: lzma_match_finder = 0x12; pub const LZMA_MF_BT3: lzma_match_finder = 0x13; pub const LZMA_MF_BT4: lzma_match_finder = 0x14; pub const LZMA_TELL_NO_CHECK: u32 = 0x01; pub const LZMA_TELL_UNSUPPORTED_CHECK: u32 = 0x02; pub const LZMA_TELL_ANY_CHECK: u32 = 0x04; pub const LZMA_IGNORE_CHECK: u32 = 0x10; pub const LZMA_CONCATENATED: u32 = 0x08; pub const LZMA_PRESET_DEFAULT: u32 = 6; pub const LZMA_PRESET_LEVEL_MASK: u32 = 0x1f; pub const LZMA_PRESET_EXTREME: u32 = 1 << 31; pub const LZMA_DICT_SIZE_MIN: u32 = 4096; pub const LZMA_DICT_SIZE_DEFAULT: u32 = 1 << 23; pub const LZMA_LCLP_MIN: u32 = 0; pub const LZMA_LCLP_MAX: u32 = 4; pub const LZMA_LC_DEFAULT: u32 = 3; pub const LZMA_LP_DEFAULT: u32 = 0; pub const LZMA_PB_MIN: u32 = 0; pub const LZMA_PB_MAX: u32 = 4; pub const LZMA_PB_DEFAULT: u32 = 2; pub const LZMA_BACKWARD_SIZE_MIN: lzma_vli = 4; pub const LZMA_BACKWARD_SIZE_MAX: lzma_vli = 1 << 34; pub const LZMA_VLI_MAX: lzma_vli = u64::MAX / 2; pub const LZMA_VLI_UNKNOWN: lzma_vli = u64::MAX; pub const LZMA_VLI_BYTES_MAX: usize = 9; pub const LZMA_FILTER_X86: lzma_vli = 0x04; pub const LZMA_FILTER_POWERPC: lzma_vli = 0x05; pub const LZMA_FILTER_IA64: lzma_vli = 0x06; pub const LZMA_FILTER_ARM: lzma_vli = 0x07; pub const LZMA_FILTER_ARMTHUMB: lzma_vli = 0x08; pub const LZMA_FILTER_SPARC: lzma_vli = 0x09; pub const LZMA_FILTER_LZMA1: lzma_vli = 0x4000000000000001; pub const LZMA_FILTER_LZMA2: lzma_vli = 0x21; #[repr(C)] pub struct lzma_allocator { pub alloc: Option *mut c_void>, pub free: Option, pub opaque: *mut c_void, } pub enum lzma_internal {} #[repr(C)] pub struct lzma_stream { pub next_in: *const u8, pub avail_in: size_t, pub total_in: u64, pub next_out: *mut u8, pub avail_out: size_t, pub total_out: u64, pub allocator: *const lzma_allocator, internal: *mut lzma_internal, reserved_ptr1: *mut c_void, reserved_ptr2: *mut c_void, reserved_ptr3: *mut c_void, reserved_ptr4: *mut c_void, reserved_int1: u64, reserved_int2: u64, reserved_int3: size_t, reserved_int4: size_t, reserved_enum1: lzma_reserved_enum, reserved_enum2: lzma_reserved_enum, } #[repr(C)] pub struct lzma_filter { pub id: lzma_vli, pub options: *mut c_void, } #[repr(C)] pub struct lzma_mt { pub flags: u32, pub threads: u32, pub block_size: u64, pub timeout: u32, pub preset: u32, pub filters: *const lzma_filter, pub check: lzma_check, reserved_enum1: lzma_reserved_enum, reserved_enum2: lzma_reserved_enum, reserved_enum3: lzma_reserved_enum, reserved_int1: u32, reserved_int2: u32, reserved_int3: u32, reserved_int4: u32, reserved_int5: u64, reserved_int6: u64, reserved_int7: u64, reserved_int8: u64, reserved_ptr1: *mut c_void, reserved_ptr2: *mut c_void, reserved_ptr3: *mut c_void, reserved_ptr4: *mut c_void, } #[repr(C)] #[derive(Copy, Clone)] pub struct lzma_options_lzma { pub dict_size: u32, pub preset_dict: *const u8, pub preset_dict_size: u32, pub lc: u32, pub lp: u32, pub pb: u32, pub mode: lzma_mode, pub nice_len: u32, pub mf: lzma_match_finder, pub depth: u32, reserved_int1: u32, reserved_int2: u32, reserved_int3: u32, reserved_int4: u32, reserved_int5: u32, reserved_int6: u32, reserved_int7: u32, reserved_int8: u32, reserved_enum1: lzma_reserved_enum, reserved_enum2: lzma_reserved_enum, reserved_enum3: lzma_reserved_enum, reserved_enum4: lzma_reserved_enum, reserved_ptr1: *mut c_void, reserved_ptr2: *mut c_void, } #[repr(C)] pub struct lzma_stream_flags { pub version: u32, pub backward_size: lzma_vli, pub check: lzma_check, reserved_enum1: lzma_reserved_enum, reserved_enum2: lzma_reserved_enum, reserved_enum3: lzma_reserved_enum, reserved_enum4: lzma_reserved_enum, reserved_bool1: lzma_bool, reserved_bool2: lzma_bool, reserved_bool3: lzma_bool, reserved_bool4: lzma_bool, reserved_bool5: lzma_bool, reserved_bool6: lzma_bool, reserved_bool7: lzma_bool, reserved_bool8: lzma_bool, reserved_int1: u32, reserved_int2: u32, } #[repr(C)] pub struct lzma_options_bcj { pub start_offset: u32, } extern "C" { pub fn lzma_code(strm: *mut lzma_stream, action: lzma_action) -> lzma_ret; pub fn lzma_end(strm: *mut lzma_stream); pub fn lzma_get_progress(strm: *mut lzma_stream, progress_in: *mut u64, progress_out: *mut u64); pub fn lzma_memusage(strm: *const lzma_stream) -> u64; pub fn lzma_memlimit_get(strm: *const lzma_stream) -> u64; pub fn lzma_memlimit_set(strm: *mut lzma_stream, memlimit: u64) -> lzma_ret; pub fn lzma_easy_encoder_memusage(preset: u32) -> u64; pub fn lzma_easy_decoder_memusage(preset: u32) -> u64; pub fn lzma_easy_encoder(strm: *mut lzma_stream, preset: u32, check: lzma_check) -> lzma_ret; pub fn lzma_easy_buffer_encode( preset: u32, check: lzma_check, allocator: *const lzma_allocator, input: *const u8, in_size: size_t, out: *mut u8, out_pos: *mut size_t, out_size: size_t, ) -> lzma_ret; pub fn lzma_stream_encoder( strm: *mut lzma_stream, filters: *const lzma_filter, check: lzma_check, ) -> lzma_ret; pub fn lzma_stream_encoder_mt_memusage(options: *const lzma_mt) -> u64; pub fn lzma_stream_encoder_mt(strm: *mut lzma_stream, options: *const lzma_mt) -> lzma_ret; pub fn lzma_alone_encoder( strm: *mut lzma_stream, options: *const lzma_options_lzma, ) -> lzma_ret; pub fn lzma_stream_buffer_bound(uncompressed_size: size_t) -> size_t; pub fn lzma_stream_buffer_encode( filters: *mut lzma_filter, check: lzma_check, allocator: *const lzma_allocator, input: *const u8, in_size: size_t, out: *mut u8, out_pos: *mut size_t, out_size: size_t, ) -> lzma_ret; pub fn lzma_stream_decoder(strm: *mut lzma_stream, memlimit: u64, flags: u32) -> lzma_ret; pub fn lzma_auto_decoder(strm: *mut lzma_stream, memlimit: u64, flags: u32) -> lzma_ret; pub fn lzma_alone_decoder(strm: *mut lzma_stream, memlimit: u64) -> lzma_ret; pub fn lzma_stream_buffer_decode( memlimit: *mut u64, flags: u32, allocator: *const lzma_allocator, input: *const u8, in_pos: *mut size_t, in_size: size_t, out: *mut u8, out_pos: *mut size_t, out_size: size_t, ) -> lzma_ret; pub fn lzma_check_is_supported(check: lzma_check) -> lzma_bool; pub fn lzma_check_size(check: lzma_check) -> u32; pub fn lzma_crc32(buf: *const u8, size: size_t, crc: u32) -> u32; pub fn lzma_crc64(buf: *const u8, size: size_t, crc: u64) -> u64; pub fn lzma_get_check(strm: *const lzma_stream) -> lzma_check; pub fn lzma_filter_encoder_is_supported(id: lzma_vli) -> lzma_bool; pub fn lzma_filter_decoder_is_supported(id: lzma_vli) -> lzma_bool; pub fn lzma_filters_copy( src: *const lzma_filter, dest: *mut lzma_filter, allocator: *const lzma_allocator, ) -> lzma_ret; pub fn lzma_raw_encoder_memusage(filters: *const lzma_filter) -> u64; pub fn lzma_raw_decoder_memusage(filters: *const lzma_filter) -> u64; pub fn lzma_raw_encoder(strm: *mut lzma_stream, filters: *const lzma_filter) -> lzma_ret; pub fn lzma_raw_decoder(strm: *mut lzma_stream, filters: *const lzma_filter) -> lzma_ret; pub fn lzma_filters_update(strm: *mut lzma_stream, filters: *const lzma_filter) -> lzma_ret; pub fn lzma_raw_buffer_encode( filters: *const lzma_filter, allocator: *const lzma_allocator, input: *const u8, in_size: size_t, out: *mut u8, out_pos: *mut size_t, out_size: size_t, ) -> lzma_ret; pub fn lzma_raw_buffer_decode( filters: *const lzma_filter, allocator: *const lzma_allocator, input: *const u8, in_pos: *mut size_t, in_size: size_t, out: *mut u8, out_pos: *mut size_t, out_size: size_t, ) -> lzma_ret; pub fn lzma_properties_size(size: *mut u32, filter: *const lzma_filter) -> lzma_ret; pub fn lzma_properties_encode(filter: *const lzma_filter, props: *mut u8) -> lzma_ret; pub fn lzma_properties_decode( filter: *mut lzma_filter, allocator: *const lzma_allocator, props: *const u8, props_size: size_t, ) -> lzma_ret; pub fn lzma_physmem() -> u64; pub fn lzma_cputhreads() -> u32; pub fn lzma_stream_header_encode(options: *const lzma_stream_flags, out: *mut u8) -> lzma_ret; pub fn lzma_stream_footer_encode(options: *const lzma_stream_flags, out: *mut u8) -> lzma_ret; pub fn lzma_stream_header_decode(options: *mut lzma_stream_flags, input: *const u8) -> lzma_ret; pub fn lzma_stream_footer_decode(options: *mut lzma_stream_flags, input: *const u8) -> lzma_ret; pub fn lzma_stream_flags_compare( a: *const lzma_stream_flags, b: *const lzma_stream_flags, ) -> lzma_ret; pub fn lzma_version_number() -> u32; pub fn lzma_version_string() -> *const c_char; pub fn lzma_vli_encode( vli: lzma_vli, vli_pos: *mut size_t, out: *mut u8, out_pos: *mut size_t, out_size: size_t, ) -> lzma_ret; pub fn lzma_vli_decode( vli: *mut lzma_vli, vli_pos: *mut size_t, input: *const u8, in_pos: *mut size_t, in_size: size_t, ) -> lzma_ret; pub fn lzma_vli_size(vli: lzma_vli) -> u32; pub fn lzma_lzma_preset(options: *mut lzma_options_lzma, preset: u32) -> lzma_bool; pub fn lzma_mf_is_supported(mf: lzma_match_finder) -> lzma_bool; }