' Copyright 1992-1994 Hewlett-Packard Company. All Rights Reserved.
'
' This file defines constants, record types, and entry points
' for the HP Standard Instrument Control Library. You need to
' add this file to each Visual BASIC project that uses the
' HP Standard Instrument Control Library.
' Support levels:
Global Const I_SICL_REVISION = 39 ' HP SICL Revision 3.9
Global Const I_SICL_LEVEL = 3 ' Support Level
' Byte Ordering constants
Global Const I_ORDER_LE = True
Global Const I_ORDER_BE = False
' Session types
Global Const I_SESS_INTF = 1
Global Const I_SESS_DEV = 2
Global Const I_SESS_CMDR = 3
' Interface Types
Global Const I_INTF_NONE = 0
Global Const I_INTF_GPIB = 1
Global Const I_INTF_VXI = 2
Global Const I_INTF_RS232 = 3
Global Const I_INTF_GPIO = 4
' 5 is reserved -- don't use
Global Const I_INTF_USRDEF = 6
' 7 is reserved -- don't use
Global Const I_INTF_LAN = 9
' iread termination conditions
Global Const I_TERM_MAXCNT = 1
Global Const I_TERM_CHR = 2
Global Const I_TERM_END = 4
Global Const I_TERM_NON_BLOCKED = 8
' ixtrig which values.
Global Const I_TRIG_STD = &H1&
Global Const I_TRIG_ALL = &HFFFFFFFF
Global Const I_TRIG_TTL0 = &H1000&
Global Const I_TRIG_TTL1 = &H2000&
Global Const I_TRIG_TTL2 = &H4000&
Global Const I_TRIG_TTL3 = &H8000&
Global Const I_TRIG_TTL4 = &H10000
Global Const I_TRIG_TTL5 = &H20000
Global Const I_TRIG_TTL6 = &H40000
Global Const I_TRIG_TTL7 = &H80000
Global Const I_TRIG_ECL0 = &H100000
Global Const I_TRIG_ECL1 = &H200000
Global Const I_TRIG_ECL2 = &H400000
Global Const I_TRIG_ECL3 = &H800000
Global Const I_TRIG_EXT0 = &H1000000
Global Const I_TRIG_EXT1 = &H2000000
Global Const I_TRIG_EXT2 = &H4000000
Global Const I_TRIG_EXT3 = &H8000000
Global Const I_TRIG_CLK0 = &H10000000
Global Const I_TRIG_CLK1 = &H20000000
Global Const I_TRIG_CLK2 = &H40000000
Global Const I_TRIG_CLK10 = &H80000000
Global Const I_TRIG_CLK100 = &H800&
Global Const I_TRIG_SERIAL_DTR = &H400&
Global Const I_TRIG_SERIAL_RTS = &H200&
Global Const I_TRIG_GPIO_CTL0 = &H100&
Global Const I_TRIG_GPIO_CTL1 = &H80&
' ihint values
Global Const I_HINT_DONTCARE = 0
Global Const I_HINT_USEDMA = 1
Global Const I_HINT_USEPOLL = 2
Global Const I_HINT_USEINTR = 3
Global Const I_HINT_SYSTEM = 4
Global Const I_HINT_IO = 5
' isetintr values. 1-15 are interface independant.
Global Const I_INTR_OFF = 0
Global Const I_INTR_INTFACT = 1
Global Const I_INTR_INTFDEACT = 2
Global Const I_INTR_TRIG = 3
Global Const I_INTR_STB = 4
Global Const I_INTR_DEVCLR = 5
' VXI Interrupts
Global Const I_INTR_VXI_SIGNAL = 16
Global Const I_INTR_VXI_SYSRESET = 17
Global Const I_INTR_VXI_VME = 18
Global Const I_INTR_VXI_LLOCK = 19
Global Const I_INTR_VXI_UKNSIG = 20
' GP-IB Interrupts
Global Const I_INTR_GPIB_IFC = 16
Global Const I_INTR_GPIB_PPOLLCONFIG = 17
Global Const I_INTR_GPIB_REMLOC = 18
Global Const I_INTR_GPIB_GET = 20
Global Const I_INTR_GPIB_TLAC = 21
' RS-232 Interrupts
Global Const I_INTR_SERIAL_DAV = 16
Global Const I_INTR_SERIAL_MSL = 17
Global Const I_INTR_SERIAL_BREAK = 18
Global Const I_INTR_SERIAL_ERROR = 19
Global Const I_INTR_SERIAL_TEMT = 20
Global Const I_INTR_SERIAL_MCL = 21
' GPIO Interrupts
Global Const I_INTR_GPIO_EIR = 16
Global Const I_INTR_GPIO_RDY = 17
' 32 maximum isetintr values
Global Const I_INTR_MAX = 32
' ivxibusstatus values
Global Const I_VXI_BUS_TRIGGER = 0
Global Const I_VXI_BUS_LADDR = 1
Global Const I_VXI_BUS_SERVANT_AREA = 2
Global Const I_VXI_BUS_NORMOP = 3
Global Const I_VXI_BUS_CMDR_LADDR = 4
Global Const I_VXI_BUS_MAN_ID = 5
Global Const I_VXI_BUS_MODEL_ID = 6
Global Const I_VXI_BUS_PROTOCOL = 7
Global Const I_VXI_BUS_XPROT = 8
Global Const I_VXI_BUS_SHM_SIZE = 9
Global Const I_VXI_BUS_SHM_ADDR_SPACE = 10
Global Const I_VXI_SHM_PAGE = 11
Global Const I_VXI_BUS_VXIMXI = 12
Global Const I_VXI_BUS_TRIGSUPP = 13
' igpibbusstatus values
Global Const I_GPIB_BUS_REM = 1
Global Const I_GPIB_BUS_SRQ = 2
Global Const I_GPIB_BUS_NDAC = 3
Global Const I_GPIB_BUS_SYSCTLR = 4
Global Const I_GPIB_BUS_ACTCTLR = 5
Global Const I_GPIB_BUS_TALKER = 6
Global Const I_GPIB_BUS_LISTENER = 7
Global Const I_GPIB_BUS_ADDR = 8
Global Const I_GPIB_BUS_LINES = 9
' max and min GPIB t1 delay values for igpibsett1delay
Global Const I_GPIB_T1DELAY_MIN = 350
Global Const I_GPIB_T1DELAY_MAX = 2400
' igpioctrl and igpiostat values
Global Const I_GPIO_AUX = 1
Global Const I_GPIO_CTRL = 2
Global Const I_GPIO_DATA = 3
Global Const I_GPIO_INFO = 4
Global Const I_GPIO_SET_PCTL = 5
Global Const I_GPIO_STAT = 6
Global Const I_GPIO_READ_EOI = 7
Global Const I_GPIO_TEST_ONLY = 8
' note that the request values above are all less than I_GPIO_CHK_PSTS
Global Const I_GPIO_CTL0 = &H1
Global Const I_GPIO_CTL1 = &H2
Global Const I_GPIO_STI0 = &H1
Global Const I_GPIO_STI1 = &H2
Global Const I_GPIO_EIR = &H4
Global Const I_GPIO_PSTS = &H8
Global Const I_GPIO_CHK_PSTS = &H10
Global Const I_GPIO_AUTO_HDSK = &H20
Global Const I_GPIO_ENH_MODE = &H40
Global Const I_GPIO_READY = &H80
Global Const I_GPIO_EIO_NONE = &H10000
' RS-232 values
Global Const I_SERIAL_BAUD = 1
Global Const I_SERIAL_PARITY = 2
Global Const I_SERIAL_STOP = 3
Global Const I_SERIAL_WIDTH = 4
Global Const I_SERIAL_FLOW_CTRL = 5
Global Const I_SERIAL_MSL = 6
Global Const I_SERIAL_STAT = 7
Global Const I_SERIAL_RESET = 9
Global Const I_SERIAL_READ_EOI = 10
Global Const I_SERIAL_WRITE_EOI = 11
Global Const I_SERIAL_DUPLEX = 12
Global Const I_SERIAL_READ_BUFSZ = 13
Global Const I_SERIAL_READ_DAV = 14
' RS-232 duplex modes
Global Const I_SERIAL_DUPLEX_HALF = 1
Global Const I_SERIAL_DUPLEX_FULL = 2
' RS-232 UART status
Global Const I_SERIAL_DAV = &H1
Global Const I_SERIAL_OVERFLOW = &H2
Global Const I_SERIAL_PARERR = &H4
Global Const I_SERIAL_FRAMING = &H8
Global Const I_SERIAL_BREAK = &H10
Global Const I_SERIAL_TEMT = &H20
' RS-232 flow control
Global Const I_SERIAL_FLOW_NONE = 0
Global Const I_SERIAL_FLOW_XON = 1
Global Const I_SERIAL_FLOW_RTS_CTS = 2
Global Const I_SERIAL_FLOW_DTR_DSR = 3
' RS-232 modem status lines
Global Const I_SERIAL_DCD = &H1
Global Const I_SERIAL_DSR = &H2
Global Const I_SERIAL_CTS = &H4
Global Const I_SERIAL_RI = &H8
Global Const I_SERIAL_D_DCD = &H10
Global Const I_SERIAL_D_DSR = &H20
Global Const I_SERIAL_D_CTS = &H40
Global Const I_SERIAL_D_TERI = &H80
' RS-232 modem control lines
Global Const I_SERIAL_RTS = &H1000
Global Const I_SERIAL_DTR = &H2000
' RS-232 parity values
Global Const I_SERIAL_PAR_NONE = 0
Global Const I_SERIAL_PAR_EVEN = 1
Global Const I_SERIAL_PAR_ODD = 2
Global Const I_SERIAL_PAR_MARK = 3
Global Const I_SERIAL_PAR_SPACE = 4
Global Const I_SERIAL_PAR_IGNORE = 5
' RS-232 stop-bit values
Global Const I_SERIAL_STOP_1 = 1
Global Const I_SERIAL_STOP_2 = 2
' RS-232 character width
Global Const I_SERIAL_CHAR_5 = 5
Global Const I_SERIAL_CHAR_6 = 6
Global Const I_SERIAL_CHAR_7 = 7
Global Const I_SERIAL_CHAR_8 = 8
' EOI support (used with the I_SERIAL_*_EOI command)
Global Const I_SERIAL_EOI_CHR = &H100
Global Const I_SERIAL_EOI_NONE = &H200
Global Const I_SERIAL_EOI_BIT8 = &H400
' imap mapspace values
Global Const I_MAP_A16 = &H0
Global Const I_MAP_A24 = &H1
Global Const I_MAP_A32 = &H2
Global Const I_MAP_VXIDEV = &H3
Global Const I_MAP_EXTEND = &H4
Global Const I_MAP_INTFREG = &H5
Global Const I_MAP_SHARED = &H6
' Error Codes
' NOTE that User Error Codes 32501-32630 are reserved
' for HP SICL.
Const SICL_ERR_BASE = 32501
Global Const I_ERR_NOERROR = 0
Global Const I_ERR_SYNTAX = SICL_ERR_BASE
Global Const I_ERR_SYMNAME = 1 + SICL_ERR_BASE
Global Const I_ERR_BADADDR = 2 + SICL_ERR_BASE
Global Const I_ERR_BADID = 3 + SICL_ERR_BASE
Global Const I_ERR_PARAM = 4 + SICL_ERR_BASE
Global Const I_ERR_NOCONN = 5 + SICL_ERR_BASE
Global Const I_ERR_NOPERM = 6 + SICL_ERR_BASE
Global Const I_ERR_NOTSUPP = 7 + SICL_ERR_BASE
Global Const I_ERR_NORSRC = 8 + SICL_ERR_BASE
Global Const I_ERR_NOINTF = 9 + SICL_ERR_BASE
Global Const I_ERR_LOCKED = 10 + SICL_ERR_BASE
Global Const I_ERR_NOLOCK = 11 + SICL_ERR_BASE
Global Const I_ERR_BADFMT = 12 + SICL_ERR_BASE
Global Const I_ERR_DATA = 13 + SICL_ERR_BASE
Global Const I_ERR_TIMEOUT = 14 + SICL_ERR_BASE
Global Const I_ERR_OVERFLOW = 15 + SICL_ERR_BASE
Global Const I_ERR_IO = 16 + SICL_ERR_BASE
Global Const I_ERR_OS = 17 + SICL_ERR_BASE
Global Const I_ERR_BADMAP = 18 + SICL_ERR_BASE
Global Const I_ERR_NODEV = 19 + SICL_ERR_BASE
Global Const I_ERR_INVLADDR = 20 + SICL_ERR_BASE
Global Const I_ERR_NOTIMPL = 21 + SICL_ERR_BASE
Global Const I_ERR_ABORTED = 22 + SICL_ERR_BASE
Global Const I_ERR_BADCONFIG = 23 + SICL_ERR_BASE
Global Const I_ERR_NOCMDR = 24 + SICL_ERR_BASE
Global Const I_ERR_VERSION = 25 + SICL_ERR_BASE
Global Const I_ERR_NESTEDIO = 26 + SICL_ERR_BASE
Global Const I_ERR_BUSY = 27 + SICL_ERR_BASE
Global Const I_ERR_INTERNAL = 127 + SICL_ERR_BASE
Global Const I_ERR_INTERRUPT = 128 + SICL_ERR_BASE
Global Const I_ERR_UNKNOWNERR = 129 + SICL_ERR_BASE
Global Const SICL_ERR_LAST = I_ERR_UNKNOWNERR
' Default buffer sizes for formatted I/O
Global Const I_READ_BUF_SZ = 4096
Global Const I_WRITE_BUF_SZ = 128
' iflush mask values
Global Const I_BUF_READ = &H1
Global Const I_BUF_WRITE = &H2
Global Const I_BUF_DISCARD_READ = &H4
Global Const I_BUF_DISCARD_WRITE = &H8
Global Const I_BUF_WRITE_END = &H10
' Define Word Serial commands for ivxiws
Global Const WS_BNO_TOP_LVL = &H100
' Word Serial Commands
Global Const WS_CMD_ANO = &HC8FF
Global Const WS_MASK_ANO = &HFFFF
Global Const WS_CMD_AHL = &HA900
Global Const WS_MASK_AHL = &HFF00
Global Const WS_CMD_AIL = &HAA00
Global Const WS_MASK_AIL = &HFF00
Global Const WS_CMD_AMC = &HA800
Global Const WS_MASK_AMC = &HFF00
Global Const WS_CMD_BNO = &HFCFF
Global Const WS_MASK_BNO = &HFEFF
Global Const WS_CMD_BA = &HBC00
Global Const WS_CMD_BA_END = &HBD00
Global Const WS_MASK_BA = &HFE00
Global Const WS_CMD_BR = &HDEFF
Global Const WS_MASK_BR = &HFFFF
Global Const WS_CMD_CLR = &HFFFF
Global Const WS_MASK_CLR = &HFFFF
Global Const WS_CMD_CL = &HEFFF
Global Const WS_MASK_CL = &HFFFF
Global Const WS_CMD_CE = &HAF00
Global Const WS_MASK_CE = &HFF00
Global Const WS_CMD_ENO = &HC9FF
Global Const WS_MASK_ENO = &HFFFF
Global Const WS_CMD_RPE = &HCDFF
Global Const WS_MASK_RPE = &HFFFF
Global Const WS_CMD_GD = &HBF00
Global Const WS_MASK_GD = &HFF00
Global Const WS_CMD_IC = &HBE00
Global Const WS_MASK_IC = &HFF00
Global Const WS_CMD_RHL = &H8C00
Global Const WS_MASK_RHL = &HFF00
Global Const WS_CMD_RH = &HC7FF
Global Const WS_MASK_RH = &HFFFF
Global Const WS_CMD_RIL = &H8D00
Global Const WS_MASK_RIL = &HFF00
Global Const WS_CMD_RI = &HCAFF
Global Const WS_MASK_RI = &HFFFF
Global Const WS_CMD_RMOD = &HCCFF
Global Const WS_MASK_RMOD = &HFFFF
Global Const WS_CMD_RP = &HDFFF
Global Const WS_MASK_RP = &HFFFF
Global Const WS_CMD_RSTB = &HCFFF
Global Const WS_MASK_RSTB = &HFFFF
Global Const WS_CMD_RSA = &HCEFF
Global Const WS_MASK_RSA = &HFFFF
Global Const WS_CMD_RD = &H8E00
Global Const WS_MASK_RD = &HFF00
Global Const WS_CMD_CR = &H8F00
Global Const WS_MASK_CR = &HFF00
Global Const WS_CMD_SL = &HEEFF
Global Const WS_MASK_SL = &HFFFF
Global Const WS_CMD_SLMOD = &HAE00
Global Const WS_MASK_SLMOD = &HFF00
Global Const WS_CMD_SUMOD = &HAD00
Global Const WS_MASK_SUMOD = &HFF00
Global Const WS_CMD_TRIG = &HEDFF
Global Const WS_MASK_TRIG = &HFFFF
Global Const WS_CMD_USER = &H0
Global Const WS_MASK_USER = &H8000
' Data Types used by SICL
Type lu_info
logical_unit As Long
symname As String * 32
cardname As String * 32
filler1 As Long
intftype As Long
location As Long
busaddr As Long
hwarg(0 To 15) As String * 16
filler2(0 To 11) As Long
End Type
Type vxiinfo
laddr As Integer
name As String * 16
manuf_name As String * 16
model_name As String * 16
man_id As Integer
model As Integer
devclass As Integer
selftest As Integer
cage_num As Integer
slot As Integer
protocol As Integer
x_protocol As Integer
servant_area As Integer
addrspace As Integer
memsize As Integer
memstart As Integer
slot0_laddr As Integer
cmdr_laddr As Integer
int_handler(0 To 7) As Integer
interrupter(0 To 7) As Integer
fill(0 To 9) As Integer
End Type
' vxiinfo structure values
Global Const I_VXI_DEVCLASS_MEMORY = &H0
Global Const I_VXI_DEVCLASS_EXTENDED = &H4000
Global Const I_VXI_DEVCLASS_MSGBASED = &H8000
Global Const I_VXI_DEVCLASS_REGBASED = &HC000
' Version Information
Declare Sub iversion Lib "sicl16.dll" (specversion As Integer, implversion As Integer)
Declare Sub idrvrversion Lib "sicl16.dll" (ByVal id As Integer, specversion As Integer, implversion As Integer)
' Open/Close
Declare Function iopen Lib "sicl16.dll" Alias "vbopen" (ByVal addr As String) As Integer
Declare Sub iclose Lib "sicl16.dll" (ByVal id As Integer)
Declare Function igetintfsess Lib "sicl16.dll" (ByVal id As Integer) As Integer
' Write/Read
Declare Sub iwrite Lib "sicl16.dll" (ByVal id As Integer, buf As Any, ByVal datalen As Long, ByVal endi As Integer, actual As Long)
Declare Sub iread Lib "sicl16.dll" (ByVal id As Integer, buf As Any, ByVal bufsize As Long, reason As Any, actual As Long)
Declare Sub itermchr Lib "sicl16.dll" (ByVal id As Integer, ByVal tchr As Integer)
Declare Sub igettermchr Lib "sicl16.dll" (ByVal id As Integer, tchr As Integer)
' Formatted I/O
Declare Function ivprintf Lib "sicl16.dll" Alias "vbvprintf" (ByVal id As Integer, ByVal fmt As String, ap As Any) As Integer
Declare Function isvprintf Lib "sicl16.dll" Alias "vbsvprintf" (ByVal user_buf As String, ByVal fmt As String, ap As Any) As Integer
Declare Function ivscanf Lib "sicl16.dll" Alias "vbvscanf" (ByVal id As Integer, ByVal fmt As String, ap As Any) As Integer
Declare Function isvscanf Lib "sicl16.dll" Alias "vbsvscanf" (ByVal user_buf As String, ByVal fmt As String, ap As Any) As Integer
Declare Sub ifwrite Lib "sicl16.dll" (ByVal id As Integer, ByVal buf As Any, ByVal datalen As Long, ByVal endi As Integer, actual As Long)
Declare Sub ifread Lib "sicl16.dll" (ByVal id As Integer, ByVal buf As Any, ByVal bufsize As Long, reason As Any, actual As Long)
Declare Sub iflush Lib "sicl16.dll" (ByVal id As Integer, ByVal mask As Integer)
Declare Sub isetbuf Lib "sicl16.dll" (ByVal id As Integer, ByVal mask As Integer, ByVal size As Integer)
' Device/Interface Control
Declare Sub iclear Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub iabort Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub ilocal Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub iremote Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub ireadstb Lib "sicl16.dll" Alias "vbreadstb" (ByVal id As Integer, stb As Integer)
Declare Sub itrigger Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub ixtrig Lib "sicl16.dll" (ByVal id As Integer, ByVal which As Long)
Declare Sub ihint Lib "sicl16.dll" (ByVal id As Integer, ByVal hint As Integer)
' Commander Sessions
Declare Sub isetstb Lib "sicl16.dll" (ByVal id As Integer, ByVal stb As Integer)
' Locking
Declare Sub ilock Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub iunlock Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub isetlockwait Lib "sicl16.dll" (ByVal id As Integer, ByVal flag As Integer)
Declare Sub igetlockwait Lib "sicl16.dll" (ByVal id As Integer, flag As Integer)
' Timeouts
Declare Sub itimeout Lib "sicl16.dll" (ByVal id As Integer, ByVal tval As Long)
Declare Sub igettimeout Lib "sicl16.dll" (ByVal id As Integer, tval As Long)
' Misc routines
Declare Sub igetaddr Lib "sicl16.dll" Alias "vbgetaddr" (ByVal id As Integer, ByVal addr As String)
Declare Sub igetintftype Lib "sicl16.dll" (ByVal id As Integer, pdata As Integer)
Declare Sub igetsesstype Lib "sicl16.dll" (ByVal id As Integer, pdata As Integer)
Declare Sub igetdevaddr Lib "sicl16.dll" (ByVal id As Integer, prim As Integer, sec As Integer)
Declare Sub igetlu Lib "sicl16.dll" (ByVal id As Integer, lu As Integer)
Declare Sub ibeswap Lib "sicl16.dll" (addr As Any, ByVal length As Long, ByVal datasize As Integer)
Declare Sub ileswap Lib "sicl16.dll" (addr As Any, ByVal length As Long, ByVal datasize As Integer)
Declare Sub iswap Lib "sicl16.dll" (addr As Any, ByVal length As Long, ByVal datasize As Integer)
Declare Sub igetlulist Lib "sicl16.dll" Alias "vbgetlulist" (list() As Integer)
Declare Sub igetluinfo Lib "sicl16.dll" Alias "vbgetluinfo" (ByVal lu As Integer, result As lu_info)
Declare Sub igetgatewaytype Lib "sicl16.dll" (ByVal id As Integer, pdata As Integer)
' Error Handling
Declare Function igeterrno Lib "sicl16.dll" Alias "vbgeterrno" () As Integer
Declare Function igeterrstr Lib "sicl16.dll" Alias "vbgeterrstr" (ByVal errcode As Integer) As String
Declare Sub icauseerr Lib "sicl16.dll" Alias "vbcauseerr" (ByVal id As Integer, ByVal errcode As Integer, ByVal flag As Integer)
Declare Sub vbsetsiclerrbase Lib "sicl16.dll" (ByVal errbase As Integer)
' RS-232 specific routines
Declare Sub iserialmclctrl Lib "sicl16.dll" (ByVal id As Integer, ByVal sline As Integer, ByVal state As Integer)
Declare Sub iserialmclstat Lib "sicl16.dll" (ByVal id As Integer, ByVal sline As Integer, state As Integer)
Declare Sub iserialctrl Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, ByVal setting As Long)
Declare Sub iserialstat Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, result As Long)
Declare Sub iserialbreak Lib "sicl16.dll" (ByVal id As Integer)
' VXI Specific routines
Declare Sub ivxibusstatus Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, result As Long)
Declare Sub ivxiwaitnormop Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub ivxitrigon Lib "sicl16.dll" (ByVal id As Integer, ByVal which As Long)
Declare Sub ivxitrigoff Lib "sicl16.dll" (ByVal id As Integer, ByVal which As Long)
Declare Sub ivxitrigroute Lib "sicl16.dll" (ByVal id As Integer, ByVal in_which As Long, ByVal out_which As Long)
Declare Sub ivxigettrigroute Lib "sicl16.dll" (ByVal id As Integer, ByVal which As Long, route As Long)
Declare Sub ivxiws Lib "sicl16.dll" (ByVal id As Integer, ByVal wscmd As Integer, wsresp As Any, rpe As Any)
Declare Sub ivxiservants Lib "sicl16.dll" Alias "vbvxiservants" (ByVal id As Integer, ByVal maxnum As Integer, list() As Integer)
Declare Sub ivxirminfo Lib "sicl16.dll" Alias "vbvxirminfo" (ByVal id As Integer, ByVal laddr As Integer, info As vxiinfo)
' GP-IB Specific routines
Declare Sub igpibbusstatus Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, result As Integer)
Declare Sub igpibppoll Lib "sicl16.dll" (ByVal id As Integer, result As Integer)
Declare Sub igpibppollconfig Lib "sicl16.dll" (ByVal id As Integer, ByVal cval As Integer)
Declare Sub igpibppollresp Lib "sicl16.dll" (ByVal id As Integer, ByVal sval As Integer)
Declare Sub igpibpassctl Lib "sicl16.dll" (ByVal id As Integer, ByVal busaddr As Integer)
Declare Sub igpibrenctl Lib "sicl16.dll" (ByVal id As Integer, ByVal ren As Integer)
Declare Sub igpibatnctl Lib "sicl16.dll" (ByVal id As Integer, ByVal atnval As Integer)
Declare Sub igpibsendcmd Lib "sicl16.dll" (ByVal id As Integer, ByVal buf As String, ByVal length As Integer)
Declare Sub igpibllo Lib "sicl16.dll" (ByVal id As Integer)
Declare Sub igpibbusaddr Lib "sicl16.dll" (ByVal id As Integer, ByVal busaddr As Integer)
Declare Sub igpibgett1delay Lib "sicl16.dll" (ByVal id As Integer, delay As Integer)
Declare Sub igpibsett1delay Lib "sicl16.dll" (ByVal id As Integer, ByVal delay As Integer)
' GPIO Specific routines
Declare Sub igpioctrl Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, ByVal setting As Long)
Declare Sub igpiostat Lib "sicl16.dll" (ByVal id As Integer, ByVal request As Integer, result As Long)
Declare Sub igpiosetwidth Lib "sicl16.dll" (ByVal id As Integer, ByVal dwidth As Integer)
Declare Sub igpiogetwidth Lib "sicl16.dll" (ByVal id As Integer, ByVal dwidth As Integer)
' LAN Specific functions
Declare Sub ilantimeout Lib "sicl16.dll" (ByVal id As Integer, ByVal tval As Long)
Declare Sub ilangettimeout Lib "sicl16.dll" (ByVal id As Integer, tval As Long)
' Map routines
Declare Function imap Lib "sicl16.dll" (ByVal id As Integer, ByVal mapspace As Integer, ByVal pagestart As Integer, ByVal pagecnt As Integer, ByVal suggested As Long) As Long
Declare Sub iunmap Lib "sicl16.dll" (ByVal id As Integer, ByVal addr As Long, ByVal mapspace As Integer, ByVal pagestart As Integer, ByVal pagecnt As Integer)
Declare Sub imapinfo Lib "sicl16.dll" (ByVal id As Integer, ByVal mapspace As Integer, numwindows As Integer, winsize As Integer)
' Block copy and fifo routines
Declare Sub ibblockcopy Lib "sicl16.dll" (ByVal id As Integer, src As Any, dest As Any, ByVal cnt As Long)
Declare Sub iwblockcopy Lib "sicl16.dll" (ByVal id As Integer, src As Any, dest As Any, ByVal cnt As Long, ByVal swap As Integer)
Declare Sub ilblockcopy Lib "sicl16.dll" (ByVal id As Integer, src As Any, dest As Any, ByVal cnt As Long, ByVal swap As Integer)
Declare Sub ibpushfifo Lib "sicl16.dll" (ByVal id As Integer, src As Any, fifo As Any, ByVal cnt As Long)
Declare Sub iwpushfifo Lib "sicl16.dll" (ByVal id As Integer, src As Any, fifo As Any, ByVal cnt As Long, ByVal swap As Integer)
Declare Sub ilpushfifo Lib "sicl16.dll" (ByVal id As Integer, src As Any, fifo As Any, ByVal cnt As Long, ByVal swap As Integer)
Declare Sub ibpopfifo Lib "sicl16.dll" (ByVal id As Integer, fifo As Any, dest As Any, ByVal cnt As Long)
Declare Sub iwpopfifo Lib "sicl16.dll" (ByVal id As Integer, fifo As Any, dest As Any, ByVal cnt As Long, ByVal swap As Integer)
Declare Sub ilpopfifo Lib "sicl16.dll" (ByVal id As Integer, fifo As Any, dest As Any, ByVal cnt As Long, ByVal swap As Integer)
Declare Sub icmd Lib "sicl16.dll" (ByVal id As Integer, ByVal cmd As Long, ByVal datalen As Integer, ByVal datawidth As Integer, pdata As Any)
' Windows 3.1 Cleanup routines
Declare Sub siclcleanup Lib "sicl16.dll" Alias "_siclcleanup" ()
' Windows 3.1 yield control routine
Declare Sub setsiclyield Lib "sicl16.dll" Alias "_setsiclyield" (ByVal yield_option As Integer)
' Peek/Poke routines
Declare Sub ibpoke Lib "sicl16.dll" Alias "vbibpoke" (ByVal addr As Long, ByVal value As Integer)
Declare Sub iwpoke Lib "sicl16.dll" Alias "vbiwpoke" (ByVal addr As Long, ByVal value As Integer)
Declare Sub ilpoke Lib "sicl16.dll" Alias "ilpoke" (ByVal addr As Long, ByVal value As Long)
Declare Function ibpeek Lib "sicl16.dll" Alias "vbibpeek" (ByVal addr As Long) As Integer
Declare Function iwpeek Lib "sicl16.dll" Alias "vbiwpeek" (ByVal addr As Long) As Integer
Declare Function ilpeek Lib "sicl16.dll" Alias "ilpeek" (ByVal addr As Long) As Long
' This function truncates a string so that all characters
' following a carriage return or linefeed character are
' removed. The truncated string is then returned.
Function strip_crlf (szString As String) As String