visa_device_handler/visa_interface/
visa_ffi.rs

1#![allow(non_snake_case)]
2#![allow(non_camel_case_types)]
3#![allow(dead_code)]
4use dlopen2::wrapper::WrapperApi;
5
6#[derive(WrapperApi)]
7pub struct VisaFFI {
8    viOpenDefaultRM: fn(vi: ViPSession) -> ViStatus,
9    viFindRsrc: fn(
10        sesn: ViSession,
11        expr: ViConstString,
12        vi: ViPFindList,
13        retCnt: ViPUInt32,
14        desc: *mut ViChar,
15    ) -> ViStatus,
16    viFindNext: fn(vi: ViFindList, desc: *mut ViChar) -> ViStatus,
17    viParseRsrc: fn(
18        rmSesn: ViSession,
19        rsrcName: ViConstRsrc,
20        intfType: ViPUInt16,
21        intfNum: ViPUInt16,
22    ) -> ViStatus,
23    viParseRsrcEx: fn(
24        rmSesn: ViSession,
25        rsrcName: ViConstRsrc,
26        intfType: ViPUInt16,
27        intfNum: ViPUInt16,
28        rsrcClass: *mut ViChar,
29        expandedUnaliasedName: *mut ViChar,
30        aliasIfExists: *mut ViChar,
31    ) -> ViStatus,
32    viOpen: fn(
33        sesn: ViSession,
34        name: ViConstRsrc,
35        mode: ViAccessMode,
36        timeout: ViUInt32,
37        vi: ViPSession,
38    ) -> ViStatus,
39    viClose: fn(vi: ViObject) -> ViStatus,
40    viSetAttribute: fn(vi: ViObject, attrName: ViAttr, attrValue: ViAttrState) -> ViStatus,
41    viGetAttribute:
42        fn(vi: ViObject, attrName: ViAttr, attrValue: *mut ::std::os::raw::c_void) -> ViStatus,
43    viStatusDesc: fn(vi: ViObject, status: ViStatus, desc: *mut ViByte) -> ViStatus,
44    viTerminate: fn(vi: ViObject, degree: ViUInt16, jobId: ViJobId) -> ViStatus,
45    viLock: fn(
46        vi: ViSession,
47        lockType: ViAccessMode,
48        timeout: ViUInt32,
49        requestedKey: ViConstKeyId,
50        accessKey: *mut ViChar,
51    ) -> ViStatus,
52    viUnlock: fn(vi: ViSession) -> ViStatus,
53    viEnableEvent: fn(
54        vi: ViSession,
55        eventType: ViEventType,
56        mechanism: ViUInt16,
57        context: ViEventFilter,
58    ) -> ViStatus,
59    viDisableEvent: fn(vi: ViSession, eventType: ViEventType, mechanism: ViUInt16) -> ViStatus,
60    viDiscardEvents: fn(vi: ViSession, eventType: ViEventType, mechanism: ViUInt16) -> ViStatus,
61    viWaitOnEvent: fn(
62        vi: ViSession,
63        inEventType: ViEventType,
64        timeout: ViUInt32,
65        outEventType: ViPEventType,
66        outContext: ViPEvent,
67    ) -> ViStatus,
68    viInstallHandler:
69        fn(vi: ViSession, eventType: ViEventType, handler: ViHndlr, userHandle: ViAddr) -> ViStatus,
70    viUninstallHandler:
71        fn(vi: ViSession, eventType: ViEventType, handler: ViHndlr, userHandle: ViAddr) -> ViStatus,
72    viRead: fn(vi: ViSession, buf: ViPBuf, cnt: ViUInt32, retCnt: ViPUInt32) -> ViStatus,
73    viReadAsync: fn(vi: ViSession, buf: ViPBuf, cnt: ViUInt32, jobId: ViPJobId) -> ViStatus,
74    viReadToFile:
75        fn(vi: ViSession, filename: ViConstString, cnt: ViUInt32, retCnt: ViPUInt32) -> ViStatus,
76    viWrite: fn(vi: ViSession, buf: ViConstBuf, cnt: ViUInt32, retCnt: ViPUInt32) -> ViStatus,
77    viWriteAsync: fn(vi: ViSession, buf: ViConstBuf, cnt: ViUInt32, jobId: ViPJobId) -> ViStatus,
78    viWriteFromFile:
79        fn(vi: ViSession, filename: ViConstString, cnt: ViUInt32, retCnt: ViPUInt32) -> ViStatus,
80    viAssertTrigger: fn(vi: ViSession, protocol: ViUInt16) -> ViStatus,
81    viReadSTB: fn(vi: ViSession, status: ViPUInt16) -> ViStatus,
82    viClear: fn(vi: ViSession) -> ViStatus,
83    viSetBuf: fn(vi: ViSession, mask: ViUInt16, size: ViUInt32) -> ViStatus,
84    viFlush: fn(vi: ViSession, mask: ViUInt16) -> ViStatus,
85    viBufWrite: fn(vi: ViSession, buf: ViConstBuf, cnt: ViUInt32, retCnt: ViPUInt32) -> ViStatus,
86    viBufRead: fn(vi: ViSession, buf: ViPBuf, cnt: ViUInt32, retCnt: ViPUInt32) -> ViStatus,
87    viVPrintf: fn(vi: ViSession, writeFmt: ViConstString, params: ViVAList) -> ViStatus,
88    viVSPrintf:
89        fn(vi: ViSession, buf: ViPBuf, writeFmt: ViConstString, parms: ViVAList) -> ViStatus,
90    viVScanf: fn(vi: ViSession, readFmt: ViConstString, params: ViVAList) -> ViStatus,
91    viVSScanf:
92        fn(vi: ViSession, buf: ViConstBuf, readFmt: ViConstString, parms: ViVAList) -> ViStatus,
93    viVQueryf: fn(
94        vi: ViSession,
95        writeFmt: ViConstString,
96        readFmt: ViConstString,
97        params: ViVAList,
98    ) -> ViStatus,
99    viIn8: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress, val8: ViPUInt8) -> ViStatus,
100    viOut8: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress, val8: ViUInt8) -> ViStatus,
101    viIn16: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress, val16: ViPUInt16) -> ViStatus,
102    viOut16: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress, val16: ViUInt16) -> ViStatus,
103    viIn32: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress, val32: ViPUInt32) -> ViStatus,
104    viOut32: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress, val32: ViUInt32) -> ViStatus,
105    viIn64: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress, val64: ViPUInt64) -> ViStatus,
106    viOut64: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress, val64: ViUInt64) -> ViStatus,
107    viIn8Ex: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress64, val8: ViPUInt8) -> ViStatus,
108    viOut8Ex: fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress64, val8: ViUInt8) -> ViStatus,
109    viIn16Ex:
110        fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress64, val16: ViPUInt16) -> ViStatus,
111    viOut16Ex:
112        fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress64, val16: ViUInt16) -> ViStatus,
113    viIn32Ex:
114        fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress64, val32: ViPUInt32) -> ViStatus,
115    viOut32Ex:
116        fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress64, val32: ViUInt32) -> ViStatus,
117    viIn64Ex:
118        fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress64, val64: ViPUInt64) -> ViStatus,
119    viOut64Ex:
120        fn(vi: ViSession, space: ViUInt16, offset: ViBusAddress64, val64: ViUInt64) -> ViStatus,
121    viMoveIn8: fn(
122        vi: ViSession,
123        space: ViUInt16,
124        offset: ViBusAddress,
125        length: ViBusSize,
126        buf8: ViAUInt8,
127    ) -> ViStatus,
128    viMoveOut8: fn(
129        vi: ViSession,
130        space: ViUInt16,
131        offset: ViBusAddress,
132        length: ViBusSize,
133        buf8: ViAUInt8,
134    ) -> ViStatus,
135    viMoveIn16: fn(
136        vi: ViSession,
137        space: ViUInt16,
138        offset: ViBusAddress,
139        length: ViBusSize,
140        buf16: ViAUInt16,
141    ) -> ViStatus,
142    viMoveOut16: fn(
143        vi: ViSession,
144        space: ViUInt16,
145        offset: ViBusAddress,
146        length: ViBusSize,
147        buf16: ViAUInt16,
148    ) -> ViStatus,
149    viMoveIn32: fn(
150        vi: ViSession,
151        space: ViUInt16,
152        offset: ViBusAddress,
153        length: ViBusSize,
154        buf32: ViAUInt32,
155    ) -> ViStatus,
156    viMoveOut32: fn(
157        vi: ViSession,
158        space: ViUInt16,
159        offset: ViBusAddress,
160        length: ViBusSize,
161        buf32: ViAUInt32,
162    ) -> ViStatus,
163    viMoveIn64: fn(
164        vi: ViSession,
165        space: ViUInt16,
166        offset: ViBusAddress,
167        length: ViBusSize,
168        buf64: ViAUInt64,
169    ) -> ViStatus,
170    viMoveOut64: fn(
171        vi: ViSession,
172        space: ViUInt16,
173        offset: ViBusAddress,
174        length: ViBusSize,
175        buf64: ViAUInt64,
176    ) -> ViStatus,
177    viMoveIn8Ex: fn(
178        vi: ViSession,
179        space: ViUInt16,
180        offset: ViBusAddress64,
181        length: ViBusSize,
182        buf8: ViAUInt8,
183    ) -> ViStatus,
184    viMoveOut8Ex: fn(
185        vi: ViSession,
186        space: ViUInt16,
187        offset: ViBusAddress64,
188        length: ViBusSize,
189        buf8: ViAUInt8,
190    ) -> ViStatus,
191    viMoveIn16Ex: fn(
192        vi: ViSession,
193        space: ViUInt16,
194        offset: ViBusAddress64,
195        length: ViBusSize,
196        buf16: ViAUInt16,
197    ) -> ViStatus,
198    viMoveOut16Ex: fn(
199        vi: ViSession,
200        space: ViUInt16,
201        offset: ViBusAddress64,
202        length: ViBusSize,
203        buf16: ViAUInt16,
204    ) -> ViStatus,
205    viMoveIn32Ex: fn(
206        vi: ViSession,
207        space: ViUInt16,
208        offset: ViBusAddress64,
209        length: ViBusSize,
210        buf32: ViAUInt32,
211    ) -> ViStatus,
212    viMoveOut32Ex: fn(
213        vi: ViSession,
214        space: ViUInt16,
215        offset: ViBusAddress64,
216        length: ViBusSize,
217        buf32: ViAUInt32,
218    ) -> ViStatus,
219    viMoveIn64Ex: fn(
220        vi: ViSession,
221        space: ViUInt16,
222        offset: ViBusAddress64,
223        length: ViBusSize,
224        buf64: ViAUInt64,
225    ) -> ViStatus,
226    viMoveOut64Ex: fn(
227        vi: ViSession,
228        space: ViUInt16,
229        offset: ViBusAddress64,
230        length: ViBusSize,
231        buf64: ViAUInt64,
232    ) -> ViStatus,
233    viMove: fn(
234        vi: ViSession,
235        srcSpace: ViUInt16,
236        srcOffset: ViBusAddress,
237        srcWidth: ViUInt16,
238        destSpace: ViUInt16,
239        destOffset: ViBusAddress,
240        destWidth: ViUInt16,
241        srcLength: ViBusSize,
242    ) -> ViStatus,
243    viMoveAsync: fn(
244        vi: ViSession,
245        srcSpace: ViUInt16,
246        srcOffset: ViBusAddress,
247        srcWidth: ViUInt16,
248        destSpace: ViUInt16,
249        destOffset: ViBusAddress,
250        destWidth: ViUInt16,
251        srcLength: ViBusSize,
252        jobId: ViPJobId,
253    ) -> ViStatus,
254    viMoveEx: fn(
255        vi: ViSession,
256        srcSpace: ViUInt16,
257        srcOffset: ViBusAddress64,
258        srcWidth: ViUInt16,
259        destSpace: ViUInt16,
260        destOffset: ViBusAddress64,
261        destWidth: ViUInt16,
262        srcLength: ViBusSize,
263    ) -> ViStatus,
264    viMoveAsyncEx: fn(
265        vi: ViSession,
266        srcSpace: ViUInt16,
267        srcOffset: ViBusAddress64,
268        srcWidth: ViUInt16,
269        destSpace: ViUInt16,
270        destOffset: ViBusAddress64,
271        destWidth: ViUInt16,
272        srcLength: ViBusSize,
273        jobId: ViPJobId,
274    ) -> ViStatus,
275    viMapAddress: fn(
276        vi: ViSession,
277        mapSpace: ViUInt16,
278        mapOffset: ViBusAddress,
279        mapSize: ViBusSize,
280        access: ViBoolean,
281        suggested: ViAddr,
282        address: ViPAddr,
283    ) -> ViStatus,
284    viUnmapAddress: fn(vi: ViSession) -> ViStatus,
285    viMapAddressEx: fn(
286        vi: ViSession,
287        mapSpace: ViUInt16,
288        mapOffset: ViBusAddress64,
289        mapSize: ViBusSize,
290        access: ViBoolean,
291        suggested: ViAddr,
292        address: ViPAddr,
293    ) -> ViStatus,
294    viPeek8: fn(vi: ViSession, address: ViAddr, val8: ViPUInt8),
295    viPoke8: fn(vi: ViSession, address: ViAddr, val8: ViUInt8),
296    viPeek16: fn(vi: ViSession, address: ViAddr, val16: ViPUInt16),
297    viPoke16: fn(vi: ViSession, address: ViAddr, val16: ViUInt16),
298    viPeek32: fn(vi: ViSession, address: ViAddr, val32: ViPUInt32),
299    viPoke32: fn(vi: ViSession, address: ViAddr, val32: ViUInt32),
300    viPeek64: fn(vi: ViSession, address: ViAddr, val64: ViPUInt64),
301    viPoke64: fn(vi: ViSession, address: ViAddr, val64: ViUInt64),
302    viMemAlloc: fn(vi: ViSession, size: ViBusSize, offset: ViPBusAddress) -> ViStatus,
303    viMemFree: fn(vi: ViSession, offset: ViBusAddress) -> ViStatus,
304    viMemAllocEx: fn(vi: ViSession, size: ViBusSize, offset: ViPBusAddress64) -> ViStatus,
305    viMemFreeEx: fn(vi: ViSession, offset: ViBusAddress64) -> ViStatus,
306    viGpibControlREN: fn(vi: ViSession, mode: ViUInt16) -> ViStatus,
307    viGpibControlATN: fn(vi: ViSession, mode: ViUInt16) -> ViStatus,
308    viGpibSendIFC: fn(vi: ViSession) -> ViStatus,
309    viGpibCommand: fn(vi: ViSession, cmd: ViConstBuf, cnt: ViUInt32, retCnt: ViPUInt32) -> ViStatus,
310    viGpibPassControl: fn(vi: ViSession, primAddr: ViUInt16, secAddr: ViUInt16) -> ViStatus,
311    viVxiCommandQuery:
312        fn(vi: ViSession, mode: ViUInt16, cmd: ViUInt32, response: ViPUInt32) -> ViStatus,
313    viAssertUtilSignal: fn(vi: ViSession, line: ViUInt16) -> ViStatus,
314    viAssertIntrSignal: fn(vi: ViSession, mode: ViInt16, statusID: ViUInt32) -> ViStatus,
315    viMapTrigger:
316        fn(vi: ViSession, trigSrc: ViInt16, trigDest: ViInt16, mode: ViUInt16) -> ViStatus,
317    viUnmapTrigger: fn(vi: ViSession, trigSrc: ViInt16, trigDest: ViInt16) -> ViStatus,
318    viUsbControlOut: fn(
319        vi: ViSession,
320        bmRequestType: ViInt16,
321        bRequest: ViInt16,
322        wValue: ViUInt16,
323        wIndex: ViUInt16,
324        wLength: ViUInt16,
325        buf: ViConstBuf,
326    ) -> ViStatus,
327    viUsbControlIn: fn(
328        vi: ViSession,
329        bmRequestType: ViInt16,
330        bRequest: ViInt16,
331        wValue: ViUInt16,
332        wIndex: ViUInt16,
333        wLength: ViUInt16,
334        buf: ViPBuf,
335        retCnt: ViPUInt16,
336    ) -> ViStatus,
337    viPxiReserveTriggers: fn(
338        vi: ViSession,
339        cnt: ViInt16,
340        trigBuses: ViAInt16,
341        trigLines: ViAInt16,
342        failureIndex: ViPInt16,
343    ) -> ViStatus,
344}
345
346/* All of the declarations are from visa-sys (thanks TsuITOAR) They saved me a lot of work.
347I took them to get started quickly and will be optimized in the future to be cleaner.*/
348
349/* some platform specified defines adjusted by hand */
350pub const __GNUC_VA_LIST: u32 = 1;
351pub const _VI_ERROR: i32 = -2147483648;
352pub const VI_SUCCESS: u32 = 0;
353pub const VI_NULL: u32 = 0;
354pub const VI_TRUE: u32 = 1;
355pub const VI_FALSE: u32 = 0;
356pub const VI_SPEC_VERSION: u32 = 7340288;
357pub const VI_ATTR_RSRC_CLASS: u32 = 3221159937;
358pub const VI_ATTR_RSRC_NAME: u32 = 3221159938;
359pub const VI_ATTR_RSRC_IMPL_VERSION: u32 = 1073676291;
360pub const VI_ATTR_RSRC_LOCK_STATE: u32 = 1073676292;
361pub const VI_ATTR_MAX_QUEUE_LENGTH: u32 = 1073676293;
362pub const VI_ATTR_USER_DATA_32: u32 = 1073676295;
363pub const VI_ATTR_FDC_CHNL: u32 = 1073676301;
364pub const VI_ATTR_FDC_MODE: u32 = 1073676303;
365pub const VI_ATTR_FDC_GEN_SIGNAL_EN: u32 = 1073676305;
366pub const VI_ATTR_FDC_USE_PAIR: u32 = 1073676307;
367pub const VI_ATTR_SEND_END_EN: u32 = 1073676310;
368pub const VI_ATTR_TERMCHAR: u32 = 1073676312;
369pub const VI_ATTR_TMO_VALUE: u32 = 1073676314;
370pub const VI_ATTR_GPIB_READDR_EN: u32 = 1073676315;
371pub const VI_ATTR_IO_PROT: u32 = 1073676316;
372pub const VI_ATTR_DMA_ALLOW_EN: u32 = 1073676318;
373pub const VI_ATTR_ASRL_BAUD: u32 = 1073676321;
374pub const VI_ATTR_ASRL_DATA_BITS: u32 = 1073676322;
375pub const VI_ATTR_ASRL_PARITY: u32 = 1073676323;
376pub const VI_ATTR_ASRL_STOP_BITS: u32 = 1073676324;
377pub const VI_ATTR_ASRL_FLOW_CNTRL: u32 = 1073676325;
378pub const VI_ATTR_RD_BUF_OPER_MODE: u32 = 1073676330;
379pub const VI_ATTR_RD_BUF_SIZE: u32 = 1073676331;
380pub const VI_ATTR_WR_BUF_OPER_MODE: u32 = 1073676333;
381pub const VI_ATTR_WR_BUF_SIZE: u32 = 1073676334;
382pub const VI_ATTR_SUPPRESS_END_EN: u32 = 1073676342;
383pub const VI_ATTR_TERMCHAR_EN: u32 = 1073676344;
384pub const VI_ATTR_DEST_ACCESS_PRIV: u32 = 1073676345;
385pub const VI_ATTR_DEST_BYTE_ORDER: u32 = 1073676346;
386pub const VI_ATTR_SRC_ACCESS_PRIV: u32 = 1073676348;
387pub const VI_ATTR_SRC_BYTE_ORDER: u32 = 1073676349;
388pub const VI_ATTR_SRC_INCREMENT: u32 = 1073676352;
389pub const VI_ATTR_DEST_INCREMENT: u32 = 1073676353;
390pub const VI_ATTR_WIN_ACCESS_PRIV: u32 = 1073676357;
391pub const VI_ATTR_WIN_BYTE_ORDER: u32 = 1073676359;
392pub const VI_ATTR_GPIB_ATN_STATE: u32 = 1073676375;
393pub const VI_ATTR_GPIB_ADDR_STATE: u32 = 1073676380;
394pub const VI_ATTR_GPIB_CIC_STATE: u32 = 1073676382;
395pub const VI_ATTR_GPIB_NDAC_STATE: u32 = 1073676386;
396pub const VI_ATTR_GPIB_SRQ_STATE: u32 = 1073676391;
397pub const VI_ATTR_GPIB_SYS_CNTRL_STATE: u32 = 1073676392;
398pub const VI_ATTR_GPIB_HS488_CBL_LEN: u32 = 1073676393;
399pub const VI_ATTR_CMDR_LA: u32 = 1073676395;
400pub const VI_ATTR_VXI_DEV_CLASS: u32 = 1073676396;
401pub const VI_ATTR_MAINFRAME_LA: u32 = 1073676400;
402pub const VI_ATTR_MANF_NAME: u32 = 3221160050;
403pub const VI_ATTR_MODEL_NAME: u32 = 3221160055;
404pub const VI_ATTR_VXI_VME_INTR_STATUS: u32 = 1073676427;
405pub const VI_ATTR_VXI_TRIG_STATUS: u32 = 1073676429;
406pub const VI_ATTR_VXI_VME_SYSFAIL_STATE: u32 = 1073676436;
407pub const VI_ATTR_WIN_BASE_ADDR_32: u32 = 1073676440;
408pub const VI_ATTR_WIN_SIZE_32: u32 = 1073676442;
409pub const VI_ATTR_ASRL_AVAIL_NUM: u32 = 1073676460;
410pub const VI_ATTR_MEM_BASE_32: u32 = 1073676461;
411pub const VI_ATTR_ASRL_CTS_STATE: u32 = 1073676462;
412pub const VI_ATTR_ASRL_DCD_STATE: u32 = 1073676463;
413pub const VI_ATTR_ASRL_DSR_STATE: u32 = 1073676465;
414pub const VI_ATTR_ASRL_DTR_STATE: u32 = 1073676466;
415pub const VI_ATTR_ASRL_END_IN: u32 = 1073676467;
416pub const VI_ATTR_ASRL_END_OUT: u32 = 1073676468;
417pub const VI_ATTR_ASRL_REPLACE_CHAR: u32 = 1073676478;
418pub const VI_ATTR_ASRL_RI_STATE: u32 = 1073676479;
419pub const VI_ATTR_ASRL_RTS_STATE: u32 = 1073676480;
420pub const VI_ATTR_ASRL_XON_CHAR: u32 = 1073676481;
421pub const VI_ATTR_ASRL_XOFF_CHAR: u32 = 1073676482;
422pub const VI_ATTR_WIN_ACCESS: u32 = 1073676483;
423pub const VI_ATTR_RM_SESSION: u32 = 1073676484;
424pub const VI_ATTR_VXI_LA: u32 = 1073676501;
425pub const VI_ATTR_MANF_ID: u32 = 1073676505;
426pub const VI_ATTR_MEM_SIZE_32: u32 = 1073676509;
427pub const VI_ATTR_MEM_SPACE: u32 = 1073676510;
428pub const VI_ATTR_MODEL_CODE: u32 = 1073676511;
429pub const VI_ATTR_SLOT: u32 = 1073676520;
430pub const VI_ATTR_INTF_INST_NAME: u32 = 3221160169;
431pub const VI_ATTR_IMMEDIATE_SERV: u32 = 1073676544;
432pub const VI_ATTR_INTF_PARENT_NUM: u32 = 1073676545;
433pub const VI_ATTR_RSRC_SPEC_VERSION: u32 = 1073676656;
434pub const VI_ATTR_INTF_TYPE: u32 = 1073676657;
435pub const VI_ATTR_GPIB_PRIMARY_ADDR: u32 = 1073676658;
436pub const VI_ATTR_GPIB_SECONDARY_ADDR: u32 = 1073676659;
437pub const VI_ATTR_RSRC_MANF_NAME: u32 = 3221160308;
438pub const VI_ATTR_RSRC_MANF_ID: u32 = 1073676661;
439pub const VI_ATTR_INTF_NUM: u32 = 1073676662;
440pub const VI_ATTR_TRIG_ID: u32 = 1073676663;
441pub const VI_ATTR_GPIB_REN_STATE: u32 = 1073676673;
442pub const VI_ATTR_GPIB_UNADDR_EN: u32 = 1073676676;
443pub const VI_ATTR_DEV_STATUS_BYTE: u32 = 1073676681;
444pub const VI_ATTR_FILE_APPEND_EN: u32 = 1073676690;
445pub const VI_ATTR_VXI_TRIG_SUPPORT: u32 = 1073676692;
446pub const VI_ATTR_TCPIP_ADDR: u32 = 3221160341;
447pub const VI_ATTR_TCPIP_HOSTNAME: u32 = 3221160342;
448pub const VI_ATTR_TCPIP_PORT: u32 = 1073676695;
449pub const VI_ATTR_TCPIP_DEVICE_NAME: u32 = 3221160345;
450pub const VI_ATTR_TCPIP_NODELAY: u32 = 1073676698;
451pub const VI_ATTR_TCPIP_KEEPALIVE: u32 = 1073676699;
452pub const VI_ATTR_4882_COMPLIANT: u32 = 1073676703;
453pub const VI_ATTR_USB_SERIAL_NUM: u32 = 3221160352;
454pub const VI_ATTR_USB_INTFC_NUM: u32 = 1073676705;
455pub const VI_ATTR_USB_PROTOCOL: u32 = 1073676711;
456pub const VI_ATTR_USB_MAX_INTR_SIZE: u32 = 1073676719;
457pub const VI_ATTR_PXI_DEV_NUM: u32 = 1073676801;
458pub const VI_ATTR_PXI_FUNC_NUM: u32 = 1073676802;
459pub const VI_ATTR_PXI_BUS_NUM: u32 = 1073676805;
460pub const VI_ATTR_PXI_CHASSIS: u32 = 1073676806;
461pub const VI_ATTR_PXI_SLOTPATH: u32 = 3221160455;
462pub const VI_ATTR_PXI_SLOT_LBUS_LEFT: u32 = 1073676808;
463pub const VI_ATTR_PXI_SLOT_LBUS_RIGHT: u32 = 1073676809;
464pub const VI_ATTR_PXI_TRIG_BUS: u32 = 1073676810;
465pub const VI_ATTR_PXI_STAR_TRIG_BUS: u32 = 1073676811;
466pub const VI_ATTR_PXI_STAR_TRIG_LINE: u32 = 1073676812;
467pub const VI_ATTR_PXI_SRC_TRIG_BUS: u32 = 1073676813;
468pub const VI_ATTR_PXI_DEST_TRIG_BUS: u32 = 1073676814;
469pub const VI_ATTR_PXI_MEM_TYPE_BAR0: u32 = 1073676817;
470pub const VI_ATTR_PXI_MEM_TYPE_BAR1: u32 = 1073676818;
471pub const VI_ATTR_PXI_MEM_TYPE_BAR2: u32 = 1073676819;
472pub const VI_ATTR_PXI_MEM_TYPE_BAR3: u32 = 1073676820;
473pub const VI_ATTR_PXI_MEM_TYPE_BAR4: u32 = 1073676821;
474pub const VI_ATTR_PXI_MEM_TYPE_BAR5: u32 = 1073676822;
475pub const VI_ATTR_PXI_MEM_BASE_BAR0_32: u32 = 1073676833;
476pub const VI_ATTR_PXI_MEM_BASE_BAR1_32: u32 = 1073676834;
477pub const VI_ATTR_PXI_MEM_BASE_BAR2_32: u32 = 1073676835;
478pub const VI_ATTR_PXI_MEM_BASE_BAR3_32: u32 = 1073676836;
479pub const VI_ATTR_PXI_MEM_BASE_BAR4_32: u32 = 1073676837;
480pub const VI_ATTR_PXI_MEM_BASE_BAR5_32: u32 = 1073676838;
481pub const VI_ATTR_PXI_MEM_BASE_BAR0_64: u32 = 1073676840;
482pub const VI_ATTR_PXI_MEM_BASE_BAR1_64: u32 = 1073676841;
483pub const VI_ATTR_PXI_MEM_BASE_BAR2_64: u32 = 1073676842;
484pub const VI_ATTR_PXI_MEM_BASE_BAR3_64: u32 = 1073676843;
485pub const VI_ATTR_PXI_MEM_BASE_BAR4_64: u32 = 1073676844;
486pub const VI_ATTR_PXI_MEM_BASE_BAR5_64: u32 = 1073676845;
487pub const VI_ATTR_PXI_MEM_SIZE_BAR0_32: u32 = 1073676849;
488pub const VI_ATTR_PXI_MEM_SIZE_BAR1_32: u32 = 1073676850;
489pub const VI_ATTR_PXI_MEM_SIZE_BAR2_32: u32 = 1073676851;
490pub const VI_ATTR_PXI_MEM_SIZE_BAR3_32: u32 = 1073676852;
491pub const VI_ATTR_PXI_MEM_SIZE_BAR4_32: u32 = 1073676853;
492pub const VI_ATTR_PXI_MEM_SIZE_BAR5_32: u32 = 1073676854;
493pub const VI_ATTR_PXI_MEM_SIZE_BAR0_64: u32 = 1073676856;
494pub const VI_ATTR_PXI_MEM_SIZE_BAR1_64: u32 = 1073676857;
495pub const VI_ATTR_PXI_MEM_SIZE_BAR2_64: u32 = 1073676858;
496pub const VI_ATTR_PXI_MEM_SIZE_BAR3_64: u32 = 1073676859;
497pub const VI_ATTR_PXI_MEM_SIZE_BAR4_64: u32 = 1073676860;
498pub const VI_ATTR_PXI_MEM_SIZE_BAR5_64: u32 = 1073676861;
499pub const VI_ATTR_PXI_IS_EXPRESS: u32 = 1073676864;
500pub const VI_ATTR_PXI_SLOT_LWIDTH: u32 = 1073676865;
501pub const VI_ATTR_PXI_MAX_LWIDTH: u32 = 1073676866;
502pub const VI_ATTR_PXI_ACTUAL_LWIDTH: u32 = 1073676867;
503pub const VI_ATTR_PXI_DSTAR_BUS: u32 = 1073676868;
504pub const VI_ATTR_PXI_DSTAR_SET: u32 = 1073676869;
505pub const VI_ATTR_PXI_ALLOW_WRITE_COMBINE: u32 = 1073676870;
506pub const VI_ATTR_TCPIP_SERVER_CERT_ISSUER_NAME: u32 = 3221160560;
507pub const VI_ATTR_TCPIP_SERVER_CERT_SUBJECT_NAME: u32 = 3221160561;
508pub const VI_ATTR_TCPIP_SERVER_CERT_EXPIRATION_DATE: u32 = 3221160562;
509pub const VI_ATTR_TCPIP_SERVER_CERT_IS_PERPETUAL: u32 = 1073676915;
510pub const VI_ATTR_TCPIP_SASL_MECHANISM: u32 = 3221160564;
511pub const VI_ATTR_TCPIP_TLS_CIPHER_SUITE: u32 = 3221160565;
512pub const VI_ATTR_TCPIP_HISLIP_OVERLAP_EN: u32 = 1073677056;
513pub const VI_ATTR_TCPIP_HISLIP_VERSION: u32 = 1073677057;
514pub const VI_ATTR_TCPIP_HISLIP_MAX_MESSAGE_KB: u32 = 1073677058;
515pub const VI_ATTR_TCPIP_IS_HISLIP: u32 = 1073677059;
516pub const VI_ATTR_TCPIP_HISLIP_ENCRYPTION_EN: u32 = 1073677060;
517pub const VI_ATTR_JOB_ID: u32 = 1073692678;
518pub const VI_ATTR_EVENT_TYPE: u32 = 1073692688;
519pub const VI_ATTR_SIGP_STATUS_ID: u32 = 1073692689;
520pub const VI_ATTR_RECV_TRIG_ID: u32 = 1073692690;
521pub const VI_ATTR_INTR_STATUS_ID: u32 = 1073692707;
522pub const VI_ATTR_STATUS: u32 = 1073692709;
523pub const VI_ATTR_RET_COUNT_32: u32 = 1073692710;
524pub const VI_ATTR_BUFFER: u32 = 1073692711;
525pub const VI_ATTR_RECV_INTR_LEVEL: u32 = 1073692737;
526pub const VI_ATTR_OPER_NAME: u32 = 3221176386;
527pub const VI_ATTR_GPIB_RECV_CIC_STATE: u32 = 1073693075;
528pub const VI_ATTR_RECV_TCPIP_ADDR: u32 = 3221176728;
529pub const VI_ATTR_USB_RECV_INTR_SIZE: u32 = 1073693104;
530pub const VI_ATTR_USB_RECV_INTR_DATA: u32 = 3221176753;
531pub const VI_ATTR_PXI_RECV_INTR_SEQ: u32 = 1073693248;
532pub const VI_ATTR_PXI_RECV_INTR_DATA: u32 = 1073693249;
533pub const VI_ATTR_USER_DATA_64: u32 = 1073676298;
534pub const VI_ATTR_RET_COUNT_64: u32 = 1073692712;
535//pub const VI_ATTR_USER_DATA: u32 = 1073676298;
536//pub const VI_ATTR_RET_COUNT: u32 = 1073692712;
537pub const VI_ATTR_WIN_BASE_ADDR_64: u32 = 1073676443;
538pub const VI_ATTR_WIN_SIZE_64: u32 = 1073676444;
539pub const VI_ATTR_MEM_BASE_64: u32 = 1073676496;
540pub const VI_ATTR_MEM_SIZE_64: u32 = 1073676497;
541//pub const VI_ATTR_WIN_BASE_ADDR: u32 = 1073676443;
542//pub const VI_ATTR_WIN_SIZE: u32 = 1073676444;
543//pub const VI_ATTR_MEM_BASE: u32 = 1073676496;
544//pub const VI_ATTR_MEM_SIZE: u32 = 1073676497;
545//pub const VI_ATTR_PXI_MEM_BASE_BAR0: u32 = 1073676840;
546//pub const VI_ATTR_PXI_MEM_BASE_BAR1: u32 = 1073676841;
547//pub const VI_ATTR_PXI_MEM_BASE_BAR2: u32 = 1073676842;
548//pub const VI_ATTR_PXI_MEM_BASE_BAR3: u32 = 1073676843;
549//pub const VI_ATTR_PXI_MEM_BASE_BAR4: u32 = 1073676844;
550//pub const VI_ATTR_PXI_MEM_BASE_BAR5: u32 = 1073676845;
551//pub const VI_ATTR_PXI_MEM_SIZE_BAR0: u32 = 1073676856;
552//pub const VI_ATTR_PXI_MEM_SIZE_BAR1: u32 = 1073676857;
553//pub const VI_ATTR_PXI_MEM_SIZE_BAR2: u32 = 1073676858;
554//pub const VI_ATTR_PXI_MEM_SIZE_BAR3: u32 = 1073676859;
555//pub const VI_ATTR_PXI_MEM_SIZE_BAR4: u32 = 1073676860;
556//pub const VI_ATTR_PXI_MEM_SIZE_BAR5: u32 = 1073676861;
557pub const VI_EVENT_IO_COMPLETION: u32 = 1073684489;
558pub const VI_EVENT_TRIG: u32 = 3221168138;
559pub const VI_EVENT_SERVICE_REQ: u32 = 1073684491;
560pub const VI_EVENT_CLEAR: u32 = 1073684493;
561pub const VI_EVENT_EXCEPTION: u32 = 3221168142;
562pub const VI_EVENT_GPIB_CIC: u32 = 1073684498;
563pub const VI_EVENT_GPIB_TALK: u32 = 1073684499;
564pub const VI_EVENT_GPIB_LISTEN: u32 = 1073684500;
565pub const VI_EVENT_VXI_VME_SYSFAIL: u32 = 1073684509;
566pub const VI_EVENT_VXI_VME_SYSRESET: u32 = 1073684510;
567pub const VI_EVENT_VXI_SIGP: u32 = 1073684512;
568pub const VI_EVENT_VXI_VME_INTR: u32 = 3221168161;
569pub const VI_EVENT_PXI_INTR: u32 = 1073684514;
570pub const VI_EVENT_TCPIP_CONNECT: u32 = 1073684534;
571pub const VI_EVENT_USB_INTR: u32 = 1073684535;
572pub const VI_ALL_ENABLED_EVENTS: u32 = 1073709055;
573pub const VI_SUCCESS_EVENT_EN: u32 = 1073676290;
574pub const VI_SUCCESS_EVENT_DIS: u32 = 1073676291;
575pub const VI_SUCCESS_QUEUE_EMPTY: u32 = 1073676292;
576pub const VI_SUCCESS_TERM_CHAR: u32 = 1073676293;
577pub const VI_SUCCESS_MAX_CNT: u32 = 1073676294;
578pub const VI_SUCCESS_DEV_NPRESENT: u32 = 1073676413;
579pub const VI_SUCCESS_TRIG_MAPPED: u32 = 1073676414;
580pub const VI_SUCCESS_QUEUE_NEMPTY: u32 = 1073676416;
581pub const VI_SUCCESS_NCHAIN: u32 = 1073676440;
582pub const VI_SUCCESS_NESTED_SHARED: u32 = 1073676441;
583pub const VI_SUCCESS_NESTED_EXCLUSIVE: u32 = 1073676442;
584pub const VI_SUCCESS_SYNC: u32 = 1073676443;
585pub const VI_WARN_QUEUE_OVERFLOW: u32 = 1073676300;
586pub const VI_WARN_CONFIG_NLOADED: u32 = 1073676407;
587pub const VI_WARN_NULL_OBJECT: u32 = 1073676418;
588pub const VI_WARN_NSUP_ATTR_STATE: u32 = 1073676420;
589pub const VI_WARN_UNKNOWN_STATUS: u32 = 1073676421;
590pub const VI_WARN_NSUP_BUF: u32 = 1073676424;
591pub const VI_WARN_EXT_FUNC_NIMPL: u32 = 1073676457;
592pub const VI_WARN_SERVER_CERT_UNTRUSTED: u32 = 1073676528;
593pub const VI_ERROR_SYSTEM_ERROR: i32 = -1073807360;
594pub const VI_ERROR_INV_OBJECT: i32 = -1073807346;
595pub const VI_ERROR_RSRC_LOCKED: i32 = -1073807345;
596pub const VI_ERROR_INV_EXPR: i32 = -1073807344;
597pub const VI_ERROR_RSRC_NFOUND: i32 = -1073807343;
598pub const VI_ERROR_INV_RSRC_NAME: i32 = -1073807342;
599pub const VI_ERROR_INV_ACC_MODE: i32 = -1073807341;
600pub const VI_ERROR_TMO: i32 = -1073807339;
601pub const VI_ERROR_CLOSING_FAILED: i32 = -1073807338;
602pub const VI_ERROR_INV_DEGREE: i32 = -1073807333;
603pub const VI_ERROR_INV_JOB_ID: i32 = -1073807332;
604pub const VI_ERROR_NSUP_ATTR: i32 = -1073807331;
605pub const VI_ERROR_NSUP_ATTR_STATE: i32 = -1073807330;
606pub const VI_ERROR_ATTR_READONLY: i32 = -1073807329;
607pub const VI_ERROR_INV_LOCK_TYPE: i32 = -1073807328;
608pub const VI_ERROR_INV_ACCESS_KEY: i32 = -1073807327;
609pub const VI_ERROR_INV_EVENT: i32 = -1073807322;
610pub const VI_ERROR_INV_MECH: i32 = -1073807321;
611pub const VI_ERROR_HNDLR_NINSTALLED: i32 = -1073807320;
612pub const VI_ERROR_INV_HNDLR_REF: i32 = -1073807319;
613pub const VI_ERROR_INV_CONTEXT: i32 = -1073807318;
614pub const VI_ERROR_NENABLED: i32 = -1073807313;
615pub const VI_ERROR_ABORT: i32 = -1073807312;
616pub const VI_ERROR_RAW_WR_PROT_VIOL: i32 = -1073807308;
617pub const VI_ERROR_RAW_RD_PROT_VIOL: i32 = -1073807307;
618pub const VI_ERROR_OUTP_PROT_VIOL: i32 = -1073807306;
619pub const VI_ERROR_INP_PROT_VIOL: i32 = -1073807305;
620pub const VI_ERROR_BERR: i32 = -1073807304;
621pub const VI_ERROR_IN_PROGRESS: i32 = -1073807303;
622pub const VI_ERROR_INV_SETUP: i32 = -1073807302;
623pub const VI_ERROR_QUEUE_ERROR: i32 = -1073807301;
624pub const VI_ERROR_ALLOC: i32 = -1073807300;
625pub const VI_ERROR_INV_MASK: i32 = -1073807299;
626pub const VI_ERROR_IO: i32 = -1073807298;
627pub const VI_ERROR_INV_FMT: i32 = -1073807297;
628pub const VI_ERROR_NSUP_FMT: i32 = -1073807295;
629pub const VI_ERROR_LINE_IN_USE: i32 = -1073807294;
630pub const VI_ERROR_LINE_NRESERVED: i32 = -1073807293;
631pub const VI_ERROR_NSUP_MODE: i32 = -1073807290;
632pub const VI_ERROR_SRQ_NOCCURRED: i32 = -1073807286;
633pub const VI_ERROR_INV_SPACE: i32 = -1073807282;
634pub const VI_ERROR_INV_OFFSET: i32 = -1073807279;
635pub const VI_ERROR_INV_WIDTH: i32 = -1073807278;
636pub const VI_ERROR_NSUP_OFFSET: i32 = -1073807276;
637pub const VI_ERROR_NSUP_VAR_WIDTH: i32 = -1073807275;
638pub const VI_ERROR_WINDOW_NMAPPED: i32 = -1073807273;
639pub const VI_ERROR_RESP_PENDING: i32 = -1073807271;
640pub const VI_ERROR_NLISTENERS: i32 = -1073807265;
641pub const VI_ERROR_NCIC: i32 = -1073807264;
642pub const VI_ERROR_NSYS_CNTLR: i32 = -1073807263;
643pub const VI_ERROR_NSUP_OPER: i32 = -1073807257;
644pub const VI_ERROR_INTR_PENDING: i32 = -1073807256;
645pub const VI_ERROR_ASRL_PARITY: i32 = -1073807254;
646pub const VI_ERROR_ASRL_FRAMING: i32 = -1073807253;
647pub const VI_ERROR_ASRL_OVERRUN: i32 = -1073807252;
648pub const VI_ERROR_TRIG_NMAPPED: i32 = -1073807250;
649pub const VI_ERROR_NSUP_ALIGN_OFFSET: i32 = -1073807248;
650pub const VI_ERROR_USER_BUF: i32 = -1073807247;
651pub const VI_ERROR_RSRC_BUSY: i32 = -1073807246;
652pub const VI_ERROR_NSUP_WIDTH: i32 = -1073807242;
653pub const VI_ERROR_INV_PARAMETER: i32 = -1073807240;
654pub const VI_ERROR_INV_PROT: i32 = -1073807239;
655pub const VI_ERROR_INV_SIZE: i32 = -1073807237;
656pub const VI_ERROR_WINDOW_MAPPED: i32 = -1073807232;
657pub const VI_ERROR_NIMPL_OPER: i32 = -1073807231;
658pub const VI_ERROR_INV_LENGTH: i32 = -1073807229;
659pub const VI_ERROR_INV_MODE: i32 = -1073807215;
660pub const VI_ERROR_SESN_NLOCKED: i32 = -1073807204;
661pub const VI_ERROR_MEM_NSHARED: i32 = -1073807203;
662pub const VI_ERROR_LIBRARY_NFOUND: i32 = -1073807202;
663pub const VI_ERROR_NSUP_INTR: i32 = -1073807201;
664pub const VI_ERROR_INV_LINE: i32 = -1073807200;
665pub const VI_ERROR_FILE_ACCESS: i32 = -1073807199;
666pub const VI_ERROR_FILE_IO: i32 = -1073807198;
667pub const VI_ERROR_NSUP_LINE: i32 = -1073807197;
668pub const VI_ERROR_NSUP_MECH: i32 = -1073807196;
669pub const VI_ERROR_INTF_NUM_NCONFIG: i32 = -1073807195;
670pub const VI_ERROR_CONN_LOST: i32 = -1073807194;
671pub const VI_ERROR_NPERMISSION: i32 = -1073807192;
672pub const VI_ERROR_SERVER_CERT: i32 = -1073807184;
673pub const VI_FIND_BUFLEN: u32 = 256;
674pub const VI_INTF_GPIB: u32 = 1;
675pub const VI_INTF_VXI: u32 = 2;
676pub const VI_INTF_GPIB_VXI: u32 = 3;
677pub const VI_INTF_ASRL: u32 = 4;
678pub const VI_INTF_PXI: u32 = 5;
679pub const VI_INTF_TCPIP: u32 = 6;
680pub const VI_INTF_USB: u32 = 7;
681pub const VI_PROT_NORMAL: u32 = 1;
682pub const VI_PROT_FDC: u32 = 2;
683pub const VI_PROT_HS488: u32 = 3;
684pub const VI_PROT_4882_STRS: u32 = 4;
685pub const VI_PROT_USBTMC_VENDOR: u32 = 5;
686pub const VI_FDC_NORMAL: u32 = 1;
687pub const VI_FDC_STREAM: u32 = 2;
688pub const VI_LOCAL_SPACE: u32 = 0;
689pub const VI_A16_SPACE: u32 = 1;
690pub const VI_A24_SPACE: u32 = 2;
691pub const VI_A32_SPACE: u32 = 3;
692pub const VI_A64_SPACE: u32 = 4;
693pub const VI_PXI_ALLOC_SPACE: u32 = 9;
694pub const VI_PXI_CFG_SPACE: u32 = 10;
695pub const VI_PXI_BAR0_SPACE: u32 = 11;
696pub const VI_PXI_BAR1_SPACE: u32 = 12;
697pub const VI_PXI_BAR2_SPACE: u32 = 13;
698pub const VI_PXI_BAR3_SPACE: u32 = 14;
699pub const VI_PXI_BAR4_SPACE: u32 = 15;
700pub const VI_PXI_BAR5_SPACE: u32 = 16;
701pub const VI_OPAQUE_SPACE: u32 = 65535;
702pub const VI_UNKNOWN_LA: i32 = -1;
703pub const VI_UNKNOWN_SLOT: i32 = -1;
704pub const VI_UNKNOWN_LEVEL: i32 = -1;
705pub const VI_UNKNOWN_CHASSIS: i32 = -1;
706pub const VI_QUEUE: u32 = 1;
707pub const VI_HNDLR: u32 = 2;
708pub const VI_SUSPEND_HNDLR: u32 = 4;
709pub const VI_ALL_MECH: u32 = 65535;
710pub const VI_ANY_HNDLR: u32 = 0;
711pub const VI_TRIG_ALL: i32 = -2;
712pub const VI_TRIG_SW: i32 = -1;
713pub const VI_TRIG_TTL0: u32 = 0;
714pub const VI_TRIG_TTL1: u32 = 1;
715pub const VI_TRIG_TTL2: u32 = 2;
716pub const VI_TRIG_TTL3: u32 = 3;
717pub const VI_TRIG_TTL4: u32 = 4;
718pub const VI_TRIG_TTL5: u32 = 5;
719pub const VI_TRIG_TTL6: u32 = 6;
720pub const VI_TRIG_TTL7: u32 = 7;
721pub const VI_TRIG_ECL0: u32 = 8;
722pub const VI_TRIG_ECL1: u32 = 9;
723pub const VI_TRIG_ECL2: u32 = 10;
724pub const VI_TRIG_ECL3: u32 = 11;
725pub const VI_TRIG_ECL4: u32 = 12;
726pub const VI_TRIG_ECL5: u32 = 13;
727pub const VI_TRIG_STAR_SLOT1: u32 = 14;
728pub const VI_TRIG_STAR_SLOT2: u32 = 15;
729pub const VI_TRIG_STAR_SLOT3: u32 = 16;
730pub const VI_TRIG_STAR_SLOT4: u32 = 17;
731pub const VI_TRIG_STAR_SLOT5: u32 = 18;
732pub const VI_TRIG_STAR_SLOT6: u32 = 19;
733pub const VI_TRIG_STAR_SLOT7: u32 = 20;
734pub const VI_TRIG_STAR_SLOT8: u32 = 21;
735pub const VI_TRIG_STAR_SLOT9: u32 = 22;
736pub const VI_TRIG_STAR_SLOT10: u32 = 23;
737pub const VI_TRIG_STAR_SLOT11: u32 = 24;
738pub const VI_TRIG_STAR_SLOT12: u32 = 25;
739pub const VI_TRIG_STAR_INSTR: u32 = 26;
740pub const VI_TRIG_PANEL_IN: u32 = 27;
741pub const VI_TRIG_PANEL_OUT: u32 = 28;
742pub const VI_TRIG_STAR_VXI0: u32 = 29;
743pub const VI_TRIG_STAR_VXI1: u32 = 30;
744pub const VI_TRIG_STAR_VXI2: u32 = 31;
745pub const VI_TRIG_TTL8: u32 = 32;
746pub const VI_TRIG_TTL9: u32 = 33;
747pub const VI_TRIG_TTL10: u32 = 34;
748pub const VI_TRIG_TTL11: u32 = 35;
749pub const VI_TRIG_PROT_DEFAULT: u32 = 0;
750pub const VI_TRIG_PROT_ON: u32 = 1;
751pub const VI_TRIG_PROT_OFF: u32 = 2;
752pub const VI_TRIG_PROT_SYNC: u32 = 5;
753pub const VI_TRIG_PROT_RESERVE: u32 = 6;
754pub const VI_TRIG_PROT_UNRESERVE: u32 = 7;
755pub const VI_READ_BUF: u32 = 1;
756pub const VI_WRITE_BUF: u32 = 2;
757pub const VI_READ_BUF_DISCARD: u32 = 4;
758pub const VI_WRITE_BUF_DISCARD: u32 = 8;
759pub const VI_IO_IN_BUF: u32 = 16;
760pub const VI_IO_OUT_BUF: u32 = 32;
761pub const VI_IO_IN_BUF_DISCARD: u32 = 64;
762pub const VI_IO_OUT_BUF_DISCARD: u32 = 128;
763pub const VI_FLUSH_ON_ACCESS: u32 = 1;
764pub const VI_FLUSH_WHEN_FULL: u32 = 2;
765pub const VI_FLUSH_DISABLE: u32 = 3;
766pub const VI_NMAPPED: u32 = 1;
767pub const VI_USE_OPERS: u32 = 2;
768pub const VI_DEREF_ADDR: u32 = 3;
769pub const VI_TMO_IMMEDIATE: u32 = 0;
770pub const VI_TMO_INFINITE: u32 = 4294967295;
771pub const VI_NO_LOCK: u32 = 0;
772pub const VI_EXCLUSIVE_LOCK: u32 = 1;
773pub const VI_SHARED_LOCK: u32 = 2;
774pub const VI_LOAD_CONFIG: u32 = 4;
775pub const VI_NO_SEC_ADDR: u32 = 65535;
776pub const VI_ASRL_PAR_NONE: u32 = 0;
777pub const VI_ASRL_PAR_ODD: u32 = 1;
778pub const VI_ASRL_PAR_EVEN: u32 = 2;
779pub const VI_ASRL_PAR_MARK: u32 = 3;
780pub const VI_ASRL_PAR_SPACE: u32 = 4;
781pub const VI_ASRL_STOP_ONE: u32 = 10;
782pub const VI_ASRL_STOP_ONE5: u32 = 15;
783pub const VI_ASRL_STOP_TWO: u32 = 20;
784pub const VI_ASRL_FLOW_NONE: u32 = 0;
785pub const VI_ASRL_FLOW_XON_XOFF: u32 = 1;
786pub const VI_ASRL_FLOW_RTS_CTS: u32 = 2;
787pub const VI_ASRL_FLOW_DTR_DSR: u32 = 4;
788pub const VI_ASRL_END_NONE: u32 = 0;
789pub const VI_ASRL_END_LAST_BIT: u32 = 1;
790pub const VI_ASRL_END_TERMCHAR: u32 = 2;
791pub const VI_ASRL_END_BREAK: u32 = 3;
792pub const VI_STATE_ASSERTED: u32 = 1;
793pub const VI_STATE_UNASSERTED: u32 = 0;
794pub const VI_STATE_UNKNOWN: i32 = -1;
795pub const VI_BIG_ENDIAN: u32 = 0;
796pub const VI_LITTLE_ENDIAN: u32 = 1;
797pub const VI_DATA_PRIV: u32 = 0;
798pub const VI_DATA_NPRIV: u32 = 1;
799pub const VI_PROG_PRIV: u32 = 2;
800pub const VI_PROG_NPRIV: u32 = 3;
801pub const VI_BLCK_PRIV: u32 = 4;
802pub const VI_BLCK_NPRIV: u32 = 5;
803pub const VI_D64_PRIV: u32 = 6;
804pub const VI_D64_NPRIV: u32 = 7;
805pub const VI_D64_2EVME: u32 = 8;
806pub const VI_D64_SST160: u32 = 9;
807pub const VI_D64_SST267: u32 = 10;
808pub const VI_D64_SST320: u32 = 11;
809pub const VI_WIDTH_8: u32 = 1;
810pub const VI_WIDTH_16: u32 = 2;
811pub const VI_WIDTH_32: u32 = 4;
812pub const VI_WIDTH_64: u32 = 8;
813pub const VI_GPIB_REN_DEASSERT: u32 = 0;
814pub const VI_GPIB_REN_ASSERT: u32 = 1;
815pub const VI_GPIB_REN_DEASSERT_GTL: u32 = 2;
816pub const VI_GPIB_REN_ASSERT_ADDRESS: u32 = 3;
817pub const VI_GPIB_REN_ASSERT_LLO: u32 = 4;
818pub const VI_GPIB_REN_ASSERT_ADDRESS_LLO: u32 = 5;
819pub const VI_GPIB_REN_ADDRESS_GTL: u32 = 6;
820pub const VI_GPIB_ATN_DEASSERT: u32 = 0;
821pub const VI_GPIB_ATN_ASSERT: u32 = 1;
822pub const VI_GPIB_ATN_DEASSERT_HANDSHAKE: u32 = 2;
823pub const VI_GPIB_ATN_ASSERT_IMMEDIATE: u32 = 3;
824pub const VI_GPIB_HS488_DISABLED: u32 = 0;
825pub const VI_GPIB_HS488_NIMPL: i32 = -1;
826pub const VI_GPIB_UNADDRESSED: u32 = 0;
827pub const VI_GPIB_TALKER: u32 = 1;
828pub const VI_GPIB_LISTENER: u32 = 2;
829pub const VI_VXI_CMD16: u32 = 512;
830pub const VI_VXI_CMD16_RESP16: u32 = 514;
831pub const VI_VXI_RESP16: u32 = 2;
832pub const VI_VXI_CMD32: u32 = 1024;
833pub const VI_VXI_CMD32_RESP16: u32 = 1026;
834pub const VI_VXI_CMD32_RESP32: u32 = 1028;
835pub const VI_VXI_RESP32: u32 = 4;
836pub const VI_ASSERT_SIGNAL: i32 = -1;
837pub const VI_ASSERT_USE_ASSIGNED: u32 = 0;
838pub const VI_ASSERT_IRQ1: u32 = 1;
839pub const VI_ASSERT_IRQ2: u32 = 2;
840pub const VI_ASSERT_IRQ3: u32 = 3;
841pub const VI_ASSERT_IRQ4: u32 = 4;
842pub const VI_ASSERT_IRQ5: u32 = 5;
843pub const VI_ASSERT_IRQ6: u32 = 6;
844pub const VI_ASSERT_IRQ7: u32 = 7;
845pub const VI_UTIL_ASSERT_SYSRESET: u32 = 1;
846pub const VI_UTIL_ASSERT_SYSFAIL: u32 = 2;
847pub const VI_UTIL_DEASSERT_SYSFAIL: u32 = 3;
848pub const VI_VXI_CLASS_MEMORY: u32 = 0;
849pub const VI_VXI_CLASS_EXTENDED: u32 = 1;
850pub const VI_VXI_CLASS_MESSAGE: u32 = 2;
851pub const VI_VXI_CLASS_REGISTER: u32 = 3;
852pub const VI_VXI_CLASS_OTHER: u32 = 4;
853pub const VI_PXI_ADDR_NONE: u32 = 0;
854pub const VI_PXI_ADDR_MEM: u32 = 1;
855pub const VI_PXI_ADDR_IO: u32 = 2;
856pub const VI_PXI_ADDR_CFG: u32 = 3;
857pub const VI_TRIG_UNKNOWN: i32 = -1;
858pub const VI_PXI_LBUS_STAR_TRIG_BUS_0: u32 = 1000;
859pub const VI_PXI_LBUS_STAR_TRIG_BUS_1: u32 = 1001;
860pub const VI_PXI_LBUS_STAR_TRIG_BUS_2: u32 = 1002;
861pub const VI_PXI_LBUS_STAR_TRIG_BUS_3: u32 = 1003;
862pub const VI_PXI_LBUS_STAR_TRIG_BUS_4: u32 = 1004;
863pub const VI_PXI_LBUS_STAR_TRIG_BUS_5: u32 = 1005;
864pub const VI_PXI_LBUS_STAR_TRIG_BUS_6: u32 = 1006;
865pub const VI_PXI_LBUS_STAR_TRIG_BUS_7: u32 = 1007;
866pub const VI_PXI_LBUS_STAR_TRIG_BUS_8: u32 = 1008;
867pub const VI_PXI_LBUS_STAR_TRIG_BUS_9: u32 = 1009;
868pub const VI_PXI_STAR_TRIG_CONTROLLER: u32 = 1413;
869pub const VI_ERROR_INV_SESSION: i32 = -1073807346;
870pub const VI_INFINITE: u32 = 4294967295;
871pub const VI_NORMAL: u32 = 1;
872pub const VI_FDC: u32 = 2;
873pub const VI_HS488: u32 = 3;
874pub const VI_ASRL488: u32 = 4;
875pub const VI_ASRL_IN_BUF: u32 = 16;
876pub const VI_ASRL_OUT_BUF: u32 = 32;
877pub const VI_ASRL_IN_BUF_DISCARD: u32 = 64;
878pub const VI_ASRL_OUT_BUF_DISCARD: u32 = 128;
879
880pub type __builtin_va_list = *mut ::std::os::raw::c_char;
881pub type va_list = __builtin_va_list;
882pub type __gnuc_va_list = __builtin_va_list;
883
884macro_rules! c_macros_to_rust_consts {
885    ($(#define $name:ident ($value:ident))*) => {
886        $(pub const $name: u32 = $value;)*
887    };
888}
889
890#[cfg(target_pointer_width = "64")]
891c_macros_to_rust_consts! {
892    #define VI_ATTR_USER_DATA (VI_ATTR_USER_DATA_64)
893    #define VI_ATTR_RET_COUNT (VI_ATTR_RET_COUNT_64)
894    #define VI_ATTR_WIN_BASE_ADDR (VI_ATTR_WIN_BASE_ADDR_64)
895    #define VI_ATTR_WIN_SIZE (VI_ATTR_WIN_SIZE_64)
896    #define VI_ATTR_MEM_BASE (VI_ATTR_MEM_BASE_64)
897    #define VI_ATTR_MEM_SIZE (VI_ATTR_MEM_SIZE_64)
898    #define VI_ATTR_PXI_MEM_BASE_BAR0 (VI_ATTR_PXI_MEM_BASE_BAR0_64)
899    #define VI_ATTR_PXI_MEM_BASE_BAR1 (VI_ATTR_PXI_MEM_BASE_BAR1_64)
900    #define VI_ATTR_PXI_MEM_BASE_BAR2 (VI_ATTR_PXI_MEM_BASE_BAR2_64)
901    #define VI_ATTR_PXI_MEM_BASE_BAR3 (VI_ATTR_PXI_MEM_BASE_BAR3_64)
902    #define VI_ATTR_PXI_MEM_BASE_BAR4 (VI_ATTR_PXI_MEM_BASE_BAR4_64)
903    #define VI_ATTR_PXI_MEM_BASE_BAR5 (VI_ATTR_PXI_MEM_BASE_BAR5_64)
904    #define VI_ATTR_PXI_MEM_SIZE_BAR0 (VI_ATTR_PXI_MEM_SIZE_BAR0_64)
905    #define VI_ATTR_PXI_MEM_SIZE_BAR1 (VI_ATTR_PXI_MEM_SIZE_BAR1_64)
906    #define VI_ATTR_PXI_MEM_SIZE_BAR2 (VI_ATTR_PXI_MEM_SIZE_BAR2_64)
907    #define VI_ATTR_PXI_MEM_SIZE_BAR3 (VI_ATTR_PXI_MEM_SIZE_BAR3_64)
908    #define VI_ATTR_PXI_MEM_SIZE_BAR4 (VI_ATTR_PXI_MEM_SIZE_BAR4_64)
909    #define VI_ATTR_PXI_MEM_SIZE_BAR5 (VI_ATTR_PXI_MEM_SIZE_BAR5_64)
910}
911
912#[cfg(not(target_pointer_width = "64"))]
913c_macros_to_rust_consts! {
914    #define VI_ATTR_USER_DATA (VI_ATTR_USER_DATA_32)
915    #define VI_ATTR_RET_COUNT (VI_ATTR_RET_COUNT_32)
916    #define VI_ATTR_WIN_BASE_ADDR (VI_ATTR_WIN_BASE_ADDR_32)
917    #define VI_ATTR_WIN_SIZE (VI_ATTR_WIN_SIZE_32)
918    #define VI_ATTR_MEM_BASE (VI_ATTR_MEM_BASE_32)
919    #define VI_ATTR_MEM_SIZE (VI_ATTR_MEM_SIZE_32)
920    #define VI_ATTR_PXI_MEM_BASE_BAR0 (VI_ATTR_PXI_MEM_BASE_BAR0_32)
921    #define VI_ATTR_PXI_MEM_BASE_BAR1 (VI_ATTR_PXI_MEM_BASE_BAR1_32)
922    #define VI_ATTR_PXI_MEM_BASE_BAR2 (VI_ATTR_PXI_MEM_BASE_BAR2_32)
923    #define VI_ATTR_PXI_MEM_BASE_BAR3 (VI_ATTR_PXI_MEM_BASE_BAR3_32)
924    #define VI_ATTR_PXI_MEM_BASE_BAR4 (VI_ATTR_PXI_MEM_BASE_BAR4_32)
925    #define VI_ATTR_PXI_MEM_BASE_BAR5 (VI_ATTR_PXI_MEM_BASE_BAR5_32)
926    #define VI_ATTR_PXI_MEM_SIZE_BAR0 (VI_ATTR_PXI_MEM_SIZE_BAR0_32)
927    #define VI_ATTR_PXI_MEM_SIZE_BAR1 (VI_ATTR_PXI_MEM_SIZE_BAR1_32)
928    #define VI_ATTR_PXI_MEM_SIZE_BAR2 (VI_ATTR_PXI_MEM_SIZE_BAR2_32)
929    #define VI_ATTR_PXI_MEM_SIZE_BAR3 (VI_ATTR_PXI_MEM_SIZE_BAR3_32)
930    #define VI_ATTR_PXI_MEM_SIZE_BAR4 (VI_ATTR_PXI_MEM_SIZE_BAR4_32)
931    #define VI_ATTR_PXI_MEM_SIZE_BAR5 (VI_ATTR_PXI_MEM_SIZE_BAR5_32)
932}
933
934/// A UInt that is the same size as the target's pointer width
935// !!!
936#[cfg(target_pointer_width = "64")]
937pub type ViUIntPtrSize = ViUInt64;
938#[cfg(not(target_pointer_width = "64"))]
939pub type ViUIntPtrSize = ViUInt32;
940// !!!
941
942/*Type definitions */
943pub type ViUInt64 = u64;
944pub type ViInt64 = i64;
945pub type ViPUInt64 = *mut ViUInt64;
946pub type ViAUInt64 = *mut ViUInt64;
947pub type ViPInt64 = *mut ViInt64;
948pub type ViAInt64 = *mut ViInt64;
949pub type ViUInt32 = u32;
950pub type ViPUInt32 = *mut ViUInt32;
951pub type ViAUInt32 = *mut ViUInt32;
952pub type ViInt32 = i32;
953pub type ViPInt32 = *mut ViInt32;
954pub type ViAInt32 = *mut ViInt32;
955pub type ViUInt16 = u16;
956pub type ViPUInt16 = *mut ViUInt16;
957pub type ViAUInt16 = *mut ViUInt16;
958pub type ViInt16 = i16;
959pub type ViPInt16 = *mut ViInt16;
960pub type ViAInt16 = *mut ViInt16;
961pub type ViUInt8 = ::std::os::raw::c_uchar;
962pub type ViPUInt8 = *mut ViUInt8;
963pub type ViAUInt8 = *mut ViUInt8;
964pub type ViInt8 = ::std::os::raw::c_schar;
965pub type ViPInt8 = *mut ViInt8;
966pub type ViAInt8 = *mut ViInt8;
967pub type ViChar = ::std::os::raw::c_char;
968pub type ViPChar = *mut ViChar;
969pub type ViAChar = *mut ViChar;
970pub type ViByte = ::std::os::raw::c_uchar;
971pub type ViPByte = *mut ViByte;
972pub type ViAByte = *mut ViByte;
973pub type ViAddr = *mut ::std::os::raw::c_void;
974pub type ViPAddr = *mut ViAddr;
975pub type ViAAddr = *mut ViAddr;
976pub type ViReal32 = f32;
977pub type ViPReal32 = *mut ViReal32;
978pub type ViAReal32 = *mut ViReal32;
979pub type ViReal64 = f64;
980pub type ViPReal64 = *mut ViReal64;
981pub type ViAReal64 = *mut ViReal64;
982pub type ViBuf = ViPByte;
983pub type ViConstBuf = *const ViByte;
984pub type ViPBuf = ViPByte;
985pub type ViABuf = *mut ViPByte;
986pub type ViString = ViPChar;
987pub type ViConstString = *const ViChar;
988pub type ViPString = ViPChar;
989pub type ViAString = *mut ViPChar;
990pub type ViRsrc = ViString;
991pub type ViConstRsrc = ViConstString;
992pub type ViPRsrc = ViString;
993pub type ViARsrc = *mut ViString;
994pub type ViBoolean = ViUInt16;
995pub type ViPBoolean = *mut ViBoolean;
996pub type ViABoolean = *mut ViBoolean;
997pub type ViStatus = ViInt32;
998pub type ViPStatus = *mut ViStatus;
999pub type ViAStatus = *mut ViStatus;
1000pub type ViVersion = ViUInt32;
1001pub type ViPVersion = *mut ViVersion;
1002pub type ViAVersion = *mut ViVersion;
1003pub type ViObject = ViUInt32;
1004pub type ViPObject = *mut ViObject;
1005pub type ViAObject = *mut ViObject;
1006pub type ViSession = ViObject;
1007pub type ViPSession = *mut ViSession;
1008pub type ViASession = *mut ViSession;
1009pub type ViAttr = ViUInt32;
1010pub type ViEvent = ViObject;
1011pub type ViPEvent = *mut ViEvent;
1012pub type ViFindList = ViObject;
1013pub type ViPFindList = *mut ViFindList;
1014// !!!
1015pub type ViBusAddress = ViUIntPtrSize;
1016pub type ViBusSize = ViUIntPtrSize;
1017pub type ViAttrState = ViUIntPtrSize;
1018// !!!
1019pub type ViBusAddress64 = ViUInt64;
1020pub type ViPBusAddress64 = *mut ViBusAddress64;
1021pub type ViEventType = ViUInt32;
1022pub type ViPEventType = *mut ViEventType;
1023pub type ViAEventType = *mut ViEventType;
1024pub type ViPAttrState = *mut ::std::os::raw::c_void;
1025pub type ViPAttr = *mut ViAttr;
1026pub type ViAAttr = *mut ViAttr;
1027pub type ViKeyId = ViString;
1028pub type ViConstKeyId = ViConstString;
1029pub type ViPKeyId = ViPString;
1030pub type ViJobId = ViUInt32;
1031pub type ViPJobId = *mut ViJobId;
1032pub type ViAccessMode = ViUInt32;
1033pub type ViPAccessMode = *mut ViAccessMode;
1034pub type ViPBusAddress = *mut ViBusAddress;
1035pub type ViEventFilter = ViUInt32;
1036pub type ViVAList = va_list;
1037pub type ViHndlr = ::std::option::Option<
1038    unsafe extern "system" fn(
1039        vi: ViSession,
1040        eventType: ViEventType,
1041        event: ViEvent,
1042        userHandle: ViAddr,
1043    ) -> ViStatus,
1044>;