Skip to main content

adept2_sys/
dmgr.rs

1use dpcdecl::*;
2use std::os::raw::{c_char, c_int, c_void};
3
4pub const tmsWaitInfinite: u32 = 0xFFFFFFFF;
5
6extern "C" {
7    pub fn DmgrGetVersion(szVersion: *mut c_char) -> BOOL;
8    //DmgrGetLastError returns the last error per process which is updated when a DVC API function fails.
9    pub fn DmgrGetLastError() -> ERC;
10    pub fn DmgrSzFromErc(erc: c_int, szErc: *mut c_char, szErcMessage: *mut c_char) -> BOOL;
11
12    //OPEN & CLOSE functions
13    pub fn DmgrOpen(phif: *mut HIF, szSel: *mut c_char) -> BOOL;
14    pub fn DmgrOpenEx(phif: *mut HIF, szSel: *mut c_char, dtpTable: DTP, dtpDisc: DTP) -> BOOL;
15    pub fn DmgrClose(hif: HIF) -> BOOL;
16
17    //ENUMERATION functions
18    pub fn DmgrEnumDevices(pcdvc: *mut c_int) -> BOOL;
19    pub fn DmgrEnumDevicesEx(
20        pcdvc: *mut c_int,
21        dtpTable: DTP,
22        dtpDisc: DTP,
23        dinfosel: DINFO,
24        pInfoSel: *mut c_void,
25    ) -> BOOL;
26    pub fn DmgrStartEnum(
27        dtpTable: DTP,
28        dtpDisc: DTP,
29        dinfoSel: DINFO,
30        pInfoSel: *mut c_void,
31    ) -> BOOL;
32    pub fn DmgrIsEnumFinished() -> BOOL;
33    pub fn DmgrStopEnum() -> BOOL;
34    pub fn DmgrGetEnumCount(pcdvc: *mut c_int) -> BOOL;
35    pub fn DmgrGetDvc(idvc: c_int, pdvc: *mut DVC) -> BOOL;
36    pub fn DmgrFreeDvcEnum() -> BOOL;
37
38    //TRANSFER status and control functions
39    pub fn DmgrGetTransResult(
40        hif: HIF,
41        pdwDataOut: *mut u32,
42        pdwDataIn: *mut u32,
43        tmsWait: u32,
44    ) -> BOOL;
45    pub fn DmgrCancelTrans(hif: HIF) -> BOOL;
46    pub fn DmgrSetTransTimeout(hif: HIF, tmsTimeout: u32) -> BOOL;
47    pub fn DmgrGetTransTimeout(hif: HIF, ptmsTimeout: *mut u32) -> BOOL;
48
49    pub fn DmgrDvcTblAdd(pdvc: *mut DVC) -> BOOL;
50    pub fn DmgrDvcTblRem(szAlias: *mut c_char) -> BOOL;
51    pub fn DmgrDvcTblSave() -> BOOL;
52
53    //Device transport type management functions
54    pub fn DmgrGetDtpCount() -> c_int;
55    pub fn DmgrGetDtpFromIndex(idtp: c_int, pdtp: *mut DTP) -> BOOL;
56    pub fn DmgrGetDtpString(dtp: DTP, szDtpString: *mut c_char) -> BOOL;
57
58    //Miscellaneous functions
59    pub fn DmgrSetInfo(pdvc: *mut DVC, dinfo: DINFO, pvInfoSet: *mut c_void) -> BOOL;
60    pub fn DmgrGetInfo(pdvc: *mut DVC, dinfo: DINFO, pvInfoGet: *mut c_void) -> BOOL;
61
62    pub fn DmgrGetDvcFromHif(hif: HIF, pdvc: *mut DVC) -> BOOL;
63}