use std::os::raw::{c_char, c_int, c_uint, c_void};
pub const MVNC_MAX_NAME_SIZE: usize = 28;
pub const MVNC_OK: c_int = 0;
pub const MVNC_BUSY: c_int = -1; pub const MVNC_ERROR: c_int = -2; pub const MVNC_OUT_OF_MEMORY: c_int = -3; pub const MVNC_DEVICE_NOT_FOUND: c_int = -4; pub const MVNC_INVALID_PARAMETERS: c_int = -5; pub const MVNC_TIMEOUT: c_int = -6; pub const MVNC_MVCMD_NOT_FOUND: c_int = -7; pub const MVNC_NO_DATA: c_int = -8; pub const MVNC_GONE: c_int = -9; pub const MVNC_UNSUPPORTED_GRAPH_FILE: c_int = -10; pub const MVNC_MYRIAD_ERROR: c_int = -11;
pub const MVNC_LOG_LEVEL: c_int = 0;
pub const MVNC_DONT_BLOCK: c_int = 2; pub const MVNC_TIME_TAKEN: c_int = 1000; pub const MVNC_DEBUG_INFO: c_int = 1001;
pub const MVNC_TEMP_LIM_NORMAL: c_int = 0; pub const MVNC_TEMP_LIM_LOWER: c_int = 1; pub const MVNC_TEMP_LIM_HIGHER: c_int = 2;
pub const MVNC_THERMAL_THROTTLING_LEVEL: c_int = 1002;
#[link(name = "mvnc")]
extern "C" {
pub fn mvncGetDeviceName(index: c_int, name: *mut c_char, nameSize: c_uint) -> c_int;
pub fn mvncOpenDevice(name: *const c_char, deviceHandle: &mut *const c_void) -> c_int;
pub fn mvncCloseDevice(deviceHandle: *const c_void) -> c_int;
pub fn mvncAllocateGraph(
deviceHandle: *const c_void,
graphHandle: &mut *const c_void,
graphFile: *const c_void,
graphFileLength: c_uint,
) -> c_int;
pub fn mvncDeallocateGraph(graphHandle: *const c_void) -> c_int;
pub fn mvncGetGlobalOption(option: c_int, data: *mut c_void, dataLength: *mut c_uint) -> c_int;
pub fn mvncSetGlobalOption(option: c_int, data: *const c_void, dataLength: c_uint) -> c_int;
pub fn mvncGetGraphOption(
graphHandle: *const c_void,
option: c_int,
data: *mut c_void,
dataLength: *mut c_uint,
) -> c_int;
pub fn mvncSetGraphOption(
graphHandle: *const c_void,
option: c_int,
data: *const c_void,
dataLength: c_uint,
) -> c_int;
pub fn mvncGetDeviceOption(
deviceHandle: *const c_void,
option: c_int,
data: *mut c_void,
dataLength: *mut c_uint,
) -> c_int;
pub fn mvncLoadTensor(
graphHandle: *const c_void,
inputTensor: *const c_void,
inputTensorLength: c_uint,
userParam: *const c_void,
) -> c_int;
pub fn mvncGetResult(
graphHandle: *const c_void,
outputData: &mut *const c_void,
outputDataLength: *mut c_uint,
userParam: &mut *const c_void,
) -> c_int;
}
pub const SIZEOF_C_FLOAT: c_uint = 4;
pub const SIZEOF_C_INT: c_uint = 4;