use crate::native::types::{DeviceInfo, BOOL, BYTE, HANDLE, LPSTR, ULONG};
#[allow(non_camel_case_types)]
extern "C" {
pub fn SKF_WaitForDevEvent(
sz_dev_name: LPSTR,
dev_name_len: *mut ULONG,
event: *mut ULONG,
) -> ULONG;
pub fn SKF_CancelWaitForDevEvent() -> ULONG;
pub fn SKF_EnumDev(b_present: BOOL, sz_name_list: LPSTR, size: *mut ULONG) -> ULONG;
pub fn SKF_ConnectDev(sz_name: LPSTR, handle: *mut HANDLE) -> ULONG;
pub fn SKF_DisConnectDev(handle: HANDLE) -> ULONG;
pub fn SKF_GetDevState(sz_dev_name: LPSTR, dev_state: *mut ULONG) -> ULONG;
pub fn SKF_SetLabel(handle: HANDLE, sz_label: LPSTR) -> ULONG;
pub fn SKF_GetDevInfo(handle: HANDLE, dev_info: *mut DeviceInfo) -> ULONG;
pub fn SKF_LockDev(handle: HANDLE, timeout: ULONG) -> ULONG;
pub fn SKF_UnlockDev(handle: HANDLE) -> ULONG;
pub fn SKF_Transmit(
handle: HANDLE,
command: *const BYTE,
command_len: ULONG,
data: *mut BYTE,
data_len: *mut ULONG,
) -> ULONG;
}