usbredirhost-sys 0.4.0

FFI bindings for usbredirhost
#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]

pub use libusb1_sys;
pub use usbredirparser_sys;

pub const usbredirhost_read_io_error: ::std::os::raw::c_int = -1;
pub const usbredirhost_parse_error: ::std::os::raw::c_int = -2;
pub const usbredirhost_device_rejected: ::std::os::raw::c_int = -3;
pub const usbredirhost_device_lost: ::std::os::raw::c_int = -4;

pub const usbredirhost_write_io_error: ::std::os::raw::c_int = -1;

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct usbredirhost {
    _unused: [u8; 0],
}
pub type usbredirhost_flush_writes =
    ::std::option::Option<unsafe extern "C" fn(priv_: *mut ::std::os::raw::c_void)>;
pub type usbredirhost_buffered_output_size =
    ::std::option::Option<unsafe extern "C" fn(priv_: *mut ::std::os::raw::c_void) -> u64>;
extern "C" {
    pub fn usbredirhost_open(
        usb_ctx: *mut libusb1_sys::libusb_context,
        usb_dev_handle: *mut libusb1_sys::libusb_device_handle,
        log_func: usbredirparser_sys::usbredirparser_log,
        read_guest_data_func: usbredirparser_sys::usbredirparser_read,
        write_guest_data_func: usbredirparser_sys::usbredirparser_write,
        func_priv: *mut ::std::os::raw::c_void,
        version: *const ::std::os::raw::c_char,
        verbose: ::std::os::raw::c_int,
        flags: ::std::os::raw::c_int,
    ) -> *mut usbredirhost;
}
extern "C" {
    pub fn usbredirhost_open_full(
        usb_ctx: *mut libusb1_sys::libusb_context,
        usb_dev_handle: *mut libusb1_sys::libusb_device_handle,
        log_func: usbredirparser_sys::usbredirparser_log,
        read_guest_data_func: usbredirparser_sys::usbredirparser_read,
        write_guest_data_func: usbredirparser_sys::usbredirparser_write,
        flush_writes_func: usbredirhost_flush_writes,
        alloc_lock_func: usbredirparser_sys::usbredirparser_alloc_lock,
        lock_func: usbredirparser_sys::usbredirparser_lock,
        unlock_func: usbredirparser_sys::usbredirparser_unlock,
        free_lock_func: usbredirparser_sys::usbredirparser_free_lock,
        func_priv: *mut ::std::os::raw::c_void,
        version: *const ::std::os::raw::c_char,
        verbose: ::std::os::raw::c_int,
        flags: ::std::os::raw::c_int,
    ) -> *mut usbredirhost;
}
extern "C" {
    pub fn usbredirhost_close(host: *mut usbredirhost);
}
extern "C" {
    pub fn usbredirhost_set_device(
        host: *mut usbredirhost,
        usb_dev_handle: *mut libusb1_sys::libusb_device_handle,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn usbredirhost_set_buffered_output_size_cb(
        host: *mut usbredirhost,
        buffered_output_size_func: usbredirhost_buffered_output_size,
    );
}
extern "C" {
    pub fn usbredirhost_read_guest_data(host: *mut usbredirhost) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn usbredirhost_has_data_to_write(host: *mut usbredirhost) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn usbredirhost_write_guest_data(host: *mut usbredirhost) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn usbredirhost_free_write_buffer(host: *mut usbredirhost, data: *mut u8);
}
extern "C" {
    pub fn usbredirhost_get_guest_filter(
        host: *mut usbredirhost,
        rules_ret: *mut *const usbredirparser_sys::usbredirfilter_rule,
        rules_count_ret: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn usbredirhost_check_device_filter(
        rules: *const usbredirparser_sys::usbredirfilter_rule,
        rules_count: ::std::os::raw::c_int,
        dev: *mut libusb1_sys::libusb_device,
        flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}