Manual bindings (Windows and Clang aren't very good friends), and getting rid of anyhow
[?]
Dec 6, 2020, 9:38 PM
HELRYMZKHZW4S2IEYXA4IE7VOYYL7FH6TVHGFHJ4J3KRBBLHPQPACDependencies
Change contents
- replacement in src/lib.rs at line 11
pub fn out_size() -> bindings::size_t {pub fn out_size() -> size_t { - replacement in src/lib.rs at line 17
p: *mut ZSTD_seekable_CStream_s,p: *mut ZSTD_seekable_CStream, - replacement in src/lib.rs at line 47
ZSTD(bindings::size_t),ZSTD(size_t),Io(#[from] std::io::Error), - edit in src/lib.rs at line 55
Error::Io(ref e) => e.fmt(fmt), - replacement in src/lib.rs at line 127
n: bindings::size_t,n: size_t, - replacement in src/lib.rs at line 175
size: input.len() as bindings::size_t,size: input.len() as size_t, - replacement in src/lib.rs at line 180
size: output.len() as bindings::size_t,size: output.len() as size_t, - replacement in src/lib.rs at line 196
size: output.len() as bindings::size_t,size: output.len() as size_t, - replacement in src/lib.rs at line 240
size: input.len() as bindings::size_t,size: input.len() as size_t, - replacement in src/lib.rs at line 245
size: output.len() as bindings::size_t,size: output.len() as size_t, - replacement in src/lib.rs at line 262
size: input.len() as bindings::size_t,size: input.len() as size_t, - replacement in src/lib.rs at line 267
size: output.len() as bindings::size_t,size: output.len() as size_t, - replacement in src/lib.rs at line 270
let result = ZSTD_compressStream2(self.p, &mut output, &mut input, op as EnumType);let result = ZSTD_compressStream2(self.p, &mut output, &mut input, op as ZSTD_EndDirective); - replacement in src/lib.rs at line 279
size: output.len() as bindings::size_t,size: output.len() as size_t, - replacement in src/lib.rs at line 292
size: output.len() as bindings::size_t,size: output.len() as size_t, - edit in src/lib.rs at line 304
#[cfg(windows)]type EnumType = i32;#[cfg(not(windows))]type EnumType = u32; - replacement in src/lib.rs at line 342
size: input.len() as bindings::size_t,size: input.len() as size_t, - replacement in src/lib.rs at line 347
size: output.len() as bindings::size_t,size: output.len() as size_t, - replacement in src/lib.rs at line 365
ZSTD_seekable_initBuff(p, input.as_ptr() as *const c_void, input.len() as bindings::size_t);ZSTD_seekable_initBuff(p, input.as_ptr() as *const c_void, input.len() as size_t); - replacement in src/lib.rs at line 447
out.len() as bindings::size_t,out.len() as size_t, - replacement in src/lib.rs at line 462
pub fn get_frame_compressed_offset(&self, frame_index: usize) -> bindings::size_t {pub fn get_frame_compressed_offset(&self, frame_index: usize) -> c_ulonglong { - replacement in src/lib.rs at line 483
dest.len() as bindings::size_t,dest.len() as size_t, - replacement in src/lib.rs at line 573
src_size: bindings::size_t,dst_size: bindings::size_t,src_size: size_t,dst_size: size_t, - replacement in src/lib.rs at line 591
src_len: bindings::size_t,src_len: size_t, - replacement in src/lib.rs at line 599
dst.len() as bindings::size_t,dst.len() as size_t, - replacement in src/lib.rs at line 655
len: bindings::size_t,len: size_t, - replacement in src/lib.rs at line 665
) -> Result<(), anyhow::Error> {) -> Result<(), Error> { - replacement in src/lib.rs at line 678
len: chunk.len() as bindings::size_t,len: chunk.len() as size_t, - replacement in src/bindings.rs at line 1
/* automatically generated by rust-bindgen 0.55.1 */use libc::{c_void, size_t, c_int, c_uint, c_char, c_ulonglong}; - edit in src/bindings.rs at line 3
pub type size_t = ::std::os::raw::c_ulong;pub type __off_t = ::std::os::raw::c_long;pub type __off64_t = ::std::os::raw::c_long; - replacement in src/bindings.rs at line 5
pub struct _IO_marker {pub struct ZSTD_seekable_CStream { - edit in src/bindings.rs at line 8
- replacement in src/bindings.rs at line 11
pub struct _IO_codecvt {pub struct ZSTD_CStream { - edit in src/bindings.rs at line 14
- replacement in src/bindings.rs at line 17
pub struct _IO_wide_data {pub struct ZSTD_frameLog { - edit in src/bindings.rs at line 19
}pub type _IO_lock_t = ::std::os::raw::c_void;extern "C" {#[doc = " Simple API"]#[doc = " Compresses `src` content as a single zstd compressed frame into already allocated `dst`."]#[doc = " Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`."]#[doc = " @return : compressed size written into `dst` (<= `dstCapacity),"]#[doc = " or an error code if it fails (which can be tested using ZSTD_isError())."]pub fn ZSTD_compress(dst: *mut ::std::os::raw::c_void,dstCapacity: size_t,src: *const ::std::os::raw::c_void,srcSize: size_t,compressionLevel: ::std::os::raw::c_int,) -> size_t;}extern "C" {pub fn ZSTD_isError(code: size_t) -> ::std::os::raw::c_uint;}extern "C" {pub fn ZSTD_getErrorName(code: size_t) -> *const ::std::os::raw::c_char; - edit in src/bindings.rs at line 20
- replacement in src/bindings.rs at line 23
pub struct ZSTD_CCtx_s {pub struct ZSTD_seekable { - replacement in src/bindings.rs at line 26
#[doc = " Explicit context"]pub type ZSTD_CCtx = ZSTD_CCtx_s; - replacement in src/bindings.rs at line 29
pub struct ZSTD_DCtx_s {_unused: [u8; 0],}pub type ZSTD_DCtx = ZSTD_DCtx_s;#[doc = " Streaming"]#[repr(C)]#[derive(Debug, Copy, Clone)]pub struct ZSTD_inBuffer_s {#[doc = "< start of input buffer"]pub src: *const ::std::os::raw::c_void,#[doc = "< size of input buffer"]pub struct ZSTD_inBuffer {pub src: *const c_void, - edit in src/bindings.rs at line 32
#[doc = "< position where reading stopped. Will be updated. Necessarily 0 <= pos <= size"] - replacement in src/bindings.rs at line 34
pub type ZSTD_inBuffer = ZSTD_inBuffer_s; - replacement in src/bindings.rs at line 37
pub struct ZSTD_outBuffer_s {#[doc = "< start of output buffer"]pub dst: *mut ::std::os::raw::c_void,#[doc = "< size of output buffer"]pub struct ZSTD_outBuffer {pub dst: *mut c_void, - edit in src/bindings.rs at line 40
#[doc = "< position where writing stopped. Will be updated. Necessarily 0 <= pos <= size"] - edit in src/bindings.rs at line 41
}pub type ZSTD_outBuffer = ZSTD_outBuffer_s;pub type ZSTD_CStream = ZSTD_CCtx;extern "C" {pub fn ZSTD_createCStream() -> *mut ZSTD_CStream;}extern "C" {pub fn ZSTD_freeCStream(zcs: *mut ZSTD_CStream) -> size_t;}pub type ZSTD_EndDirective = ::std::os::raw::c_uint;extern "C" {#[doc = " ZSTD_compressStream2() :"]#[doc = " Behaves about the same as ZSTD_compressStream, with additional control on end directive."]#[doc = " - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*()"]#[doc = " - Compression parameters cannot be changed once compression is started (save a list of exceptions in multi-threading mode)"]#[doc = " - output->pos must be <= dstCapacity, input->pos must be <= srcSize"]#[doc = " - output->pos and input->pos will be updated. They are guaranteed to remain below their respective limit."]#[doc = " - When nbWorkers==0 (default), function is blocking : it completes its job before returning to caller."]#[doc = " - When nbWorkers>=1, function is non-blocking : it just acquires a copy of input, and distributes jobs to internal worker threads, flush whatever is available,"]#[doc = " and then immediately returns, just indicating that there is some data remaining to be flushed."]#[doc = " The function nonetheless guarantees forward progress : it will return only after it reads or write at least 1+ byte."]#[doc = " - Exception : if the first call requests a ZSTD_e_end directive and provides enough dstCapacity, the function delegates to ZSTD_compress2() which is always blocking."]#[doc = " - @return provides a minimum amount of data remaining to be flushed from internal buffers"]#[doc = " or an error code, which can be tested using ZSTD_isError()."]#[doc = " if @return != 0, flush is not fully completed, there is still some data left within internal buffers."]#[doc = " This is useful for ZSTD_e_flush, since in this case more flushes are necessary to empty all buffers."]#[doc = " For ZSTD_e_end, @return == 0 when internal buffers are fully flushed and frame is completed."]#[doc = " - after a ZSTD_e_end directive, if internal buffer is not fully flushed (@return != 0),"]#[doc = " only ZSTD_e_end or ZSTD_e_flush operations are allowed."]#[doc = " Before starting a new compression job, or changing compression parameters,"]#[doc = " it is required to fully flush internal buffers."]pub fn ZSTD_compressStream2(cctx: *mut ZSTD_CCtx,output: *mut ZSTD_outBuffer,input: *mut ZSTD_inBuffer,endOp: ZSTD_EndDirective,) -> size_t;}extern "C" {pub fn ZSTD_CStreamInSize() -> size_t;}extern "C" {pub fn ZSTD_CStreamOutSize() -> size_t;}extern "C" {#[doc = " Equivalent to:"]#[doc = ""]#[doc = " ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only);"]#[doc = " ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any)"]#[doc = " ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel);"]pub fn ZSTD_initCStream(zcs: *mut ZSTD_CStream,compressionLevel: ::std::os::raw::c_int,) -> size_t; - replacement in src/bindings.rs at line 42
extern "C" {#[doc = " Alternative for ZSTD_compressStream2(zcs, output, input, ZSTD_e_continue)."]#[doc = " NOTE: The return value is different. ZSTD_compressStream() returns a hint for"]#[doc = " the next read size (if non-zero and not an error). ZSTD_compressStream2()"]#[doc = " returns the minimum nb of bytes left to flush (if non-zero and not an error)."]pub fn ZSTD_compressStream(zcs: *mut ZSTD_CStream,output: *mut ZSTD_outBuffer,input: *mut ZSTD_inBuffer,) -> size_t;}extern "C" {#[doc = " Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_flush)."]pub fn ZSTD_flushStream(zcs: *mut ZSTD_CStream, output: *mut ZSTD_outBuffer) -> size_t;}extern "C" {#[doc = " Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_end)."]pub fn ZSTD_endStream(zcs: *mut ZSTD_CStream, output: *mut ZSTD_outBuffer) -> size_t;}pub type ZSTD_DStream = ZSTD_DCtx;extern "C" {pub fn ZSTD_createDStream() -> *mut ZSTD_DStream;}extern "C" {pub fn ZSTD_freeDStream(zds: *mut ZSTD_DStream) -> size_t;}extern "C" {pub fn ZSTD_initDStream(zds: *mut ZSTD_DStream) -> size_t;}extern "C" {pub fn ZSTD_decompressStream(zds: *mut ZSTD_DStream,output: *mut ZSTD_outBuffer,input: *mut ZSTD_inBuffer,) -> size_t;}extern "C" {pub fn ZSTD_DStreamOutSize() -> size_t;} - replacement in src/bindings.rs at line 45
pub struct ZSTD_seekable_CStream_s {pub struct ZSTD_DStream { - replacement in src/bindings.rs at line 48
pub type ZSTD_seekable_CStream = ZSTD_seekable_CStream_s;pub type ZSTD_seekable_read = ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void,buffer: *mut ::std::os::raw::c_void,n: size_t,) -> ::std::os::raw::c_int,>;pub type ZSTD_seekable_seek = ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void,offset: ::std::os::raw::c_longlong,origin: ::std::os::raw::c_int,) -> ::std::os::raw::c_int,>; - replacement in src/bindings.rs at line 65
pub struct ZSTD_seekable_s {_unused: [u8; 0],pub struct ZSTD_seekable_customFile {pub opaque: *mut ::std::os::raw::c_void,pub read: ZSTD_seekable_read,pub seek: ZSTD_seekable_seek, - replacement in src/bindings.rs at line 70
pub type ZSTD_seekable = ZSTD_seekable_s;pub type ZSTD_EndDirective = c_uint; - edit in src/bindings.rs at line 74
pub fn ZSTD_compress(dst: *mut c_void,dstCapacity: size_t,src: *const c_void,srcSize: size_t,compressionLevel: c_int,) -> size_t;pub fn ZSTD_isError(code: size_t) -> c_uint;pub fn ZSTD_getErrorName(code: size_t) -> *const c_char;pub fn ZSTD_DStreamOutSize() -> size_t;pub fn ZSTD_createCStream() -> *mut ZSTD_CStream;pub fn ZSTD_freeCStream(zcs: *mut ZSTD_CStream) -> size_t; - edit in src/bindings.rs at line 87
}extern "C" { - edit in src/bindings.rs at line 88
}extern "C" { - replacement in src/bindings.rs at line 90
compressionLevel: ::std::os::raw::c_int,checksumFlag: ::std::os::raw::c_int,maxFrameSize: ::std::os::raw::c_uint,compressionLevel: c_int,checksumFlag: c_int,maxFrameSize: c_uint, - edit in src/bindings.rs at line 94
}extern "C" { - edit in src/bindings.rs at line 99
}extern "C" { - replacement in src/bindings.rs at line 103
}#[repr(C)]#[derive(Debug, Copy, Clone)]pub struct ZSTD_frameLog_s {_unused: [u8; 0],}pub type ZSTD_frameLog = ZSTD_frameLog_s;extern "C" {pub fn ZSTD_seekable_createFrameLog(checksumFlag: ::std::os::raw::c_int) -> *mut ZSTD_frameLog;}extern "C" {pub fn ZSTD_seekable_createFrameLog(checksumFlag: c_int) -> *mut ZSTD_frameLog; - edit in src/bindings.rs at line 105
}extern "C" { - replacement in src/bindings.rs at line 107
compressedSize: ::std::os::raw::c_uint,decompressedSize: ::std::os::raw::c_uint,checksum: ::std::os::raw::c_uint,compressedSize: c_uint,decompressedSize: c_uint,checksum: c_uint, - edit in src/bindings.rs at line 111
}extern "C" { - edit in src/bindings.rs at line 115
}extern "C" { - edit in src/bindings.rs at line 116
}extern "C" { - edit in src/bindings.rs at line 117
}extern "C" { - replacement in src/bindings.rs at line 119
src: *const ::std::os::raw::c_void,src: *const c_void, - edit in src/bindings.rs at line 122
}extern "C" { - edit in src/bindings.rs at line 123
}extern "C" { - replacement in src/bindings.rs at line 125
dst: *mut ::std::os::raw::c_void,dst: *mut c_void, - replacement in src/bindings.rs at line 127
offset: ::std::os::raw::c_ulonglong,offset: c_ulonglong, - edit in src/bindings.rs at line 129
}extern "C" { - replacement in src/bindings.rs at line 131
dst: *mut ::std::os::raw::c_void,dst: *mut c_void, - replacement in src/bindings.rs at line 133
frameIndex: ::std::os::raw::c_uint,frameIndex: c_uint, - replacement in src/bindings.rs at line 135
}extern "C" {pub fn ZSTD_seekable_getNumFrames(zs: *mut ZSTD_seekable) -> ::std::os::raw::c_uint;}extern "C" {pub fn ZSTD_seekable_getNumFrames(zs: *mut ZSTD_seekable) -> c_uint; - replacement in src/bindings.rs at line 138
frameIndex: ::std::os::raw::c_uint,) -> ::std::os::raw::c_ulonglong;}extern "C" {frameIndex: c_uint,) -> c_ulonglong; - replacement in src/bindings.rs at line 142
frameIndex: ::std::os::raw::c_uint,) -> ::std::os::raw::c_ulonglong;}extern "C" {frameIndex: c_uint,) -> c_ulonglong; - replacement in src/bindings.rs at line 146
frameIndex: ::std::os::raw::c_uint,frameIndex: c_uint, - edit in src/bindings.rs at line 148
}extern "C" { - replacement in src/bindings.rs at line 150
frameIndex: ::std::os::raw::c_uint,frameIndex: c_uint, - edit in src/bindings.rs at line 152
}extern "C" { - replacement in src/bindings.rs at line 154
offset: ::std::os::raw::c_ulonglong,) -> ::std::os::raw::c_uint;offset: c_ulonglong,) -> c_uint;pub fn ZSTD_compressStream2(cctx: *mut ZSTD_CStream,output: *mut ZSTD_outBuffer,input: *mut ZSTD_inBuffer,endOp: ZSTD_EndDirective,) -> size_t;pub fn ZSTD_CStreamInSize() -> size_t;pub fn ZSTD_CStreamOutSize() -> size_t;pub fn ZSTD_compressStream(zcs: *mut ZSTD_CStream,output: *mut ZSTD_outBuffer,input: *mut ZSTD_inBuffer,) -> size_t;pub fn ZSTD_flushStream(zcs: *mut ZSTD_CStream, output: *mut ZSTD_outBuffer) -> size_t;pub fn ZSTD_endStream(zcs: *mut ZSTD_CStream, output: *mut ZSTD_outBuffer) -> size_t;pub fn ZSTD_createDStream() -> *mut ZSTD_DStream;pub fn ZSTD_freeDStream(zds: *mut ZSTD_DStream) -> size_t;pub fn ZSTD_initDStream(zds: *mut ZSTD_DStream) -> size_t;pub fn ZSTD_decompressStream(zds: *mut ZSTD_DStream,output: *mut ZSTD_outBuffer,input: *mut ZSTD_inBuffer,) -> size_t;pub fn ZSTD_seekable_initAdvanced(zs: *mut ZSTD_seekable,src: ZSTD_seekable_customFile,) -> size_t;pub fn ZSTD_initCStream(zcs: *mut ZSTD_CStream,compressionLevel: c_int,) -> size_t; - replacement in src/bindings.rs at line 189
pub type ZSTD_seekable_read = ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void,buffer: *mut ::std::os::raw::c_void,n: size_t,) -> ::std::os::raw::c_int,>;pub type ZSTD_seekable_seek = ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void,offset: ::std::os::raw::c_longlong,origin: ::std::os::raw::c_int,) -> ::std::os::raw::c_int,>;/*#[doc = " Explicit context"]pub type ZSTD_CCtx = ZSTD_CCtx_s;#[repr(C)]#[derive(Debug, Copy, Clone)]pub struct ZSTD_DCtx_s {_unused: [u8; 0],}pub type ZSTD_DCtx = ZSTD_DCtx_s;#[doc = " Streaming"]pub type ZSTD_outBuffer = ZSTD_outBuffer_s;pub type ZSTD_CStream = ZSTD_CCtx;extern "C" {}pub type ZSTD_DStream = ZSTD_DCtx;extern "C" {}extern "C" {} - replacement in src/bindings.rs at line 210
pub struct ZSTD_seekable_customFile {pub opaque: *mut ::std::os::raw::c_void,pub read: ZSTD_seekable_read,pub seek: ZSTD_seekable_seek,pub type ZSTD_seekable = ZSTD_seekable_s;extern "C" { - replacement in src/bindings.rs at line 214
pub fn ZSTD_seekable_initAdvanced(zs: *mut ZSTD_seekable,src: ZSTD_seekable_customFile,) -> size_t;}extern "C" { - edit in src/bindings.rs at line 217[2.13163]
*/ - replacement in Cargo.toml at line 4
version = "0.1.3"version = "0.1.5" - edit in Cargo.toml at line 28
anyhow = "1.0"