VISA.H
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:36k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*---------------------------------------------------------------------------*/
  2. /* Distributed by Agilent Technologies                                       */
  3. /*                                                                           */
  4. /* Do not modify the contents of this file.                                  */
  5. /*---------------------------------------------------------------------------*/
  6. /*                                                                           */
  7. /* Title   : VISA.H                                                          */
  8. /* Date    : 05-16-02                                                        */
  9. /* Purpose : Include file for the VISA Library 2.2 specification with        */
  10. /*           Agilent extensions.                                             */
  11. /*                                                                           */
  12. /*---------------------------------------------------------------------------*/
  13. #ifndef __VISA_HEADER__
  14. #define __VISA_HEADER__
  15. #include <stdarg.h>
  16. #if !defined(__VISATYPE_HEADER__)
  17. #include "visatype.h"
  18. #endif
  19. #define VI_SPEC_VERSION     (0x00200200UL)
  20. #if defined(__cplusplus) || defined(__cplusplus__)
  21.    extern "C" {
  22. #endif
  23. #if defined(_CVI_)
  24. #pragma EnableLibraryRuntimeChecking
  25. #endif
  26. /*- VISA Types --------------------------------------------------------------*/
  27. typedef ViObject             ViEvent;
  28. typedef ViEvent      _VI_PTR ViPEvent;
  29. typedef ViObject             ViFindList;
  30. typedef ViFindList   _VI_PTR ViPFindList;
  31. typedef ViUInt32             ViEventType;
  32. typedef ViEventType  _VI_PTR ViPEventType;
  33. typedef ViEventType  _VI_PTR ViAEventType;
  34. typedef ViUInt32             ViAttrState;
  35. typedef void         _VI_PTR ViPAttrState;
  36. typedef ViAttr       _VI_PTR ViPAttr;
  37. typedef ViAttr       _VI_PTR ViAAttr;
  38. typedef ViString             ViKeyId;
  39. typedef ViPString            ViPKeyId;
  40. typedef ViUInt32             ViJobId;
  41. typedef ViJobId      _VI_PTR ViPJobId;
  42. typedef ViUInt32             ViAccessMode;
  43. typedef ViAccessMode _VI_PTR ViPAccessMode;
  44. typedef ViUInt32             ViBusAddress;
  45. typedef ViBusAddress _VI_PTR ViPBusAddress;
  46. typedef ViUInt32             ViBusSize;
  47. typedef ViUInt32             ViEventFilter;
  48. typedef va_list              ViVAList;
  49. typedef ViStatus (_VI_FUNCH _VI_PTR ViHndlr)
  50.    (ViSession vi, ViEventType eventType, ViEvent event, ViAddr userHandle);
  51. /*- Resource Manager Functions and Operations -------------------------------*/
  52. ViStatus _VI_FUNC  viOpenDefaultRM (ViPSession vi);
  53. #define viGetDefaultRM(vi) viOpenDefaultRM(vi)
  54. ViStatus _VI_FUNC  viFindRsrc      (ViSession sesn, ViString expr, ViPFindList vi,
  55.                                     ViPUInt32 retCnt, ViChar _VI_FAR desc[]);
  56. ViStatus _VI_FUNC  viFindNext      (ViFindList vi, ViChar _VI_FAR desc[]);
  57. ViStatus _VI_FUNC  viParseRsrc     (ViSession rmSesn, ViRsrc rsrcName,
  58.                                     ViPUInt16 intfType, ViPUInt16 intfNum);
  59. ViStatus _VI_FUNC  viOpen          (ViSession sesn, ViRsrc name, ViAccessMode mode,
  60.                                     ViUInt32 timeout, ViPSession vi);
  61. /*- Resource Template Operations --------------------------------------------*/
  62. ViStatus _VI_FUNC  viClose         (ViObject vi);
  63. ViStatus _VI_FUNC  viSetAttribute  (ViObject vi, ViAttr attrName, ViAttrState attrValue);
  64. ViStatus _VI_FUNC  viGetAttribute  (ViObject vi, ViAttr attrName, void _VI_PTR attrValue);
  65. ViStatus _VI_FUNC  viStatusDesc    (ViObject vi, ViStatus status, ViChar _VI_FAR desc[]);
  66. ViStatus _VI_FUNC  viTerminate     (ViObject vi, ViUInt16 degree, ViJobId jobId);
  67. ViStatus _VI_FUNC  viLock          (ViSession vi, ViAccessMode lockType, ViUInt32 timeout,
  68.                                     ViKeyId requestedKey, ViChar _VI_FAR accessKey[]);
  69. ViStatus _VI_FUNC  viUnlock        (ViSession vi);
  70. ViStatus _VI_FUNC  viEnableEvent   (ViSession vi, ViEventType eventType, ViUInt16 mechanism,
  71.                                     ViEventFilter context);
  72. ViStatus _VI_FUNC  viDisableEvent  (ViSession vi, ViEventType eventType, ViUInt16 mechanism);
  73. ViStatus _VI_FUNC  viDiscardEvents (ViSession vi, ViEventType eventType, ViUInt16 mechanism);
  74. ViStatus _VI_FUNC  viWaitOnEvent   (ViSession vi, ViEventType inEventType, ViUInt32 timeout,
  75.                                     ViPEventType outEventType, ViPEvent outContext);
  76. ViStatus _VI_FUNC  viInstallHandler(ViSession vi, ViEventType eventType, ViHndlr handler,
  77.                                     ViAddr userHandle);
  78. ViStatus _VI_FUNC  viUninstallHandler(ViSession vi, ViEventType eventType, ViHndlr handler,
  79.                                       ViAddr userHandle);
  80. /*- Basic I/O Operations ----------------------------------------------------*/
  81. ViStatus _VI_FUNC  viRead          (ViSession vi, ViPBuf buf, ViUInt32 cnt, ViPUInt32 retCnt);
  82. ViStatus _VI_FUNC  viReadAsync     (ViSession vi, ViPBuf buf, ViUInt32 cnt, ViPJobId  jobId);
  83. ViStatus _VI_FUNC  viReadToFile    (ViSession vi, ViConstString filename, ViUInt32 cnt,
  84.                                     ViPUInt32 retCnt);
  85. ViStatus _VI_FUNC  viWrite         (ViSession vi, ViBuf  buf, ViUInt32 cnt, ViPUInt32 retCnt);
  86. ViStatus _VI_FUNC  viWriteAsync    (ViSession vi, ViBuf  buf, ViUInt32 cnt, ViPJobId  jobId);
  87. ViStatus _VI_FUNC viWriteFromFile  (ViSession vi, ViConstString filename, ViUInt32 cnt,
  88.                                     ViPUInt32 retCnt);
  89. ViStatus _VI_FUNC  viAssertTrigger (ViSession vi, ViUInt16 protocol);
  90. ViStatus _VI_FUNC  viReadSTB       (ViSession vi, ViPUInt16 status);
  91. ViStatus _VI_FUNC  viClear         (ViSession vi);
  92. /*- Formatted and Buffered I/O Operations -----------------------------------*/
  93. ViStatus _VI_FUNC  viSetBuf        (ViSession vi, ViUInt16 mask, ViUInt32 size);
  94. ViStatus _VI_FUNC  viFlush         (ViSession vi, ViUInt16 mask);
  95. ViStatus _VI_FUNC  viBufWrite      (ViSession vi, ViBuf  buf, ViUInt32 cnt, ViPUInt32 retCnt);
  96. ViStatus _VI_FUNC  viBufRead       (ViSession vi, ViPBuf buf, ViUInt32 cnt, ViPUInt32 retCnt);
  97. ViStatus _VI_FUNCC viPrintf        (ViSession vi, ViString writeFmt, ...);
  98. ViStatus _VI_FUNC  viVPrintf       (ViSession vi, ViString writeFmt, ViVAList params);
  99. ViStatus _VI_FUNCC viSPrintf       (ViSession vi, ViPBuf buf, ViString writeFmt, ...);
  100. ViStatus _VI_FUNC  viVSPrintf      (ViSession vi, ViPBuf buf, ViString writeFmt,
  101.                                     ViVAList parms);
  102. ViStatus _VI_FUNCC viScanf         (ViSession vi, ViString readFmt, ...);
  103. ViStatus _VI_FUNC  viVScanf        (ViSession vi, ViString readFmt, ViVAList params);
  104. ViStatus _VI_FUNCC viSScanf        (ViSession vi, ViBuf buf, ViString readFmt, ...);
  105. ViStatus _VI_FUNC  viVSScanf       (ViSession vi, ViBuf buf, ViString readFmt,
  106.                                     ViVAList parms);
  107. ViStatus _VI_FUNCC viQueryf        (ViSession vi, ViString writeFmt, ViString readFmt, ...);
  108. ViStatus _VI_FUNC  viVQueryf       (ViSession vi, ViString writeFmt, ViString readFmt, 
  109.                                     ViVAList params);
  110. /*- Memory I/O Operations ---------------------------------------------------*/
  111. ViStatus _VI_FUNC  viIn8           (ViSession vi, ViUInt16 space,
  112.                                     ViBusAddress offset, ViPUInt8  val8);
  113. ViStatus _VI_FUNC  viOut8          (ViSession vi, ViUInt16 space,
  114.                                     ViBusAddress offset, ViUInt8   val8);
  115. ViStatus _VI_FUNC  viIn16          (ViSession vi, ViUInt16 space,
  116.                                     ViBusAddress offset, ViPUInt16 val16);
  117. ViStatus _VI_FUNC  viOut16         (ViSession vi, ViUInt16 space,
  118.                                     ViBusAddress offset, ViUInt16  val16);
  119. ViStatus _VI_FUNC  viIn32          (ViSession vi, ViUInt16 space,
  120.                                     ViBusAddress offset, ViPUInt32 val32);
  121. ViStatus _VI_FUNC  viOut32         (ViSession vi, ViUInt16 space,
  122.                                     ViBusAddress offset, ViUInt32  val32);
  123. ViStatus _VI_FUNC  viMoveIn8       (ViSession vi, ViUInt16 space, ViBusAddress offset,
  124.                                     ViBusSize length, ViAUInt8  buf8);
  125. ViStatus _VI_FUNC  viMoveOut8      (ViSession vi, ViUInt16 space, ViBusAddress offset,
  126.                                     ViBusSize length, ViAUInt8  buf8);
  127. ViStatus _VI_FUNC  viMoveIn16      (ViSession vi, ViUInt16 space, ViBusAddress offset,
  128.                                     ViBusSize length, ViAUInt16 buf16);
  129. ViStatus _VI_FUNC  viMoveOut16     (ViSession vi, ViUInt16 space, ViBusAddress offset,
  130.                                     ViBusSize length, ViAUInt16 buf16);
  131. ViStatus _VI_FUNC  viMoveIn32      (ViSession vi, ViUInt16 space, ViBusAddress offset,
  132.                                     ViBusSize length, ViAUInt32 buf32);
  133. ViStatus _VI_FUNC  viMoveOut32     (ViSession vi, ViUInt16 space, ViBusAddress offset,
  134.                                     ViBusSize length, ViAUInt32 buf32);
  135. ViStatus _VI_FUNC  viMove          (ViSession vi, ViUInt16 srcSpace, ViBusAddress srcOffset,
  136.                                     ViUInt16 srcWidth, ViUInt16 destSpace, 
  137.                                     ViBusAddress destOffset, ViUInt16 destWidth, 
  138.                                     ViBusSize srcLength); 
  139. ViStatus _VI_FUNC  viMoveAsync     (ViSession vi, ViUInt16 srcSpace, ViBusAddress srcOffset,
  140.                                     ViUInt16 srcWidth, ViUInt16 destSpace, 
  141.                                     ViBusAddress destOffset, ViUInt16 destWidth, 
  142.                                     ViBusSize srcLength, ViPJobId jobId); 
  143. ViStatus _VI_FUNC  viMapAddress    (ViSession vi, ViUInt16 mapSpace, ViBusAddress mapOffset,
  144.                                     ViBusSize mapSize, ViBoolean access,
  145.                                     ViAddr suggested, ViPAddr address);
  146. ViStatus _VI_FUNC  viUnmapAddress  (ViSession vi);
  147. void     _VI_FUNC  viPeek8         (ViSession vi, ViAddr address, ViPUInt8  val8);
  148. void     _VI_FUNC  viPoke8         (ViSession vi, ViAddr address, ViUInt8   val8);
  149. void     _VI_FUNC  viPeek16        (ViSession vi, ViAddr address, ViPUInt16 val16);
  150. void     _VI_FUNC  viPoke16        (ViSession vi, ViAddr address, ViUInt16  val16);
  151. void     _VI_FUNC  viPeek32        (ViSession vi, ViAddr address, ViPUInt32 val32);
  152. void     _VI_FUNC  viPoke32        (ViSession vi, ViAddr address, ViUInt32  val32);
  153. /*- Shared Memory Operations ------------------------------------------------*/
  154. ViStatus _VI_FUNC  viMemAlloc      (ViSession vi, ViBusSize size, ViPBusAddress offset);
  155. ViStatus _VI_FUNC  viMemFree       (ViSession vi, ViBusAddress offset);
  156. /*- Interface Specific Operations -------------------------------------------*/
  157. ViStatus _VI_FUNC  viGpibControlREN  (ViSession vi, ViUInt16 mode);
  158. ViStatus _VI_FUNC  viGpibControlATN  (ViSession vi, ViUInt16 mode);
  159. ViStatus _VI_FUNC  viGpibSendIFC     (ViSession vi);
  160. ViStatus _VI_FUNC  viGpibCommand     (ViSession vi, ViBuf cmd, ViUInt32 cnt, ViPUInt32 retCnt);
  161. ViStatus _VI_FUNC  viGpibPassControl (ViSession vi, ViUInt16 primAddr, ViUInt16 secAddr);
  162. ViStatus _VI_FUNC  viVxiCommandQuery (ViSession vi, ViUInt16 mode, ViUInt32 cmd,
  163.                                       ViPUInt32 response);
  164. ViStatus _VI_FUNC  viAssertUtilSignal(ViSession vi, ViUInt16 line);
  165. ViStatus _VI_FUNC  viAssertIntrSignal(ViSession vi, ViInt16 mode, ViUInt32 statusID);
  166. ViStatus _VI_FUNC  viMapTrigger      (ViSession vi, ViInt16 trigSrc, ViInt16 trigDest,
  167.                                       ViUInt16 mode);
  168. ViStatus _VI_FUNC  viUnmapTrigger    (ViSession vi, ViInt16 trigSrc, ViInt16 trigDest);
  169. /*- Attributes --------------------------------------------------------------*/
  170. #define VI_ATTR_RSRC_CLASS          (0xBFFF0001UL)
  171. #define VI_ATTR_RSRC_NAME           (0xBFFF0002UL)
  172. #define VI_ATTR_RSRC_IMPL_VERSION   (0x3FFF0003UL)
  173. #define VI_ATTR_RSRC_LOCK_STATE     (0x3FFF0004UL)
  174. #define VI_ATTR_MAX_QUEUE_LENGTH    (0x3FFF0005UL)
  175. #define VI_ATTR_USER_DATA           (0x3FFF0007UL)
  176. #define VI_ATTR_FDC_CHNL            (0x3FFF000DUL)
  177. #define VI_ATTR_FDC_MODE            (0x3FFF000FUL)
  178. #define VI_ATTR_FDC_GEN_SIGNAL_EN   (0x3FFF0011UL)
  179. #define VI_ATTR_FDC_USE_PAIR        (0x3FFF0013UL)
  180. #define VI_ATTR_SEND_END_EN         (0x3FFF0016UL)
  181. #define VI_ATTR_TERMCHAR            (0x3FFF0018UL)
  182. #define VI_ATTR_TMO_VALUE           (0x3FFF001AUL)
  183. #define VI_ATTR_GPIB_READDR_EN      (0x3FFF001BUL)
  184. #define VI_ATTR_IO_PROT             (0x3FFF001CUL)
  185. #define VI_ATTR_DMA_ALLOW_EN        (0x3FFF001EUL)
  186. #define VI_ATTR_ASRL_BAUD           (0x3FFF0021UL)
  187. #define VI_ATTR_ASRL_DATA_BITS      (0x3FFF0022UL)
  188. #define VI_ATTR_ASRL_PARITY         (0x3FFF0023UL)
  189. #define VI_ATTR_ASRL_STOP_BITS      (0x3FFF0024UL)
  190. #define VI_ATTR_ASRL_FLOW_CNTRL     (0x3FFF0025UL)
  191. #define VI_ATTR_RD_BUF_OPER_MODE    (0x3FFF002AUL)
  192. #define VI_ATTR_WR_BUF_OPER_MODE    (0x3FFF002DUL)
  193. #define VI_ATTR_SUPPRESS_END_EN     (0x3FFF0036UL)
  194. #define VI_ATTR_TERMCHAR_EN         (0x3FFF0038UL)
  195. #define VI_ATTR_DEST_ACCESS_PRIV    (0x3FFF0039UL)
  196. #define VI_ATTR_DEST_BYTE_ORDER     (0x3FFF003AUL)
  197. #define VI_ATTR_SRC_ACCESS_PRIV     (0x3FFF003CUL)
  198. #define VI_ATTR_SRC_BYTE_ORDER      (0x3FFF003DUL)
  199. #define VI_ATTR_SRC_INCREMENT       (0x3FFF0040UL)
  200. #define VI_ATTR_DEST_INCREMENT      (0x3FFF0041UL)
  201. #define VI_ATTR_WIN_ACCESS_PRIV     (0x3FFF0045UL)
  202. #define VI_ATTR_WIN_BYTE_ORDER      (0x3FFF0047UL)
  203. #define VI_ATTR_GPIB_ATN_STATE      (0x3FFF0057UL)
  204. #define VI_ATTR_GPIB_ADDR_STATE     (0x3FFF005CUL)
  205. #define VI_ATTR_GPIB_CIC_STATE      (0x3FFF005EUL)
  206. #define VI_ATTR_GPIB_NDAC_STATE     (0x3FFF0062UL)
  207. #define VI_ATTR_GPIB_SRQ_STATE      (0x3FFF0067UL)
  208. #define VI_ATTR_GPIB_SYS_CNTRL_STATE (0x3FFF0068UL)
  209. #define VI_ATTR_GPIB_HS488_CBL_LEN  (0x3FFF0069UL)
  210. #define VI_ATTR_CMDR_LA             (0x3FFF006BUL)
  211. #define VI_ATTR_VXI_DEV_CLASS       (0x3FFF006CUL)
  212. #define VI_ATTR_MAINFRAME_LA        (0x3FFF0070UL)
  213. #define VI_ATTR_MANF_NAME           (0xBFFF0072UL)
  214. #define VI_ATTR_MODEL_NAME          (0xBFFF0077UL)
  215. #define VI_ATTR_VXI_VME_INTR_STATUS (0x3FFF008BUL)
  216. #define VI_ATTR_VXI_TRIG_STATUS     (0x3FFF008DUL)
  217. #define VI_ATTR_VXI_VME_SYSFAIL_STATE (0x3FFF0094UL)
  218. #define VI_ATTR_WIN_BASE_ADDR       (0x3FFF0098UL)
  219. #define VI_ATTR_WIN_SIZE            (0x3FFF009AUL)
  220. #define VI_ATTR_ASRL_AVAIL_NUM      (0x3FFF00ACUL)
  221. #define VI_ATTR_MEM_BASE            (0x3FFF00ADUL)
  222. #define VI_ATTR_ASRL_CTS_STATE      (0x3FFF00AEUL)
  223. #define VI_ATTR_ASRL_DCD_STATE      (0x3FFF00AFUL)
  224. #define VI_ATTR_ASRL_DSR_STATE      (0x3FFF00B1UL)
  225. #define VI_ATTR_ASRL_DTR_STATE      (0x3FFF00B2UL)
  226. #define VI_ATTR_ASRL_END_IN         (0x3FFF00B3UL)
  227. #define VI_ATTR_ASRL_END_OUT        (0x3FFF00B4UL)
  228. #define VI_ATTR_ASRL_REPLACE_CHAR   (0x3FFF00BEUL)
  229. #define VI_ATTR_ASRL_RI_STATE       (0x3FFF00BFUL)
  230. #define VI_ATTR_ASRL_RTS_STATE      (0x3FFF00C0UL)
  231. #define VI_ATTR_ASRL_XON_CHAR       (0x3FFF00C1UL)
  232. #define VI_ATTR_ASRL_XOFF_CHAR      (0x3FFF00C2UL)
  233. #define VI_ATTR_WIN_ACCESS          (0x3FFF00C3UL)
  234. #define VI_ATTR_RM_SESSION          (0x3FFF00C4UL)
  235. #define VI_ATTR_VXI_LA              (0x3FFF00D5UL)
  236. #define VI_ATTR_MANF_ID             (0x3FFF00D9UL)
  237. #define VI_ATTR_MEM_SIZE            (0x3FFF00DDUL)
  238. #define VI_ATTR_MEM_SPACE           (0x3FFF00DEUL)
  239. #define VI_ATTR_MODEL_CODE          (0x3FFF00DFUL)
  240. #define VI_ATTR_SLOT                (0x3FFF00E8UL)
  241. #define VI_ATTR_INTF_INST_NAME      (0xBFFF00E9UL)
  242. #define VI_ATTR_IMMEDIATE_SERV      (0x3FFF0100UL)
  243. #define VI_ATTR_INTF_PARENT_NUM     (0x3FFF0101UL)
  244. #define VI_ATTR_RSRC_SPEC_VERSION   (0x3FFF0170UL)
  245. #define VI_ATTR_INTF_TYPE           (0x3FFF0171UL)
  246. #define VI_ATTR_GPIB_PRIMARY_ADDR   (0x3FFF0172UL)
  247. #define VI_ATTR_GPIB_SECONDARY_ADDR (0x3FFF0173UL)
  248. #define VI_ATTR_RSRC_MANF_NAME      (0xBFFF0174UL)
  249. #define VI_ATTR_RSRC_MANF_ID        (0x3FFF0175UL)
  250. #define VI_ATTR_INTF_NUM            (0x3FFF0176UL)
  251. #define VI_ATTR_TRIG_ID             (0x3FFF0177UL)
  252. #define VI_ATTR_GPIB_REN_STATE      (0x3FFF0181UL)
  253. #define VI_ATTR_GPIB_UNADDR_EN      (0x3FFF0184UL)
  254. #define VI_ATTR_DEV_STATUS_BYTE     (0x3FFF0189UL)
  255. #define VI_ATTR_FILE_APPEND_EN      (0x3FFF0192UL)
  256. #define VI_ATTR_VXI_TRIG_SUPPORT    (0x3FFF0194UL)
  257. #define VI_ATTR_TCPIP_ADDR          (0xBFFF0195UL)
  258. #define VI_ATTR_TCPIP_HOSTNAME      (0xBFFF0196UL)
  259. #define VI_ATTR_TCPIP_PORT          (0x3FFF0197UL)
  260. #define VI_ATTR_TCPIP_DEVICE_NAME   (0xBFFF0199UL)
  261. #define VI_ATTR_TCPIP_NODELAY       (0x3FFF019AUL)
  262. #define VI_ATTR_TCPIP_KEEPALIVE     (0x3FFF019BUL)
  263. #define VI_ATTR_JOB_ID              (0x3FFF4006UL)
  264. #define VI_ATTR_EVENT_TYPE          (0x3FFF4010UL)
  265. #define VI_ATTR_SIGP_STATUS_ID      (0x3FFF4011UL)
  266. #define VI_ATTR_RECV_TRIG_ID        (0x3FFF4012UL)
  267. #define VI_ATTR_INTR_STATUS_ID      (0x3FFF4023UL)
  268. #define VI_ATTR_STATUS              (0x3FFF4025UL)
  269. #define VI_ATTR_RET_COUNT           (0x3FFF4026UL)
  270. #define VI_ATTR_BUFFER              (0x3FFF4027UL)
  271. #define VI_ATTR_RECV_INTR_LEVEL     (0x3FFF4041UL)
  272. #define VI_ATTR_OPER_NAME           (0xBFFF4042UL)
  273. #define VI_ATTR_GPIB_RECV_CIC_STATE (0x3FFF4193UL)
  274. #define VI_ATTR_RECV_TCPIP_ADDR     (0xBFFF4198UL)
  275. /*- Event Types -------------------------------------------------------------*/
  276. #define VI_EVENT_IO_COMPLETION      (0x3FFF2009UL)
  277. #define VI_EVENT_TRIG               (0xBFFF200AUL)
  278. #define VI_EVENT_SERVICE_REQ        (0x3FFF200BUL)
  279. #define VI_EVENT_CLEAR              (0x3FFF200DUL)
  280. #define VI_EVENT_EXCEPTION          (0xBFFF200EUL)
  281. #define VI_EVENT_GPIB_CIC           (0x3FFF2012UL)
  282. #define VI_EVENT_GPIB_TALK          (0x3FFF2013UL)
  283. #define VI_EVENT_GPIB_LISTEN        (0x3FFF2014UL)
  284. #define VI_EVENT_VXI_VME_SYSFAIL    (0x3FFF201DUL)
  285. #define VI_EVENT_VXI_VME_SYSRESET   (0x3FFF201EUL)
  286. #define VI_EVENT_VXI_SIGP           (0x3FFF2020UL)
  287. #define VI_EVENT_VXI_VME_INTR       (0xBFFF2021UL)
  288. #define VI_EVENT_TCPIP_CONNECT      (0x3FFF2036UL)
  289. #define VI_ALL_ENABLED_EVENTS       (0x3FFF7FFFUL)
  290. /*- Completion and Error Codes ----------------------------------------------*/
  291. #define VI_SUCCESS_EVENT_EN                   (0x3FFF0002L) /* 3FFF0002,  1073676290 */
  292. #define VI_SUCCESS_EVENT_DIS                  (0x3FFF0003L) /* 3FFF0003,  1073676291 */
  293. #define VI_SUCCESS_QUEUE_EMPTY                (0x3FFF0004L) /* 3FFF0004,  1073676292 */
  294. #define VI_SUCCESS_TERM_CHAR                  (0x3FFF0005L) /* 3FFF0005,  1073676293 */
  295. #define VI_SUCCESS_MAX_CNT                    (0x3FFF0006L) /* 3FFF0006,  1073676294 */
  296. #define VI_SUCCESS_DEV_NPRESENT               (0x3FFF007DL) /* 3FFF007D,  1073676413 */
  297. #define VI_SUCCESS_TRIG_MAPPED                (0x3FFF007EL) /* 3FFF007E, 1073676414 */
  298. #define VI_SUCCESS_QUEUE_NEMPTY               (0x3FFF0080L) /* 3FFF0080,  1073676416 */
  299. #define VI_SUCCESS_NCHAIN                     (0x3FFF0098L) /* 3FFF0098,  1073676440 */
  300. #define VI_SUCCESS_NESTED_SHARED              (0x3FFF0099L) /* 3FFF0099,  1073676441 */
  301. #define VI_SUCCESS_NESTED_EXCLUSIVE           (0x3FFF009AL) /* 3FFF009A,  1073676442 */
  302. #define VI_SUCCESS_SYNC                       (0x3FFF009BL) /* 3FFF009B,  1073676443 */
  303. #define VI_WARN_CONFIG_NLOADED                (0x3FFF0077L) /* 3FFF0077,  1073676407 */
  304. #define VI_WARN_NULL_OBJECT                   (0x3FFF0082L) /* 3FFF0082,  1073676418 */
  305. #define VI_WARN_NSUP_ATTR_STATE               (0x3FFF0084L) /* 3FFF0084,  1073676420 */
  306. #define VI_WARN_UNKNOWN_STATUS                (0x3FFF0085L) /* 3FFF0085,  1073676421 */
  307. #define VI_WARN_NSUP_BUF                      (0x3FFF0088L) /* 3FFF0088,  1073676424 */
  308. #define VI_ERROR_SYSTEM_ERROR       (_VI_ERROR+0x3FFF0000L) /* BFFF0000, -1073807360 */
  309. #define VI_ERROR_INV_OBJECT         (_VI_ERROR+0x3FFF000EL) /* BFFF000E, -1073807346 */
  310. #define VI_ERROR_RSRC_LOCKED        (_VI_ERROR+0x3FFF000FL) /* BFFF000F, -1073807345 */
  311. #define VI_ERROR_INV_EXPR           (_VI_ERROR+0x3FFF0010L) /* BFFF0010, -1073807344 */
  312. #define VI_ERROR_RSRC_NFOUND        (_VI_ERROR+0x3FFF0011L) /* BFFF0011, -1073807343 */
  313. #define VI_ERROR_INV_RSRC_NAME      (_VI_ERROR+0x3FFF0012L) /* BFFF0012, -1073807342 */
  314. #define VI_ERROR_INV_ACC_MODE       (_VI_ERROR+0x3FFF0013L) /* BFFF0013, -1073807341 */
  315. #define VI_ERROR_TMO                (_VI_ERROR+0x3FFF0015L) /* BFFF0015, -1073807339 */
  316. #define VI_ERROR_CLOSING_FAILED     (_VI_ERROR+0x3FFF0016L) /* BFFF0016, -1073807338 */
  317. #define VI_ERROR_INV_DEGREE         (_VI_ERROR+0x3FFF001BL) /* BFFF001B, -1073807333 */
  318. #define VI_ERROR_INV_JOB_ID         (_VI_ERROR+0x3FFF001CL) /* BFFF001C, -1073807332 */
  319. #define VI_ERROR_NSUP_ATTR          (_VI_ERROR+0x3FFF001DL) /* BFFF001D, -1073807331 */
  320. #define VI_ERROR_NSUP_ATTR_STATE    (_VI_ERROR+0x3FFF001EL) /* BFFF001E, -1073807330 */
  321. #define VI_ERROR_ATTR_READONLY      (_VI_ERROR+0x3FFF001FL) /* BFFF001F, -1073807329 */
  322. #define VI_ERROR_INV_LOCK_TYPE      (_VI_ERROR+0x3FFF0020L) /* BFFF0020, -1073807328 */
  323. #define VI_ERROR_INV_ACCESS_KEY     (_VI_ERROR+0x3FFF0021L) /* BFFF0021, -1073807327 */
  324. #define VI_ERROR_INV_EVENT          (_VI_ERROR+0x3FFF0026L) /* BFFF0026, -1073807322 */
  325. #define VI_ERROR_INV_MECH           (_VI_ERROR+0x3FFF0027L) /* BFFF0027, -1073807321 */
  326. #define VI_ERROR_HNDLR_NINSTALLED   (_VI_ERROR+0x3FFF0028L) /* BFFF0028, -1073807320 */
  327. #define VI_ERROR_INV_HNDLR_REF      (_VI_ERROR+0x3FFF0029L) /* BFFF0029, -1073807319 */
  328. #define VI_ERROR_INV_CONTEXT        (_VI_ERROR+0x3FFF002AL) /* BFFF002A, -1073807318 */
  329. #define VI_ERROR_NENABLED           (_VI_ERROR+0x3FFF002FL) /* BFFF002F, -1073807313 */
  330. #define VI_ERROR_ABORT              (_VI_ERROR+0x3FFF0030L) /* BFFF0030, -1073807312 */
  331. #define VI_ERROR_RAW_WR_PROT_VIOL   (_VI_ERROR+0x3FFF0034L) /* BFFF0034, -1073807308 */
  332. #define VI_ERROR_RAW_RD_PROT_VIOL   (_VI_ERROR+0x3FFF0035L) /* BFFF0035, -1073807307 */
  333. #define VI_ERROR_OUTP_PROT_VIOL     (_VI_ERROR+0x3FFF0036L) /* BFFF0036, -1073807306 */
  334. #define VI_ERROR_INP_PROT_VIOL      (_VI_ERROR+0x3FFF0037L) /* BFFF0037, -1073807305 */
  335. #define VI_ERROR_BERR               (_VI_ERROR+0x3FFF0038L) /* BFFF0038, -1073807304 */
  336. #define VI_ERROR_INV_SETUP          (_VI_ERROR+0x3FFF003AL) /* BFFF003A, -1073807302 */
  337. #define VI_ERROR_QUEUE_ERROR        (_VI_ERROR+0x3FFF003BL) /* BFFF003B, -1073807301 */
  338. #define VI_ERROR_ALLOC              (_VI_ERROR+0x3FFF003CL) /* BFFF003C, -1073807300 */
  339. #define VI_ERROR_INV_MASK           (_VI_ERROR+0x3FFF003DL) /* BFFF003D, -1073807299 */
  340. #define VI_ERROR_IO                 (_VI_ERROR+0x3FFF003EL) /* BFFF003E, -1073807298 */
  341. #define VI_ERROR_INV_FMT            (_VI_ERROR+0x3FFF003FL) /* BFFF003F, -1073807297 */
  342. #define VI_ERROR_NSUP_FMT           (_VI_ERROR+0x3FFF0041L) /* BFFF0041, -1073807295 */
  343. #define VI_ERROR_LINE_IN_USE        (_VI_ERROR+0x3FFF0042L) /* BFFF0042, -1073807294 */
  344. #define VI_ERROR_NSUP_MODE          (_VI_ERROR+0x3FFF0046L) /* BFFF0046, -1073807290 */
  345. #define VI_ERROR_SRQ_NOCCURRED      (_VI_ERROR+0x3FFF004AL) /* BFFF004A, -1073807286 */
  346. #define VI_ERROR_INV_SPACE          (_VI_ERROR+0x3FFF004EL) /* BFFF004E, -1073807282 */
  347. #define VI_ERROR_INV_OFFSET         (_VI_ERROR+0x3FFF0051L) /* BFFF0051, -1073807279 */
  348. #define VI_ERROR_INV_WIDTH          (_VI_ERROR+0x3FFF0052L) /* BFFF0052, -1073807278 */
  349. #define VI_ERROR_NSUP_OFFSET        (_VI_ERROR+0x3FFF0054L) /* BFFF0054, -1073807276 */
  350. #define VI_ERROR_NSUP_VAR_WIDTH     (_VI_ERROR+0x3FFF0055L) /* BFFF0055, -1073807275 */
  351. #define VI_ERROR_WINDOW_NMAPPED     (_VI_ERROR+0x3FFF0057L) /* BFFF0057, -1073807273 */
  352. #define VI_ERROR_RESP_PENDING       (_VI_ERROR+0x3FFF0059L) /* BFFF0059, -1073807271 */
  353. #define VI_ERROR_NLISTENERS         (_VI_ERROR+0x3FFF005FL) /* BFFF005F, -1073807265 */
  354. #define VI_ERROR_NCIC               (_VI_ERROR+0x3FFF0060L) /* BFFF0060, -1073807264 */
  355. #define VI_ERROR_NSYS_CNTLR         (_VI_ERROR+0x3FFF0061L) /* BFFF0061, -1073807263 */
  356. #define VI_ERROR_NSUP_OPER          (_VI_ERROR+0x3FFF0067L) /* BFFF0067, -1073807257 */
  357. #define VI_ERROR_INTR_PENDING       (_VI_ERROR+0x3FFF0068L) /* BFFF0068, -1073807256 */
  358. #define VI_ERROR_ASRL_PARITY        (_VI_ERROR+0x3FFF006AL) /* BFFF006A, -1073807254 */
  359. #define VI_ERROR_ASRL_FRAMING       (_VI_ERROR+0x3FFF006BL) /* BFFF006B, -1073807253 */
  360. #define VI_ERROR_ASRL_OVERRUN       (_VI_ERROR+0x3FFF006CL) /* BFFF006C, -1073807252 */
  361. #define VI_ERROR_TRIG_NMAPPED       (_VI_ERROR+0x3FFF006EL) /* BFFF006E, -1073807250 */
  362. #define VI_ERROR_NSUP_ALIGN_OFFSET  (_VI_ERROR+0x3FFF0070L) /* BFFF0070, -1073807248 */
  363. #define VI_ERROR_USER_BUF           (_VI_ERROR+0x3FFF0071L) /* BFFF0071, -1073807247 */
  364. #define VI_ERROR_RSRC_BUSY          (_VI_ERROR+0x3FFF0072L) /* BFFF0072, -1073807246 */
  365. #define VI_ERROR_NSUP_WIDTH         (_VI_ERROR+0x3FFF0076L) /* BFFF0076, -1073807242 */
  366. #define VI_ERROR_INV_PARAMETER      (_VI_ERROR+0x3FFF0078L) /* BFFF0078, -1073807240 */
  367. #define VI_ERROR_INV_PROT           (_VI_ERROR+0x3FFF0079L) /* BFFF0079, -1073807239 */
  368. #define VI_ERROR_INV_SIZE           (_VI_ERROR+0x3FFF007BL) /* BFFF007B, -1073807237 */
  369. #define VI_ERROR_WINDOW_MAPPED      (_VI_ERROR+0x3FFF0080L) /* BFFF0080, -1073807232 */
  370. #define VI_ERROR_NIMPL_OPER         (_VI_ERROR+0x3FFF0081L) /* BFFF0081, -1073807231 */
  371. #define VI_ERROR_INV_LENGTH         (_VI_ERROR+0x3FFF0083L) /* BFFF0083, -1073807229 */
  372. #define VI_ERROR_INV_MODE           (_VI_ERROR+0x3FFF0091L) /* BFFF0091, -1073807215 */
  373. #define VI_ERROR_SESN_NLOCKED       (_VI_ERROR+0x3FFF009CL) /* BFFF009C, -1073807204 */
  374. #define VI_ERROR_MEM_NSHARED        (_VI_ERROR+0x3FFF009DL) /* BFFF009D, -1073807203 */
  375. #define VI_ERROR_LIBRARY_NFOUND     (_VI_ERROR+0x3FFF009EL) /* BFFF009E, -1073807202 */
  376. #define VI_ERROR_NSUP_INTR          (_VI_ERROR+0x3FFF009FL) /* BFFF009F, -1073807201 */
  377. #define VI_ERROR_INV_LINE           (_VI_ERROR+0x3FFF00A0L) /* BFFF00A0, -1073807200 */
  378. #define VI_ERROR_FILE_ACCESS        (_VI_ERROR+0x3FFF00A1L) /* BFFF00A1, -1073807199 */
  379. #define VI_ERROR_FILE_IO            (_VI_ERROR+0x3FFF00A2L) /* BFFF00A2, -1073807198 */
  380. #define VI_ERROR_NSUP_LINE          (_VI_ERROR+0x3FFF00A3L) /* BFFF00A3, -1073807197 */
  381. #define VI_ERROR_NSUP_MECH          (_VI_ERROR+0x3FFF00A4L) /* BFFF00A4, -1073807196 */
  382. #define VI_ERROR_INTF_NUM_NCONFIG   (_VI_ERROR+0x3FFF00A5L) /* BFFF00A5, -1073807195 */
  383. #define VI_ERROR_CONN_LOST          (_VI_ERROR+0x3FFF00A6L) /* BFFF00A6, -1073807194 */
  384.  
  385. /*- Other VISA Definitions --------------------------------------------------*/
  386. #define VI_VERSION_MAJOR(ver)       ((((ViVersion)ver) & 0xFFF00000UL) >> 20)
  387. #define VI_VERSION_MINOR(ver)       ((((ViVersion)ver) & 0x000FFF00UL) >>  8)
  388. #define VI_VERSION_SUBMINOR(ver)    ((((ViVersion)ver) & 0x000000FFUL)      )
  389. #define VI_FIND_BUFLEN              (256)
  390. #define VI_INTF_GPIB                (1)
  391. #define VI_INTF_VXI                 (2)
  392. #define VI_INTF_GPIB_VXI            (3)
  393. #define VI_INTF_ASRL                (4)
  394. #define VI_INTF_TCPIP               (6)
  395. #define VI_NORMAL                   (1)
  396. #define VI_FDC                      (2)
  397. #define VI_HS488                    (3)
  398. #define VI_PROT_4882_STRS           (4)
  399. #define VI_FDC_NORMAL               (1)
  400. #define VI_FDC_STREAM               (2)
  401. #define VI_LOCAL_SPACE              (0)
  402. #define VI_A16_SPACE                (1)
  403. #define VI_A24_SPACE                (2)
  404. #define VI_A32_SPACE                (3)
  405. #define VI_UNKNOWN_LA               (-1)
  406. #define VI_UNKNOWN_SLOT             (-1)
  407. #define VI_UNKNOWN_LEVEL            (-1)
  408. #define VI_QUEUE                    (1)
  409. #define VI_HNDLR                    (2)
  410. #define VI_SUSPEND_HNDLR            (4)
  411. #define VI_ALL_MECH                 (0xFFFF)
  412. #define VI_ANY_HNDLR                (0)
  413. #define VI_TRIG_ALL                 (-2)
  414. #define VI_TRIG_SW                  (-1)
  415. #define VI_TRIG_TTL0                (0)
  416. #define VI_TRIG_TTL1                (1)
  417. #define VI_TRIG_TTL2                (2)
  418. #define VI_TRIG_TTL3                (3)
  419. #define VI_TRIG_TTL4                (4)
  420. #define VI_TRIG_TTL5                (5)
  421. #define VI_TRIG_TTL6                (6)
  422. #define VI_TRIG_TTL7                (7)
  423. #define VI_TRIG_ECL0                (8)
  424. #define VI_TRIG_ECL1                (9)
  425. #define VI_TRIG_PANEL_IN           (27)
  426. #define VI_TRIG_PANEL_OUT          (28)
  427. #define VI_TRIG_PROT_DEFAULT        (0)
  428. #define VI_TRIG_PROT_ON             (1)
  429. #define VI_TRIG_PROT_OFF            (2)
  430. #define VI_TRIG_PROT_SYNC           (5)
  431. #define VI_READ_BUF                 (1)
  432. #define VI_WRITE_BUF                (2)
  433. #define VI_READ_BUF_DISCARD         (4)
  434. #define VI_WRITE_BUF_DISCARD        (8)
  435. #define VI_IO_IN_BUF               (16)
  436. #define VI_IO_OUT_BUF              (32)
  437. #define VI_IO_IN_BUF_DISCARD       (64)
  438. #define VI_IO_OUT_BUF_DISCARD     (128)
  439. #define VI_FLUSH_ON_ACCESS          (1)
  440. #define VI_FLUSH_WHEN_FULL          (2)
  441. #define VI_FLUSH_DISABLE            (3)
  442. #define VI_NMAPPED                  (1)
  443. #define VI_USE_OPERS                (2)
  444. #define VI_DEREF_ADDR               (3)
  445. #define VI_TMO_IMMEDIATE            (0L)
  446. #define VI_TMO_INFINITE             (0xFFFFFFFFUL)
  447. #define VI_NO_LOCK                  (0)
  448. #define VI_EXCLUSIVE_LOCK           (1)
  449. #define VI_SHARED_LOCK              (2)
  450. #define VI_LOAD_CONFIG              (4)
  451. #define VI_NO_SEC_ADDR              (0xFFFF)
  452. #define VI_ASRL_PAR_NONE            (0)
  453. #define VI_ASRL_PAR_ODD             (1)
  454. #define VI_ASRL_PAR_EVEN            (2)
  455. #define VI_ASRL_PAR_MARK            (3)
  456. #define VI_ASRL_PAR_SPACE           (4)
  457. #define VI_ASRL_STOP_ONE            (10)
  458. #define VI_ASRL_STOP_ONE5           (15)
  459. #define VI_ASRL_STOP_TWO            (20)
  460. #define VI_ASRL_FLOW_NONE           (0)
  461. #define VI_ASRL_FLOW_XON_XOFF       (1)
  462. #define VI_ASRL_FLOW_RTS_CTS        (2)
  463. #define VI_ASRL_FLOW_DTR_DSR        (4)
  464. #define VI_ASRL_END_NONE            (0)
  465. #define VI_ASRL_END_LAST_BIT        (1)
  466. #define VI_ASRL_END_TERMCHAR        (2)
  467. #define VI_ASRL_END_BREAK           (3)
  468. #define VI_STATE_ASSERTED           (1)
  469. #define VI_STATE_UNASSERTED         (0)
  470. #define VI_STATE_UNKNOWN            (-1)
  471. #define VI_BIG_ENDIAN               (0)
  472. #define VI_LITTLE_ENDIAN            (1)
  473. #define VI_DATA_PRIV                (0)
  474. #define VI_DATA_NPRIV               (1)
  475. #define VI_PROG_PRIV                (2)
  476. #define VI_PROG_NPRIV               (3)
  477. #define VI_BLCK_PRIV                (4)
  478. #define VI_BLCK_NPRIV               (5)
  479. #define VI_D64_PRIV                 (6)
  480. #define VI_D64_NPRIV                (7)
  481. #define VI_WIDTH_8                  (1)
  482. #define VI_WIDTH_16                 (2)
  483. #define VI_WIDTH_32                 (4)
  484. #define VI_GPIB_REN_DEASSERT        (0)
  485. #define VI_GPIB_REN_ASSERT          (1)
  486. #define VI_GPIB_REN_DEASSERT_GTL    (2)
  487. #define VI_GPIB_REN_ASSERT_ADDRESS  (3)
  488. #define VI_GPIB_REN_ASSERT_LLO      (4)
  489. #define VI_GPIB_REN_ASSERT_ADDRESS_LLO (5)
  490. #define VI_GPIB_REN_ADDRESS_GTL     (6)
  491. #define VI_GPIB_ATN_DEASSERT           (0)
  492. #define VI_GPIB_ATN_ASSERT             (1)
  493. #define VI_GPIB_ATN_DEASSERT_HANDSHAKE (2)
  494. #define VI_GPIB_ATN_ASSERT_IMMEDIATE   (3)
  495. #define VI_GPIB_HS488_DISABLED      (0)
  496. #define VI_GPIB_HS488_NIMPL        (-1)
  497. #define VI_GPIB_UNADDRESSED         (0)
  498. #define VI_GPIB_TALKER              (1)
  499. #define VI_GPIB_LISTENER            (2)
  500. #define VI_VXI_CMD16                (0x0200)
  501. #define VI_VXI_CMD16_RESP16         (0x0202)
  502. #define VI_VXI_RESP16               (0x0002)
  503. #define VI_VXI_CMD32                (0x0400)
  504. #define VI_VXI_CMD32_RESP16         (0x0402)
  505. #define VI_VXI_CMD32_RESP32         (0x0404)
  506. #define VI_VXI_RESP32               (0x0004)
  507. #define VI_ASSERT_SIGNAL        (-1)
  508. #define VI_ASSERT_USE_ASSIGNED   (0)
  509. #define VI_ASSERT_IRQ1           (1)
  510. #define VI_ASSERT_IRQ2           (2)
  511. #define VI_ASSERT_IRQ3           (3)
  512. #define VI_ASSERT_IRQ4           (4)
  513. #define VI_ASSERT_IRQ5           (5)
  514. #define VI_ASSERT_IRQ6           (6)
  515. #define VI_ASSERT_IRQ7           (7)
  516. #define VI_UTIL_ASSERT_SYSRESET  (1)
  517. #define VI_UTIL_ASSERT_SYSFAIL   (2)
  518. #define VI_UTIL_DEASSERT_SYSFAIL (3)
  519. #define VI_VXI_CLASS_MEMORY      (0)
  520. #define VI_VXI_CLASS_EXTENDED    (1)
  521. #define VI_VXI_CLASS_MESSAGE     (2)
  522. #define VI_VXI_CLASS_REGISTER    (3)
  523. #define VI_VXI_CLASS_OTHER       (4)
  524. /*- Backward Compatibility Macros --------------------------------------------*/
  525. #define viGetDefaultRM(vi)      viOpenDefaultRM(vi)
  526. #define VI_ERROR_INV_SESSION    (VI_ERROR_INV_OBJECT)
  527. #define VI_INFINITE             (VI_TMO_INFINITE)
  528. #define VI_ASRL488              (VI_PROT_4882_STRS)
  529. #define VI_ASRL_IN_BUF          (VI_IO_IN_BUF)
  530. #define VI_ASRL_OUT_BUF         (VI_IO_OUT_BUF)
  531. #define VI_ASRL_IN_BUF_DISCARD  (VI_IO_IN_BUF_DISCARD)
  532. #define VI_ASRL_OUT_BUF_DISCARD (VI_IO_OUT_BUF_DISCARD)
  533. /*- Start of AGVISA Extensions Section ---------------------------------------*/
  534. #if defined (AGVISA_ATTRIBUTES)
  535. #pragma message ( "Note: AGVISA_ATTRIBUTES have been enabled" )
  536. /*
  537.   AGVISA specific attributes definitions.
  538. */
  539. /*
  540.    The following attributes can be used to control the exporting of Agilent VISA
  541.    resources to other VISAs.
  542.    VI_AGATTR_FIND_ONLY_EXPORTED_RSRCS is a resource manager resource that
  543.    defaults to VI_FALSE.  Setting it to true will cause viFindRsrc and
  544.    viParseRsrc to only report resources which have the
  545.    VI_AGATTR_EXPORT_MAPPING_ENABLED set to VI_TRUE.
  546. */
  547. #define VI_AGATTR_EXPORT_ENABLED           (0x0FFF0020L) /* ViBoolean (R/W resource attribute) */
  548. #define VI_AGATTR_FIND_ONLY_EXPORTED_RSRCS (0x0FFF0021L) /* ViBoolean (R/W rsrcmgr attribute)  */
  549. /*
  550.   The following attribute allows setting and getting the T1 delay on a GPIB INTFC session.
  551.   The value is the time of t1 delay in nanoseconds, and should be:
  552.      - no less than VI_AG_GPIB_T1DELAY_MIN or
  553.      - no greater than VI_AG_GPIB_T1DELAY_MAX.
  554.   Most GPIB interfaces only support a small number of t1 delays, so the actual value used
  555.   by the interface could be different than that specified. You can find out the actual value
  556.   used by calling viGetAttribute().
  557. */
  558. #define VI_AGATTR_GPIB_T1_DELAY  (0x0FFF0028L) /* ViInt32 (R/W GPIB INTFC resource attribute) */
  559. #define VI_AG_GPIB_T1DELAY_MIN   350
  560. #define VI_AG_GPIB_T1DELAY_MAX  2400
  561. /*
  562.    The VI_AGATTR_LOCKWAIT attribute modifies the behavior of exclusive locks.  
  563.    When a lock-abiding VISA call is made on a session to an exclusively locked resource:
  564.       - If VI_AGATTR_LOCKWAIT  is VI_FALSE, the call will immediately return
  565.         with VI_ERROR_RSRC_LOCKED. 
  566.       - If VI_AGATTR_LOCKWAIT  is VI_TRUE, the call will wait the session timeout
  567.         interval for the lock to be released and then return VI_ERROR_TMO rather
  568.         than VI_ERROR_RSRC_LOCKED. 
  569.    The default value for VI_AGATTR_LOCKWAIT is normally VI_FALSE, but this default
  570.    can be changed from the IO Control (the Agilent VISA Options | Default VISA LockWait menu)
  571.    or from IO Config (the Options | Default VISA LockWait menu). 
  572. */
  573. #define VI_AGATTR_LOCKWAIT       (0x0FFF002BL) /* ViBoolean (R/W local attribute) */
  574. #endif /* AGVISA specific attributes */
  575. #if defined (AGVISA_EXTENSIONS)
  576. #pragma message ( "Note: AGVISA_EXTENSIONS have been enabled" )
  577. #define VI_AGATTR_REMOTE_INTF_TYPE   (0x0FFF001CL) /* ViUInt16 (Remote Interface type for TCPIP::INSTR interface) */
  578. #define VI_AGATTR_INTERFACE_PROTOCOL (0x0FFF001FL) /* ViUInt32 (Vxi11 protocol = 2, Sicllan protocol = 3)         */
  579. #define VI_AGPROT_VXI11            (2)
  580. #define VI_AGPROT_SICLLAN          (3)
  581. #define VI_AGPROT_UNKNOWN          (0xffffffff)
  582. #endif /* AGVISA Extensions */
  583. #if defined (AGVISA_NONINTEROP_EXTENSIONS)
  584. #pragma message ( "Note: AGVISA_NONINTEROP_EXTENSIONS have been enabled" )
  585. #define VI_WIDTH_64                 (8)
  586. typedef struct {
  587.    ViUInt16     command;
  588.    ViAddr       address;
  589.    ViUInt32     parm1;
  590.    ViUInt32     parm2;
  591. } ViAGMacroElem, *PViAGMacroElem;
  592. #define VI_AGMACRO_DELAY          (0x0001)
  593. #define VI_AGMACRO_POLLSTAT16     (0x0010)
  594. #define VI_AGMACRO_POKE8          (0x0020)
  595. #define VI_AGMACRO_POKE16         (0x0021)
  596. #define VI_AGMACRO_POKE32         (0x0022)
  597. #define VI_AGMACRO_READMODWRITE16 (0x0030)
  598. #define VI_AGMACRO_PEEK8          (0x0040)
  599. #define VI_AGMACRO_PEEK16         (0x0041)
  600. #define VI_AGMACRO_PEEK32         (0x0042)
  601. #define VI_AGMACRO_SESSION        (0xfffe)
  602. #define VI_AGMACRO_END            (0xffff)
  603. #define VI_AGATTR_MACRO_SUPP    (0x0fff0016L)
  604. ViStatus _VI_FUNC  viAGMacro(ViSession vi, ViAGMacroElem macroArray[], ViUInt32 size);
  605. #endif /* AGVISA Non-interop Extensions */
  606. /*- End of AGVISA Extensions Section -----------------------------------------*/
  607. #if defined(__cplusplus) || defined(__cplusplus__)
  608.    }
  609. #endif
  610. #endif
  611. /*- The End -----------------------------------------------------------------*/