/* automatically generated by rust-bindgen */
#![allow(warnings)]

pub(crate) const LZO1X_1_MEM_COMPRESS: usize = 131072;
pub(crate) type lzo_uint = ::std::os::raw::c_ulonglong;
extern "C" {
    pub fn __lzo_init_v2(
        arg1: ::std::os::raw::c_uint,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_int,
        arg8: ::std::os::raw::c_int,
        arg9: ::std::os::raw::c_int,
        arg10: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn lzo_version() -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn lzo_adler32(
        c: ::std::os::raw::c_uint,
        buf: *const ::std::os::raw::c_uchar,
        len: lzo_uint,
    ) -> ::std::os::raw::c_uint;
}
pub type lzo_alloc_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        self_: *mut lzo_callback_t,
        items: lzo_uint,
        size: lzo_uint,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type lzo_free_func_t = ::std::option::Option<
    unsafe extern "C" fn(self_: *mut lzo_callback_t, ptr: *mut ::std::os::raw::c_void),
>;
pub type lzo_progress_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut lzo_callback_t,
        arg2: lzo_uint,
        arg3: lzo_uint,
        arg4: ::std::os::raw::c_int,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lzo_callback_t {
    pub nalloc: lzo_alloc_func_t,
    pub nfree: lzo_free_func_t,
    pub nprogress: lzo_progress_func_t,
    pub user1: *mut ::std::os::raw::c_void,
    pub user2: lzo_uint,
    pub user3: lzo_uint,
}
extern "C" {
    pub(crate) fn lzo1x_1_compress(
        src: *const ::std::os::raw::c_uchar,
        src_len: lzo_uint,
        dst: *mut ::std::os::raw::c_uchar,
        dst_len: *mut lzo_uint,
        wrkmem: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub(crate) fn lzo1x_decompress(
        src: *const ::std::os::raw::c_uchar,
        src_len: lzo_uint,
        dst: *mut ::std::os::raw::c_uchar,
        dst_len: *mut lzo_uint,
        wrkmem: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub(crate) fn lzo1x_decompress_safe(
        src: *const ::std::os::raw::c_uchar,
        src_len: lzo_uint,
        dst: *mut ::std::os::raw::c_uchar,
        dst_len: *mut lzo_uint,
        wrkmem: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}