// VISA specification version 2.2 class definitions for LabVIEW 6.x

class: "VISA object"
flags: 3

 method: "VISA Close" noInvoke

// First come all the I/O classes

class: "I/O Session"
super: "VISA object"
flags: 2
 attribute: "Queue Len"
    "General Settings:Maximum Queue Length"
    uL readwrite local 3FFF0005
    "This attribute specifies the maximum number of events that can be queued at any time on the given session."
 attribute: "Rsrc Lock State"
    "General Settings:Resource Lock State"
    uL enum {Unlocked=0, Exclusive=1, Shared=2} readonly global 3FFF0004
    "This attribute reflects the current locking state of the resource that is associated with the given session."
 attribute: "Rsrc Name"
    "General Settings:Resource Name"
    string readonly global BFFF0002
    "This attribute is the unique identifier for a resource."
 attribute: "Rsrc Class"
    "General Settings:Resource Class"
    string readonly global BFFF0001
    "Specifies the resource class (for example, INSTR) of the device or interface associated with the given session."
 attribute: "Timeout"
    "General Settings:Timeout Value"
    uL readwrite local 3FFF001A
    "This attribute specifies the minimum timeout value, in milliseconds, to use when accessing the device.  Note that the actual timeout used may be higher than the one requested."
 attribute: "User Data"
    "General Settings:User Data"
    uL readwrite local 3FFF0007
    "This attribute is a data value for the private use of an application, and is unique per session.  This attribute is not used by VTL or VISA for any purpose."
 attribute: "Intf Num"
    "Interface Information:Interface Number"
    uW readonly global 3FFF0176
    "This attribute value specifies the board number for the given interface."
 attribute: "Intf Type"
    "Interface Information:Interface Type"
    uW enum {GPIB=1, VXI=2, GPIB-VXI=3, Serial=4, PXI=5, TCPIP=6} readonly global 3FFF0171
    "This attribute value specifies the interface type of the given session."
 attribute: "Intf Inst Name"
    "Interface Information:Interface Description"
    string readonly global BFFF00E9
    "Human-readable text describing the given interface."
 attribute: "Impl Version"
    "Version Information:Version of Implementation"
    uL readonly  global 3FFF0003
    "This attribute is the version that uniquely identifies each of the different revisions or implementations.  This attribute is defined by the individual manufacturer and increments with each new revision."
 attribute: "Spec Version"
    "Version Information:Version of Specification"
    uL readonly  global 3FFF0170
    "This attribute is the version that uniquely identifies the version of the VTL or VISA specification to which the implementation is compliant."
 attribute: "Rsrc Manf Id"
    "Version Information:Resource Manufacturer Identification"
    uW readonly global 3FFF0175
    "This attribute value corresponds to the VXI manufacturer ID of the manufacturer that created the VTL or VISA implementation."
 attribute: "Rsrc Manf Name"
    "Version Information:Resource Manufacturer Name"
    string readonly global BFFF0174
    "This attribute is the name of the manufacturer that created the implementation."

 method: "VISA Status Description" noInvoke
 method: "VISA Open" noInvoke
 method: "VISA Lock" noInvoke
 method: "VISA Unlock" noInvoke
 method: "VISA Enable Event" noInvoke
 method: "VISA Disable Event" noInvoke
 method: "VISA Wait on Event" noInvoke
 method: "VISA Discard Events" noInvoke

// There is INSTR and its many derivations (GPIB, VXI, Serial, PXI, TCPIP)

class: "Instr"
super: "I/O Session"
 attribute: "Intf Parent Num"
    "Interface Information:Interface Number of Parent"
    uW readonly global 3FFF0101
    "This attribute value specifies the board number of the parent device."
 attribute: "Trigger Id"
    "General Settings:Trigger Identifier"
    iW enum {Software=-1, TTL0=0, TTL1=1, TTL2=2, TTL3=3, TTL4=4, TTL5=5, TTL6=6, TTL7=7, ECL0=8, ECL1=9} readwrite local 3FFF0177
    "This attribute specifies which trigger mechanism to use.  In VXI systems, for example, you can choose between software triggers and hardware triggers on a specific trigger line."
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Manf Name"
    "General Settings:Manufacturer Name"
    string readonly global BFFF0072
    "This string attribute is the manufacturer's name. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "Model Name"
    "General Settings:Model Name"
    string readonly global BFFF0077
    "This string attribute is the model name of the device. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "IO Prot"
    "Message Based Settings:IO Protocol"
    uW enum {Normal=1, VXI/FDC=2, GPIB/HS488=3, Serial-TCPIP/488=4} readwrite local 3FFF001C
    "This attribute specifies which protocol to use.  In VXI, you can choose normal word serial or fast data channel.  In GPIB, you can choose normal or high-speed HS-488 transfers.  In serial or TCPIP, you can choose normal transfers or 488-defined strings."
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "Suppress End En"
    "Message Based Settings:Suppress End Enable"
    bool readwrite local 3FFF0036
    "This attribute specifies whether to ignore any END indicator on read operations."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."
 attribute: "Manf Id"
    "Register Based Settings:Manufacturer Identification"
    uW readonly global 3FFF00D9
    "This attribute value corresponds to the ID of the manufacturer that created the device."
 attribute: "Model Code"
    "Register Based Settings:Model Code"
    uW readonly global 3FFF00DF
    "This attribute value is the device model code assigned by the manufacturer."
 attribute: "Slot"
    "Register Based Settings:Slot"
    iW readonly global 3FFF00E8
    "This attribute value is the physical slot location of the device.  If the slot is unknown, the value returned will be -1."
 attribute: "Win Base Addr"
    "Register Based Settings:Window Base Address"
    uL readonly local 3FFF0098
    "This attribute value is the base interface address to which this window is mapped."
 attribute: "Win Size"
    "Register Based Settings:Window Size"
    uL readonly local 3FFF009A
    "This attribute value is the size of the region mapped to this window."
 attribute: "Win Access"
    "Register Based Settings:Window Access"
    uW readonly local 3FFF00C3
    "This attribute value reflects whether the current session has a mapped window, and if so, whether accesses through this window can be achieved through direct pointer dereferences."
 attribute: "Src Increment"
    "Register Based Settings:Source Increment Count"
    iL readwrite local 3FFF0040
    "This attribute specifies the number of elements by which to increment the source address on block move operations."
 attribute: "Dest Increment"
    "Register Based Settings:Destination Increment Count"
    iL readwrite local 3FFF0041
    "This attribute specifies the number of elements by which to increment the destination address on block move operations."
 attribute: "FDC Channel"
    "Fast Data Channel:Channel Number"
    uW readwrite local 3FFF000D
    "This attribute specifies which FDC channel will be used to transfer data buffers."
 attribute: "FDC Signal En"
    "Fast Data Channel:Signal Enable"
    bool readwrite local 3FFF0011
    "This attribute specifies whether the FDC servant will send a signal when it passes control of the FDC channel back to its commander."
 attribute: "FDC Mode"
    "Fast Data Channel:Channel Mode"
    uW enum {Normal=1, Stream=2} readwrite local 3FFF000F
    "This attribute specifies whether FDC transfers will use normal or streaming mode."
 attribute: "FDC Use Pair"
    "Fast Data Channel:Use Channel Pairs"
    bool readwrite local 3FFF0013
    "This attribute specifies whether transfers will use a pair of FDC channels.  If not set, only one FDC channel will be used."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readonly global 3FFF0172
    "This attribute value is the primary address of the GPIB device used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readonly global 3FFF0173
    "This attribute value is the secondary address of the GPIB device used by the given session.  If the device does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "Readdress"
    "GPIB Settings:GPIB Readdressing"
    bool readwrite local 3FFF001B
    "This attribute specifies whether the device is to be readdressed before every transfer."
 attribute: "Unaddress"
    "GPIB Settings:GPIB Unaddressing"
    bool readwrite local 3FFF0184
    "This attribute specifies whether to unaddress the device (UNT and UNL) after each read or write operation."
 attribute: "REN State"
    "GPIB Settings:Line REN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0181
    "This attribute returns the current state of the GPIB REN interface line."
 attribute: "Mainframe LA"
    "VME/VXI Settings:Mainframe Logical Address"
    iW readonly global 3FFF0070
    "This attribute value is the lowest logical address in the mainframe in which the device resides."
 attribute: "Mem Base"
    "VME/VXI Settings:VXI Memory Base Address"
    uL readonly global 3FFF00AD
    "This attribute value is the base address of the device in VXI memory space."
 attribute: "Mem Size"
    "VME/VXI Settings:VXI Memory Size"
    uL readonly global 3FFF00DD
    "This attribute value is the size of memory requested by the device in VXI memory space."
 attribute: "Mem Space"
    "VME/VXI Settings:VXI Memory Address Space"
    uW readonly global 3FFF00DE
    "This attribute value is the VXI address space used by the device."
 attribute: "VXI LA"
    "VME/VXI Settings:VXI Logical Address"
    iW readonly global 3FFF00D5
    "This attribute value is the logical address of the VXI device."
 attribute: "Immediate Serv"
    "VME/VXI Settings:Immediate Servant"
    bool readonly global 3FFF0100
    "This attribute value reflects whether the VXI device is an immediate servant of the local controller."
 attribute: "Cmdr LA"
    "VME/VXI Settings:VXI Commander Logical Address"
    iW readonly global 3FFF006B
    "This attribute value is the logical address of the commander of the VXI device."
 attribute: "Src Access Priv"
    "VME/VXI Settings:Source Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF003C
    "This attribute specifies the address modifier to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Access Priv"
    "VME/VXI Settings:Destination Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0039
    "This attribute specifies the address modifier to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Access Priv"
    "VME/VXI Settings:Window Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0045
    "This attribute specifies the address modifier to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "Src Byte Order"
    "VME/VXI Settings:Source Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003D
    "This attribute specifies the byte order to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Byte Order"
    "VME/VXI Settings:Destination Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003A
    "This attribute specifies the byte order to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Byte Order"
    "VME/VXI Settings:Window Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF0047
    "This attribute specifies the byte order to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "VXI Trig Supp"
    "VME/VXI Settings:Supported VXI Trigger Lines"
    uL readonly global 3FFF0194
    "This attribute shows which VXI trigger lines this implementation supports. This is a bit vector with bits 0-9 corresponding to TTL0 through ECL1."
 attribute: "VXI Dev Class"
    "VME/VXI Settings:VXI Device Class"
    uW enum {Memory=0, Extended=1, Message=2, Register=3, Other=4} readonly global 3FFF006C
    "This specifies which class the VXI or VME device is a member of."
 attribute: "Bytes at Port"
    "Serial Settings:Number of Bytes at Serial Port"
    uL readonly global 3FFF00AC
    "This attribute specifies the number of bytes currently available at the serial port used by this session."
 attribute: "Baud"
    "Serial Settings:Serial Baud Rate"
    uL readwrite global 3FFF0021
    "This attribute specifies the baud rate of the given communications port."
 attribute: "Data Bits"
    "Serial Settings:Serial Data Bits"
    uW readwrite global 3FFF0022
    "This attribute specifies the number of data bits contained in each frame."
 attribute: "Parity"
    "Serial Settings:Serial Parity"
    uW enum {None=0, Odd=1, Even=2, Mark=3, Space=4} readwrite global 3FFF0023
    "This attribute specifies the parity used with every frame that is transmitted or received.  Valid values are:  (0) Parity None, (1) Parity Odd, (2) Parity Even, (3) Parity Mark, (4) Parity Space."
 attribute: "Stop Bits"
    "Serial Settings:Serial Stop Bits"
    uW enum {1.0=10, 1.5=15, 2.0=20} readwrite global 3FFF0024
    "This attribute specifies the number of stop bits used to indicate the end of a frame.  Valid values are:  (10) Stop One, (15) Stop One-and-a-Half, (20) Stop Two."
 attribute: "Flow Cntrl"
    "Serial Settings:Serial Flow Control"
    uW enum {None=0, XON/XOFF=1, RTS/CTS=2, DTR/DSR=4} readwrite global 3FFF0025
    "This attribute specifies the flow control method used for both transmitting and receiving data.  Valid values are:  (0) Flow None, (1) Flow XON XOFF, (2) Flow RTS CTS, (4) Flow DTR DSR."
 attribute: "ASRL End In"
    "Serial Settings:Serial End Mode for Reads"
    uW enum {None=0, LastBit=1, TermChar=2} readwrite local 3FFF00B3
    "This attribute specifies the method used to terminate read operations.  Valid values are:  (0) End None, (1) End Last Bit, (2) End Termchar."
 attribute: "ASRL End Out"
    "Serial Settings:Serial End Mode for Writes"
    uW enum {None=0, LastBit=1, TermChar=2, Break=3} readwrite local 3FFF00B4
    "This attribute specifies the method used to terminate write operations.  Valid values are:  (0) End None, (1) End Last Bit, (2) End Add Termchar, (3) End Break."
 attribute: "XON Char"
    "Serial Settings:Flow Control XON Character"
    uB readwrite global 3FFF00C1
    "This attribute specifies the value of the XON character used for XON/XOFF flow control (both directions). If XON/XOFF flow control (software handshaking) is not being used, the value of this attribute is ignored."
 attribute: "XOFF Char"
    "Serial Settings:Flow Control XOFF Character"
    uB readwrite global 3FFF00C2
    "This attribute specifies the value of the XOFF character used for XON/XOFF flow control (both directions). If XON/XOFF flow control (software handshaking) is not being used, the value of this attribute is ignored."
 attribute: "Replace Char"
    "Serial Settings:Error Replacement Character"
    uB readwrite global 3FFF00BE
    "This attribute specifies the character to be used to replace incoming characters that arrive with errors (such as a parity error)."
 attribute: "Discard NUL"
    "Serial Settings:Discard NUL Characters"
    bool readwrite global 3FFF00B0
    "This attribute specifies whether to discard each data byte whose value is 0. If enabled, NUL characters are discarded. Otherwise, they are treated as normal data characters.  For binary transfers, disable this attribute."
 attribute: "Break Len"
    "Serial Settings:Break Length"
    iW readwrite local 3FFF01BD
    "This attribute controls the duration (in milliseconds) of the break signal asserted when ASRL End Out is set to Break(3). Valid values are 1-500."
 attribute: "Allow Transmit"
    "Serial Settings:Allow Transmit"
    bool readwrite global 3FFF01BE
    "If disabled (F), the serial port suspends transmission as if an XOFF character has been received. If enabled (T), it resumes transmission as if an XON character has been received.  If XON/XOFF flow control (software handshaking) is not being used, it is invalid to disable this attribute."
 attribute: "Wire Mode"
    "Serial Settings:Wire Mode"
    iW enum {Unknown=-1, Wire4=0, Wire2/EchoDTR=1, Wire2/CtrlDTR=2, Wire2/Auto=3} readwrite global 3FFF01BF
    "This attribute is valid only with the RS-485 serial driver developed by National Instruments, and sets the transceiver mode."
 attribute: "Break State"
    "Modem Line Settings:Break State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readwrite global 3FFF01BC
    "This attribute lets you manually control the serial port's break state.  If asserted, it suspends character transmission and places the transmission line in a break state until this attribute is unasserted. If you want VISA to send a break signal after each write operation automatically, use the Break Len and ASRL End Out properties instead."
 attribute: "CTS State"
    "Modem Line Settings:Line CTS State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF00AE
    "This attribute shows the current state of the Clear To Send (CTS) input signal."
 attribute: "DCD State"
    "Modem Line Settings:Line DCD State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF00AF
    "This attribute shows the current state of the Data Carrier Detect (DCD) input signal.  This is often used by modems to indicate the detection of a carrier (modem) on the phone line.  Also known as 'Receive Line Signal Detect (RLSD)."
 attribute: "DSR State"
    "Modem Line Settings:Line DSR State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF00B1
    "This attribute shows the current state of the Data Set Ready (DSR) input signal."
 attribute: "DTR State"
    "Modem Line Settings:Line DTR State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readwrite global 3FFF00B2
    "This attribute is used to manually assert or unassert the Data Terminal Ready (DTR) output signal."
 attribute: "RI State"
    "Modem Line Settings:Line RI State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF00BF
    "This attribute shows the current state of the Ring Indicator (RI) input signal. The RI signal is often used by modems to indicate that the telephone line is ringing."
 attribute: "RTS State"
    "Modem Line Settings:Line RTS State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readwrite global 3FFF00C0
    "This attribute is used to manually assert or unassert the Request To Send (RTS) output signal.  When the flow control is set to hardware handshaking, this attribute is ignored when changed."
 attribute: "Device Num"
    "PXI Settings:PXI Device Number"
    uW readonly global 3FFF0201
    "This attribute specifies the device number of the PXI device used by the given session."
 attribute: "Function Num"
    "PXI Settings:PXI Function Number"
    uW readonly global 3FFF0202
    "This attribute specifies the function number of the PXI device.  For most devices this will be 0, but a multifunction device may have a function number up to 7.  The meaning of a function number other than 0 is device-specific."
 attribute: "Sub Manf Id"
    "PXI Settings:Subsystem Manufacturer Identification"
    uW readonly global 3FFF0203
    "This attribute is the subsystem manufacturer identification number of the PXI device.  If a single manufacturer produced the entire device or this value is 0, this attribute is meaningless."
 attribute: "Sub Model Code"
    "PXI Settings:Subsystem Model Code"
    uW readonly global 3FFF0204
    "This attribute specifies the subsystem model code for the PXI device.  If a single manufacturer produced the entire device or this value is 0, this attribute is meaningless."
 attribute: "BAR0 Type"
    "PXI Resources:BAR0 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0211
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR1 Type"
    "PXI Resources:BAR1 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0212
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR2 Type"
    "PXI Resources:BAR2 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0213
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR3 Type"
    "PXI Resources:BAR3 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0214
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR4 Type"
    "PXI Resources:BAR4 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0215
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR5 Type"
    "PXI Resources:BAR5 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0216
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR0 Base"
    "PXI Resources:BAR0 Address Base"
    uL readonly global 3FFF0221
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR1 Base"
    "PXI Resources:BAR1 Address Base"
    uL readonly global 3FFF0222
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR2 Base"
    "PXI Resources:BAR2 Address Base"
    uL readonly global 3FFF0223
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR3 Base"
    "PXI Resources:BAR3 Address Base"
    uL readonly global 3FFF0224
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR4 Base"
    "PXI Resources:BAR4 Address Base"
    uL readonly global 3FFF0225
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR5 Base"
    "PXI Resources:BAR5 Address Base"
    uL readonly global 3FFF0226
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR0 Size"
    "PXI Resources:BAR0 Address Size"
    uL readonly global 3FFF0231
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR1 Size"
    "PXI Resources:BAR1 Address Size"
    uL readonly global 3FFF0232
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR2 Size"
    "PXI Resources:BAR2 Address Size"
    uL readonly global 3FFF0233
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR3 Size"
    "PXI Resources:BAR3 Address Size"
    uL readonly global 3FFF0234
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR4 Size"
    "PXI Resources:BAR4 Address Size"
    uL readonly global 3FFF0235
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR5 Size"
    "PXI Resources:BAR5 Address Size"
    uL readonly global 3FFF0236
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "TCP Addr"
    "TCP/IP Settings:TCP/IP Dot-Notation Address"
    string readonly global BFFF0195
    "This is the TCPIP address of the device to which the session is connected. This string is formatted in dot notation."
 attribute: "TCP Hostname"
    "TCP/IP Settings:TCP/IP Computer Hostname"
    string readonly global BFFF0196
    "This specifies the host name of the device. If no host name is available, this attribute returns an empty string."
 attribute: "TCP NoDelay"
    "TCP/IP Settings:TCP/IP No Packet Delay"
    bool readwrite local 3FFF019A
    "The Nagle algorithm is disabled when this attribute is enabled (and vice versa). The Nagle algorithm improves network performance by buffering written data until a full-size packet can be sent. This attribute is enabled by default in VISA to verify that writes get flushed immediately."
 attribute: "TCP KeepAlive"
    "TCP/IP Settings:TCP/IP Keep-Alive Packets"
    bool readwrite local 3FFF019B
    "An application can request that a TCP/IP provider enable the use of keep-alive packets on TCP connections by turning on this attribute. If a connection is dropped, the error code VI_ERROR_CONN_LOST is returned to I/O calls on the session."
 attribute: "TCP DevName"
    "TCP/IP Settings:TCP/IP LAN Device Name"
    string readonly global BFFF0199
    "This specifies the LAN device name used by the VXI-11 protocol (for example, inst0) during connection."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke
 method: "VISA Clear" noInvoke
 method: "VISA Read STB" noInvoke
 method: "VISA Assert Trigger" noInvoke
 method: "VISA In 32" noInvoke
 method: "VISA In 16" noInvoke
 method: "VISA In 8" noInvoke
 method: "VISA Out 32" noInvoke
 method: "VISA Out 16" noInvoke
 method: "VISA Out 8" noInvoke
 method: "VISA Map Address" noInvoke
 method: "VISA Unmap Address" noInvoke
 method: "VISA Peek 32" noInvoke
 method: "VISA Peek 16" noInvoke
 method: "VISA Peek 8" noInvoke
 method: "VISA Poke 32" noInvoke
 method: "VISA Poke 16" noInvoke
 method: "VISA Poke 8" noInvoke
 method: "VISA Move In 8" noInvoke
 method: "VISA Move In 16" noInvoke
 method: "VISA Move In 32" noInvoke
 method: "VISA Move Out 8" noInvoke
 method: "VISA Move Out 16" noInvoke
 method: "VISA Move Out 32" noInvoke
 method: "VISA Mem Alloc" noInvoke
 method: "VISA Mem Free" noInvoke
 method: "VISA Set I/O Buffer Size" noInvoke
 method: "VISA Flush I/O Buffer" noInvoke
 method: "VISA GPIB Control REN" noInvoke
 method: "VISA VXI Cmd or Query" noInvoke

class: "GPIB Instr"
super: "I/O Session"
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "IO Prot"
    "Message Based Settings:IO Protocol"
    uW enum {Normal=1, VXI/FDC=2, GPIB/HS488=3, Serial-TCPIP/488=4} readwrite local 3FFF001C
    "This attribute specifies which protocol to use.  In VXI, you can choose normal word serial or fast data channel.  In GPIB, you can choose normal or high-speed HS-488 transfers.  In serial or TCPIP, you can choose normal transfers or 488-defined strings."
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readonly global 3FFF0172
    "This attribute value is the primary address of the GPIB device used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readonly global 3FFF0173
    "This attribute value is the secondary address of the GPIB device used by the given session.  If the device does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "Readdress"
    "GPIB Settings:GPIB Readdressing"
    bool readwrite local 3FFF001B
    "This attribute specifies whether the device is to be readdressed before every transfer."
 attribute: "Unaddress"
    "GPIB Settings:GPIB Unaddressing"
    bool readwrite local 3FFF0184
    "This attribute specifies whether to unaddress the device (UNT and UNL) after each read or write operation."
 attribute: "REN State"
    "GPIB Settings:Line REN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0181
    "This attribute returns the current state of the GPIB REN interface line."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke
 method: "VISA Clear" noInvoke
 method: "VISA Read STB" noInvoke
 method: "VISA Assert Trigger" noInvoke
 method: "VISA GPIB Control REN" noInvoke

class: "VXI/GPIB-VXI MBD Instr"
super: "I/O Session"
 attribute: "Intf Parent Num"
    "Interface Information:Interface Number of Parent"
    uW readonly global 3FFF0101
    "This attribute value specifies the board number of the parent device."
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Trigger Id"
    "General Settings:Trigger Identifier"
    iW enum {Software=-1, TTL0=0, TTL1=1, TTL2=2, TTL3=3, TTL4=4, TTL5=5, TTL6=6, TTL7=7, ECL0=8, ECL1=9} readwrite local 3FFF0177
    "This attribute specifies which trigger mechanism to use.  In VXI systems, for example, you can choose between software triggers and hardware triggers on a specific trigger line."
 attribute: "Manf Name"
    "General Settings:Manufacturer Name"
    string readonly global BFFF0072
    "This string attribute is the manufacturer's name. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "Model Name"
    "General Settings:Model Name"
    string readonly global BFFF0077
    "This string attribute is the model name of the device. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "IO Prot"
    "Message Based Settings:IO Protocol"
    uW enum {Normal=1, VXI/FDC=2, GPIB/HS488=3, Serial-TCPIP/488=4} readwrite local 3FFF001C
    "This attribute specifies which protocol to use.  In VXI, you can choose normal word serial or fast data channel.  In GPIB, you can choose normal or high-speed HS-488 transfers.  In serial or TCPIP, you can choose normal transfers or 488-defined strings."
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "Suppress End En"
    "Message Based Settings:Suppress End Enable"
    bool readwrite local 3FFF0036
    "This attribute specifies whether to ignore any END indicator on read operations."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."
 attribute: "Manf Id"
    "Register Based Settings:Manufacturer Identification"
    uW readonly global 3FFF00D9
    "This attribute value corresponds to the ID of the manufacturer that created the device."
 attribute: "Model Code"
    "Register Based Settings:Model Code"
    uW readonly global 3FFF00DF
    "This attribute value is the device model code assigned by the manufacturer."
 attribute: "Slot"
    "Register Based Settings:Slot"
    iW readonly global 3FFF00E8
    "This attribute value is the physical slot location of the device.  If the slot is unknown, the value returned will be -1."
 attribute: "Win Base Addr"
    "Register Based Settings:Window Base Address"
    uL readonly local 3FFF0098
    "This attribute value is the base interface address to which this window is mapped."
 attribute: "Win Size"
    "Register Based Settings:Window Size"
    uL readonly local 3FFF009A
    "This attribute value is the size of the region mapped to this window."
 attribute: "Win Access"
    "Register Based Settings:Window Access"
    uW readonly local 3FFF00C3
    "This attribute value reflects whether the current session has a mapped window, and if so, whether accesses through this window can be achieved through direct pointer dereferences."
 attribute: "Src Increment"
    "Register Based Settings:Source Increment Count"
    iL readwrite local 3FFF0040
    "This attribute specifies the number of elements by which to increment the source address on block move operations."
 attribute: "Dest Increment"
    "Register Based Settings:Destination Increment Count"
    iL readwrite local 3FFF0041
    "This attribute specifies the number of elements by which to increment the destination address on block move operations."
 attribute: "FDC Channel"
    "Fast Data Channel:Channel Number"
    uW readwrite local 3FFF000D
    "This attribute specifies which FDC channel will be used to transfer data buffers."
 attribute: "FDC Signal En"
    "Fast Data Channel:Signal Enable"
    bool readwrite local 3FFF0011
    "This attribute specifies whether the FDC servant will send a signal when it passes control of the FDC channel back to its commander."
 attribute: "FDC Mode"
    "Fast Data Channel:Channel Mode"
    uW enum {Normal=1, Stream=2} readwrite local 3FFF000F
    "This attribute specifies whether FDC transfers will use normal or streaming mode."
 attribute: "FDC Use Pair"
    "Fast Data Channel:Use Channel Pairs"
    bool readwrite local 3FFF0013
    "This attribute specifies whether transfers will use a pair of FDC channels.  If not set, only one FDC channel will be used."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readonly global 3FFF0172
    "This attribute value is the primary address of the GPIB device used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readonly global 3FFF0173
    "This attribute value is the secondary address of the GPIB device used by the given session.  If the device does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "Readdress"
    "GPIB Settings:GPIB Readdressing"
    bool readwrite local 3FFF001B
    "This attribute specifies whether the device is to be readdressed before every transfer."
 attribute: "Unaddress"
    "GPIB Settings:GPIB Unaddressing"
    bool readwrite local 3FFF0184
    "This attribute specifies whether to unaddress the device (UNT and UNL) after each read or write operation."
 attribute: "REN State"
    "GPIB Settings:REN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0181
    "This attribute returns the current state of the GPIB REN interface line."
 attribute: "Mainframe LA"
    "VME/VXI Settings:Mainframe Logical Address"
    iW readonly global 3FFF0070
    "This attribute value is the lowest logical address in the mainframe in which the device resides."
 attribute: "Mem Base"
    "VME/VXI Settings:VXI Memory Base Address"
    uL readonly global 3FFF00AD
    "This attribute value is the base address of the device in VXI memory space."
 attribute: "Mem Size"
    "VME/VXI Settings:VXI Memory Size"
    uL readonly global 3FFF00DD
    "This attribute value is the size of memory requested by the device in VXI memory space."
 attribute: "Mem Space"
    "VME/VXI Settings:VXI Memory Address Space"
    uW readonly global 3FFF00DE
    "This attribute value is the VXI address space used by the device."
 attribute: "VXI LA"
    "VME/VXI Settings:VXI Logical Address"
    iW readonly global 3FFF00D5
    "This attribute value is the logical address of the VXI device."
 attribute: "Immediate Serv"
    "VME/VXI Settings:Immediate Servant"
    bool readonly global 3FFF0100
    "This attribute value reflects whether the VXI device is an immediate servant of the local controller."
 attribute: "Cmdr LA"
    "VME/VXI Settings:VXI Commander Logical Address"
    iW readonly global 3FFF006B
    "This attribute value is the logical address of the commander of the VXI device."
 attribute: "Src Access Priv"
    "VME/VXI Settings:Source Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF003C
    "This attribute specifies the address modifier to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Access Priv"
    "VME/VXI Settings:Destination Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0039
    "This attribute specifies the address modifier to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Access Priv"
    "VME/VXI Settings:Window Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0045
    "This attribute specifies the address modifier to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "Src Byte Order"
    "VME/VXI Settings:Source Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003D
    "This attribute specifies the byte order to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Byte Order"
    "VME/VXI Settings:Destination Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003A
    "This attribute specifies the byte order to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Byte Order"
    "VME/VXI Settings:Window Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF0047
    "This attribute specifies the byte order to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "VXI Trig Supp"
    "VME/VXI Settings:Supported VXI Trigger Lines"
    uL readonly global 3FFF0194
    "This attribute shows which VXI trigger lines this implementation supports. This is a bit vector with bits 0-9 corresponding to TTL0 through ECL1."
 attribute: "VXI Dev Class"
    "VME/VXI Settings:VXI Device Class"
    uW enum {Memory=0, Extended=1, Message=2, Register=3, Other=4} readonly global 3FFF006C
    "This specifies which class the VXI or VME device is a member of."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke
 method: "VISA Clear" noInvoke
 method: "VISA Read STB" noInvoke
 method: "VISA Assert Trigger" noInvoke
 method: "VISA In 32" noInvoke
 method: "VISA In 16" noInvoke
 method: "VISA In 8" noInvoke
 method: "VISA Out 32" noInvoke
 method: "VISA Out 16" noInvoke
 method: "VISA Out 8" noInvoke
 method: "VISA Map Address" noInvoke
 method: "VISA Unmap Address" noInvoke
 method: "VISA Peek 32" noInvoke
 method: "VISA Peek 16" noInvoke
 method: "VISA Peek 8" noInvoke
 method: "VISA Poke 32" noInvoke
 method: "VISA Poke 16" noInvoke
 method: "VISA Poke 8" noInvoke
 method: "VISA Move In 8" noInvoke
 method: "VISA Move In 16" noInvoke
 method: "VISA Move In 32" noInvoke
 method: "VISA Move Out 8" noInvoke
 method: "VISA Move Out 16" noInvoke
 method: "VISA Move Out 32" noInvoke
 method: "VISA Mem Alloc" noInvoke
 method: "VISA Mem Free" noInvoke
 method: "VISA VXI Cmd or Query" noInvoke

class: "VXI/GPIB-VXI/VME RBD Instr"
super: "I/O Session"
 attribute: "Intf Parent Num"
    "Interface Information:Interface Number of Parent"
    uW readonly global 3FFF0101
    "This attribute value specifies the board number of the parent device."
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Trigger Id"
    "General Settings:Trigger Identifier"
    iW enum {Software=-1, TTL0=0, TTL1=1, TTL2=2, TTL3=3, TTL4=4, TTL5=5, TTL6=6, TTL7=7, ECL0=8, ECL1=9} readwrite local 3FFF0177
    "This attribute specifies which trigger mechanism to use.  In VXI systems, for example, you can choose between software triggers and hardware triggers on a specific trigger line."
 attribute: "Manf Name"
    "General Settings:Manufacturer Name"
    string readonly global BFFF0072
    "This string attribute is the manufacturer's name. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "Model Name"
    "General Settings:Model Name"
    string readonly global BFFF0077
    "This string attribute is the model name of the device. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readonly global 3FFF0172
    "This attribute value is the primary address of the GPIB device used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readonly global 3FFF0173
    "This attribute value is the secondary address of the GPIB device used by the given session.  If the device does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "REN State"
    "GPIB Settings:REN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0181
    "This attribute returns the current state of the GPIB REN interface line."
 attribute: "Manf Id"
    "Register Based Settings:Manufacturer Identification"
    uW readonly global 3FFF00D9
    "This attribute value corresponds to the ID of the manufacturer that created the device."
 attribute: "Model Code"
    "Register Based Settings:Model Code"
    uW readonly global 3FFF00DF
    "This attribute value is the device model code assigned by the manufacturer."
 attribute: "Slot"
    "Register Based Settings:Slot"
    iW readonly global 3FFF00E8
    "This attribute value is the physical slot location of the device.  If the slot is unknown, the value returned will be -1."
 attribute: "Win Base Addr"
    "Register Based Settings:Window Base Address"
    uL readonly local 3FFF0098
    "This attribute value is the base interface address to which this window is mapped."
 attribute: "Win Size"
    "Register Based Settings:Window Size"
    uL readonly local 3FFF009A
    "This attribute value is the size of the region mapped to this window."
 attribute: "Win Access"
    "Register Based Settings:Window Access"
    uW readonly local 3FFF00C3
    "This attribute value reflects whether the current session has a mapped window, and if so, whether accesses through this window can be achieved through direct pointer dereferences."
 attribute: "Src Increment"
    "Register Based Settings:Source Increment Count"
    iL readwrite local 3FFF0040
    "This attribute specifies the number of elements by which to increment the source address on block move operations."
 attribute: "Dest Increment"
    "Register Based Settings:Destination Increment Count"
    iL readwrite local 3FFF0041
    "This attribute specifies the number of elements by which to increment the destination address on block move operations."
 attribute: "Mainframe LA"
    "VME/VXI Settings:Mainframe Logical Address"
    iW readonly global 3FFF0070
    "This attribute value is the lowest logical address in the mainframe in which the device resides."
 attribute: "Mem Base"
    "VME/VXI Settings:VXI Memory Base Address"
    uL readonly global 3FFF00AD
    "This attribute value is the base address of the device in VXI memory space."
 attribute: "Mem Size"
    "VME/VXI Settings:VXI Memory Size"
    uL readonly global 3FFF00DD
    "This attribute value is the size of memory requested by the device in VXI memory space."
 attribute: "Mem Space"
    "VME/VXI Settings:VXI Memory Address Space"
    uW readonly global 3FFF00DE
    "This attribute value is the VXI address space used by the device."
 attribute: "VXI LA"
    "VME/VXI Settings:VXI Logical Address"
    iW readonly global 3FFF00D5
    "This attribute value is the logical address of the VXI device."
 attribute: "Immediate Serv"
    "VME/VXI Settings:Immediate Servant"
    bool readonly global 3FFF0100
    "This attribute value reflects whether the VXI device is an immediate servant of the local controller."
 attribute: "Cmdr LA"
    "VME/VXI Settings:VXI Commander Logical Address"
    iW readonly global 3FFF006B
    "This attribute value is the logical address of the commander of the VXI device."
 attribute: "Src Access Priv"
    "VME/VXI Settings:Source Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF003C
    "This attribute specifies the address modifier to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Access Priv"
    "VME/VXI Settings:Destination Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0039
    "This attribute specifies the address modifier to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Access Priv"
    "VME/VXI Settings:Window Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0045
    "This attribute specifies the address modifier to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "Src Byte Order"
    "VME/VXI Settings:Source Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003D
    "This attribute specifies the byte order to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Byte Order"
    "VME/VXI Settings:Destination Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003A
    "This attribute specifies the byte order to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Byte Order"
    "VME/VXI Settings:Window Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF0047
    "This attribute specifies the byte order to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "VXI Trig Supp"
    "VME/VXI Settings:Supported VXI Trigger Lines"
    uL readonly global 3FFF0194
    "This attribute shows which VXI trigger lines this implementation supports. This is a bit vector with bits 0-9 corresponding to TTL0 through ECL1."
 attribute: "VXI Dev Class"
    "VME/VXI Settings:VXI Device Class"
    uW enum {Memory=0, Extended=1, Message=2, Register=3, Other=4} readonly global 3FFF006C
    "This specifies which class the VXI or VME device is a member of."

 method: "VISA Assert Trigger" noInvoke
 method: "VISA In 32" noInvoke
 method: "VISA In 16" noInvoke
 method: "VISA In 8" noInvoke
 method: "VISA Out 32" noInvoke
 method: "VISA Out 16" noInvoke
 method: "VISA Out 8" noInvoke
 method: "VISA Map Address" noInvoke
 method: "VISA Unmap Address" noInvoke
 method: "VISA Peek 32" noInvoke
 method: "VISA Peek 16" noInvoke
 method: "VISA Peek 8" noInvoke
 method: "VISA Poke 32" noInvoke
 method: "VISA Poke 16" noInvoke
 method: "VISA Poke 8" noInvoke
 method: "VISA Move In 8" noInvoke
 method: "VISA Move In 16" noInvoke
 method: "VISA Move In 32" noInvoke
 method: "VISA Move Out 8" noInvoke
 method: "VISA Move Out 16" noInvoke
 method: "VISA Move Out 32" noInvoke
 method: "VISA Mem Alloc" noInvoke
 method: "VISA Mem Free" noInvoke

class: "VXI/GPIB-VXI RBD Instr"
super: "I/O Session"
flags: 1
 attribute: "Intf Parent Num"
    "Interface Information:Interface Number of Parent"
    uW readonly global 3FFF0101
    "This attribute value specifies the board number of the parent device."
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Trigger Id"
    "General Settings:Trigger Identifier"
    iW enum {Software=-1, TTL0=0, TTL1=1, TTL2=2, TTL3=3, TTL4=4, TTL5=5, TTL6=6, TTL7=7, ECL0=8, ECL1=9} readwrite local 3FFF0177
    "This attribute specifies which trigger mechanism to use.  In VXI systems, for example, you can choose between software triggers and hardware triggers on a specific trigger line."
 attribute: "Manf Name"
    "General Settings:Manufacturer Name"
    string readonly global BFFF0072
    "This string attribute is the manufacturer's name. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "Model Name"
    "General Settings:Model Name"
    string readonly global BFFF0077
    "This string attribute is the model name of the device. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readonly global 3FFF0172
    "This attribute value is the primary address of the GPIB device used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readonly global 3FFF0173
    "This attribute value is the secondary address of the GPIB device used by the given session.  If the device does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "REN State"
    "GPIB Settings:REN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0181
    "This attribute returns the current state of the GPIB REN interface line."
 attribute: "Manf Id"
    "Register Based Settings:Manufacturer Identification"
    uW readonly global 3FFF00D9
    "This attribute value corresponds to the ID of the manufacturer that created the device."
 attribute: "Model Code"
    "Register Based Settings:Model Code"
    uW readonly global 3FFF00DF
    "This attribute value is the device model code assigned by the manufacturer."
 attribute: "Slot"
    "Register Based Settings:Slot"
    iW readonly global 3FFF00E8
    "This attribute value is the physical slot location of the device.  If the slot is unknown, the value returned will be -1."
 attribute: "Win Base Addr"
    "Register Based Settings:Window Base Address"
    uL readonly local 3FFF0098
    "This attribute value is the base interface address to which this window is mapped."
 attribute: "Win Size"
    "Register Based Settings:Window Size"
    uL readonly local 3FFF009A
    "This attribute value is the size of the region mapped to this window."
 attribute: "Win Access"
    "Register Based Settings:Window Access"
    uW readonly local 3FFF00C3
    "This attribute value reflects whether the current session has a mapped window, and if so, whether accesses through this window can be achieved through direct pointer dereferences."
 attribute: "Src Increment"
    "Register Based Settings:Source Increment Count"
    iL readwrite local 3FFF0040
    "This attribute specifies the number of elements by which to increment the source address on block move operations."
 attribute: "Dest Increment"
    "Register Based Settings:Destination Increment Count"
    iL readwrite local 3FFF0041
    "This attribute specifies the number of elements by which to increment the destination address on block move operations."
 attribute: "Mainframe LA"
    "VME/VXI Settings:Mainframe Logical Address"
    iW readonly global 3FFF0070
    "This attribute value is the lowest logical address in the mainframe in which the device resides."
 attribute: "Mem Base"
    "VME/VXI Settings:VXI Memory Base Address"
    uL readonly global 3FFF00AD
    "This attribute value is the base address of the device in VXI memory space."
 attribute: "Mem Size"
    "VME/VXI Settings:VXI Memory Size"
    uL readonly global 3FFF00DD
    "This attribute value is the size of memory requested by the device in VXI memory space."
 attribute: "Mem Space"
    "VME/VXI Settings:VXI Memory Address Space"
    uW readonly global 3FFF00DE
    "This attribute value is the VXI address space used by the device."
 attribute: "VXI LA"
    "VME/VXI Settings:VXI Logical Address"
    iW readonly global 3FFF00D5
    "This attribute value is the logical address of the VXI device."
 attribute: "Immediate Serv"
    "VME/VXI Settings:Immediate Servant"
    bool readonly global 3FFF0100
    "This attribute value reflects whether the VXI device is an immediate servant of the local controller."
 attribute: "Cmdr LA"
    "VME/VXI Settings:VXI Commander Logical Address"
    iW readonly global 3FFF006B
    "This attribute value is the logical address of the commander of the VXI device."
 attribute: "Src Access Priv"
    "VME/VXI Settings:Source Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF003C
    "This attribute specifies the address modifier to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Access Priv"
    "VME/VXI Settings:Destination Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0039
    "This attribute specifies the address modifier to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Access Priv"
    "VME/VXI Settings:Window Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0045
    "This attribute specifies the address modifier to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "Src Byte Order"
    "VME/VXI Settings:Source Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003D
    "This attribute specifies the byte order to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Byte Order"
    "VME/VXI Settings:Destination Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003A
    "This attribute specifies the byte order to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Byte Order"
    "VME/VXI Settings:Window Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF0047
    "This attribute specifies the byte order to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "VXI Trig Supp"
    "VME/VXI Settings:Supported VXI Trigger Lines"
    uL readonly global 3FFF0194
    "This attribute shows which VXI trigger lines this implementation supports. This is a bit vector with bits 0-9 corresponding to TTL0 through ECL1."
 attribute: "VXI Dev Class"
    "VME/VXI Settings:VXI Device Class"
    uW enum {Memory=0, Extended=1, Message=2, Register=3, Other=4} readonly global 3FFF006C
    "This specifies which class the VXI or VME device is a member of."

 method: "VISA Assert Trigger" noInvoke
 method: "VISA In 32" noInvoke
 method: "VISA In 16" noInvoke
 method: "VISA In 8" noInvoke
 method: "VISA Out 32" noInvoke
 method: "VISA Out 16" noInvoke
 method: "VISA Out 8" noInvoke
 method: "VISA Map Address" noInvoke
 method: "VISA Unmap Address" noInvoke
 method: "VISA Peek 32" noInvoke
 method: "VISA Peek 16" noInvoke
 method: "VISA Peek 8" noInvoke
 method: "VISA Poke 32" noInvoke
 method: "VISA Poke 16" noInvoke
 method: "VISA Poke 8" noInvoke
 method: "VISA Move In 8" noInvoke
 method: "VISA Move In 16" noInvoke
 method: "VISA Move In 32" noInvoke
 method: "VISA Move Out 8" noInvoke
 method: "VISA Move Out 16" noInvoke
 method: "VISA Move Out 32" noInvoke
 method: "VISA Mem Alloc" noInvoke
 method: "VISA Mem Free" noInvoke

class: "PXI Instr"
super: "I/O Session"
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Manf Name"
    "General Settings:Manufacturer Name"
    string readonly global BFFF0072
    "This string attribute is the manufacturer's name. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "Model Name"
    "General Settings:Model Name"
    string readonly global BFFF0077
    "This string attribute is the model name of the device. The value of this attribute should be used for display purposes only and not for programmatic decisions, as the value can be different between VISA implementations and/or revisions."
 attribute: "Manf Id"
    "Register Based Settings:Manufacturer Identification"
    uW readonly global 3FFF00D9
    "This attribute value corresponds to the ID of the manufacturer that created the device."
 attribute: "Model Code"
    "Register Based Settings:Model Code"
    uW readonly global 3FFF00DF
    "This attribute value is the device model code assigned by the manufacturer."
 attribute: "Slot"
    "Register Based Settings:Slot"
    iW readonly global 3FFF00E8
    "This attribute value is the physical slot location of the device.  If the slot is unknown, the value returned will be -1."
 attribute: "Win Base Addr"
    "Register Based Settings:Window Base Address"
    uL readonly local 3FFF0098
    "This attribute value is the base interface address to which this window is mapped."
 attribute: "Win Size"
    "Register Based Settings:Window Size"
    uL readonly local 3FFF009A
    "This attribute value is the size of the region mapped to this window."
 attribute: "Win Access"
    "Register Based Settings:Window Access"
    uW readonly local 3FFF00C3
    "This attribute value reflects whether the current session has a mapped window, and if so, whether accesses through this window can be achieved through direct pointer dereferences."
 attribute: "Src Increment"
    "Register Based Settings:Source Increment Count"
    iL readwrite local 3FFF0040
    "This attribute specifies the number of elements by which to increment the source address on block move operations."
 attribute: "Dest Increment"
    "Register Based Settings:Destination Increment Count"
    iL readwrite local 3FFF0041
    "This attribute specifies the number of elements by which to increment the destination address on block move operations."
 attribute: "Device Num"
    "PXI Settings:PXI Device Number"
    uW readonly global 3FFF0201
    "This attribute specifies the device number of the PXI device used by the given session."
 attribute: "Function Num"
    "PXI Settings:PXI Function Number"
    uW readonly global 3FFF0202
    "This attribute specifies the function number of the PXI device.  For most devices this will be 0, but a multifunction device may have a function number up to 7.  The meaning of a function number other than 0 is device-specific."
 attribute: "Sub Manf Id"
    "PXI Settings:Subsystem Manufacturer Identification"
    uW readonly global 3FFF0203
    "This attribute is the subsystem manufacturer identification number of the PXI device.  If a single manufacturer produced the entire device or this value is 0, this attribute is meaningless."
 attribute: "Sub Model Code"
    "PXI Settings:Subsystem Model Code"
    uW readonly global 3FFF0204
    "This attribute specifies the subsystem model code for the PXI device.  If a single manufacturer produced the entire device or this value is 0, this attribute is meaningless."
 attribute: "BAR0 Type"
    "PXI Resources:BAR0 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0211
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR1 Type"
    "PXI Resources:BAR1 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0212
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR2 Type"
    "PXI Resources:BAR2 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0213
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR3 Type"
    "PXI Resources:BAR3 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0214
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR4 Type"
    "PXI Resources:BAR4 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0215
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR5 Type"
    "PXI Resources:BAR5 Address Type"
    uW enum {None=0, Memory=1, I/O=2} readonly global 3FFF0216
    "This attribute specifies what type of address requirements (memory or I/O) the device has for this Base Address Register.  If the device does not request addresses in this space, the value will be VI_PXI_ADDR_NONE(0)."
 attribute: "BAR0 Base"
    "PXI Resources:BAR0 Address Base"
    uL readonly global 3FFF0221
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR1 Base"
    "PXI Resources:BAR1 Address Base"
    uL readonly global 3FFF0222
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR2 Base"
    "PXI Resources:BAR2 Address Base"
    uL readonly global 3FFF0223
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR3 Base"
    "PXI Resources:BAR3 Address Base"
    uL readonly global 3FFF0224
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR4 Base"
    "PXI Resources:BAR4 Address Base"
    uL readonly global 3FFF0225
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR5 Base"
    "PXI Resources:BAR5 Address Base"
    uL readonly global 3FFF0226
    "This attribute specifies the system-assigned base this device uses in the given space.  If the device does not request addresses in this space, the value of this attribute is meaningless."
 attribute: "BAR0 Size"
    "PXI Resources:BAR0 Address Size"
    uL readonly global 3FFF0231
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR1 Size"
    "PXI Resources:BAR1 Address Size"
    uL readonly global 3FFF0232
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR2 Size"
    "PXI Resources:BAR2 Address Size"
    uL readonly global 3FFF0233
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR3 Size"
    "PXI Resources:BAR3 Address Size"
    uL readonly global 3FFF0234
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR4 Size"
    "PXI Resources:BAR4 Address Size"
    uL readonly global 3FFF0235
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."
 attribute: "BAR5 Size"
    "PXI Resources:BAR5 Address Size"
    uL readonly global 3FFF0236
    "This attribute specifies the requested address size of this device in the given space.  If the device does not request addresses in this space, the value is meaningless.  If this value cannot be safely determined, the value will be 0xFFFFFFFF."

 method: "VISA Assert Trigger" noInvoke
 method: "VISA In 32" noInvoke
 method: "VISA In 16" noInvoke
 method: "VISA In 8" noInvoke
 method: "VISA Out 32" noInvoke
 method: "VISA Out 16" noInvoke
 method: "VISA Out 8" noInvoke
 method: "VISA Map Address" noInvoke
 method: "VISA Unmap Address" noInvoke
 method: "VISA Peek 32" noInvoke
 method: "VISA Peek 16" noInvoke
 method: "VISA Peek 8" noInvoke
 method: "VISA Poke 32" noInvoke
 method: "VISA Poke 16" noInvoke
 method: "VISA Poke 8" noInvoke
 method: "VISA Move In 8" noInvoke
 method: "VISA Move In 16" noInvoke
 method: "VISA Move In 32" noInvoke
 method: "VISA Move Out 8" noInvoke
 method: "VISA Move Out 16" noInvoke
 method: "VISA Move Out 32" noInvoke

class: "Serial Instr"
super: "I/O Session"
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "IO Prot"
    "Message Based Settings:IO Protocol"
    uW enum {Normal=1, VXI/FDC=2, GPIB/HS488=3, Serial-TCPIP/488=4} readwrite local 3FFF001C
    "This attribute specifies which protocol to use.  In VXI, you can choose normal word serial or fast data channel.  In GPIB, you can choose normal or high-speed HS-488 transfers.  In serial or TCPIP, you can choose normal transfers or 488-defined strings."
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "Suppress End En"
    "Message Based Settings:Suppress End Enable"
    bool readwrite local 3FFF0036
    "This attribute specifies whether to ignore any END indicator on read operations."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."
 attribute: "Bytes at Port"
    "Serial Settings:Number of Bytes at Serial Port"
    uL readonly global 3FFF00AC
    "This attribute specifies the number of bytes currently available at the serial port used by this session."
 attribute: "Baud"
    "Serial Settings:Serial Baud Rate"
    uL readwrite global 3FFF0021
    "This attribute specifies the baud rate of the given communications port."
 attribute: "Data Bits"
    "Serial Settings:Serial Data Bits"
    uW readwrite global 3FFF0022
    "This attribute specifies the number of data bits contained in each frame."
 attribute: "Parity"
    "Serial Settings:Serial Parity"
    uW enum {None=0, Odd=1, Even=2, Mark=3, Space=4} readwrite global 3FFF0023
    "This attribute specifies the parity used with every frame that is transmitted or received.  Valid values are:  (0) Parity None, (1) Parity Odd, (2) Parity Even, (3) Parity Mark, (4) Parity Space."
 attribute: "Stop Bits"
    "Serial Settings:Serial Stop Bits"
    uW enum {1.0=10, 1.5=15, 2.0=20} readwrite global 3FFF0024
    "This attribute specifies the number of stop bits used to indicate the end of a frame.  Valid values are:  (10) Stop One, (15) Stop One-and-a-Half, (20) Stop Two."
 attribute: "Flow Cntrl"
    "Serial Settings:Serial Flow Control"
    uW enum {None=0, XON/XOFF=1, RTS/CTS=2, DTR/DSR=4} readwrite global 3FFF0025
    "This attribute specifies the flow control method used for both transmitting and receiving data.  Valid values are:  (0) Flow None, (1) Flow XON XOFF, (2) Flow RTS CTS, (4) Flow DTR DSR."
 attribute: "ASRL End In"
    "Serial Settings:Serial End Mode for Reads"
    uW enum {None=0, LastBit=1, TermChar=2} readwrite local 3FFF00B3
    "This attribute specifies the method used to terminate read operations.  Valid values are:  (0) End None, (1) End Last Bit, (2) End Termchar."
 attribute: "ASRL End Out"
    "Serial Settings:Serial End Mode for Writes"
    uW enum {None=0, LastBit=1, TermChar=2, Break=3} readwrite local 3FFF00B4
    "This attribute specifies the method used to terminate write operations.  Valid values are:  (0) End None, (1) End Last Bit, (2) End Add Termchar, (3) End Break."
 attribute: "XON Char"
    "Serial Settings:Flow Control XON Character"
    uB readwrite global 3FFF00C1
    "This attribute specifies the value of the XON character used for XON/XOFF flow control (both directions). If XON/XOFF flow control (software handshaking) is not being used, the value of this attribute is ignored."
 attribute: "XOFF Char"
    "Serial Settings:Flow Control XOFF Character"
    uB readwrite global 3FFF00C2
    "This attribute specifies the value of the XOFF character used for XON/XOFF flow control (both directions). If XON/XOFF flow control (software handshaking) is not being used, the value of this attribute is ignored."
 attribute: "Replace Char"
    "Serial Settings:Error Replacement Character"
    uB readwrite global 3FFF00BE
    "This attribute specifies the character to be used to replace incoming characters that arrive with errors (such as a parity error)."
 attribute: "Discard NUL"
    "Serial Settings:Discard NUL Characters"
    bool readwrite global 3FFF00B0
    "This attribute specifies whether to discard each data byte whose value is 0. If enabled, NUL characters are discarded. Otherwise, they are treated as normal data characters.  For binary transfers, disable this attribute."
 attribute: "Break Len"
    "Serial Settings:Break Length"
    iW readwrite local 3FFF01BD
    "This attribute controls the duration (in milliseconds) of the break signal asserted when ASRL End Out is set to Break(3). Valid values are 1-500."
 attribute: "Allow Transmit"
    "Serial Settings:Allow Transmit"
    bool readwrite global 3FFF01BE
    "If disabled (F), the serial port suspends transmission as if an XOFF character has been received. If enabled (T), it resumes transmission as if an XON character has been received.  If XON/XOFF flow control (software handshaking) is not being used, it is invalid to disable this attribute."
 attribute: "Wire Mode"
    "Serial Settings:Wire Mode"
    iW enum {Unknown=-1, Wire4=0, Wire2/EchoDTR=1, Wire2/CtrlDTR=2, Wire2/Auto=3} readwrite global 3FFF01BF
    "This attribute is valid only with the RS-485 serial driver developed by National Instruments, and sets the transceiver mode."
 attribute: "Break State"
    "Modem Line Settings:Break State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readwrite global 3FFF01BC
    "This attribute lets you manually control the serial port's break state.  If asserted, it suspends character transmission and places the transmission line in a break state until this attribute is unasserted. If you want VISA to send a break signal after each write operation automatically, use the Break Len and ASRL End Out properties instead."
 attribute: "CTS State"
    "Modem Line Settings:Line CTS State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF00AE
    "This attribute shows the current state of the Clear To Send (CTS) input signal."
 attribute: "DCD State"
    "Modem Line Settings:Line DCD State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF00AF
    "This attribute shows the current state of the Data Carrier Detect (DCD) input signal.  This is often used by modems to indicate the detection of a carrier (modem) on the phone line.  Also known as 'Receive Line Signal Detect (RLSD)."
 attribute: "DSR State"
    "Modem Line Settings:Line DSR State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF00B1
    "This attribute shows the current state of the Data Set Ready (DSR) input signal."
 attribute: "DTR State"
    "Modem Line Settings:Line DTR State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readwrite global 3FFF00B2
    "This attribute is used to manually assert or unassert the Data Terminal Ready (DTR) output signal."
 attribute: "RI State"
    "Modem Line Settings:Line RI State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF00BF
    "This attribute shows the current state of the Ring Indicator (RI) input signal. The RI signal is often used by modems to indicate that the telephone line is ringing."
 attribute: "RTS State"
    "Modem Line Settings:Line RTS State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readwrite global 3FFF00C0
    "This attribute is used to manually assert or unassert the Request To Send (RTS) output signal.  When the flow control is set to hardware handshaking, this attribute is ignored when changed."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke
 method: "VISA Clear" noInvoke
 method: "VISA Read STB" noInvoke
 method: "VISA Assert Trigger" noInvoke
 method: "VISA Set I/O Buffer Size" noInvoke
 method: "VISA Flush I/O Buffer" noInvoke

class: "TCP/IP Instr"
super: "I/O Session"
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."
 attribute: "TCP Addr"
    "TCP/IP Settings:TCP/IP Dot-Notation Address"
    string readonly global BFFF0195
    "This is the TCPIP address of the device to which the session is connected. This string is formatted in dot notation."
 attribute: "TCP Hostname"
    "TCP/IP Settings:TCP/IP Computer Hostname"
    string readonly global BFFF0196
    "This specifies the host name of the device. If no host name is available, this attribute returns an empty string."
 attribute: "TCP NoDelay"
    "TCP/IP Settings:TCP/IP No Packet Delay"
    bool readwrite local 3FFF019A
    "The Nagle algorithm is disabled when this attribute is enabled (and vice versa). The Nagle algorithm improves network performance by buffering written data until a full-size packet can be sent. This attribute is enabled by default in VISA to verify that writes get flushed immediately."
 attribute: "TCP KeepAlive"
    "TCP/IP Settings:TCP/IP Keep-Alive Packets"
    bool readwrite local 3FFF019B
    "An application can request that a TCP/IP provider enable the use of keep-alive packets on TCP connections by turning on this attribute. If a connection is dropped, the error code VI_ERROR_CONN_LOST is returned to I/O calls on the session."
 attribute: "TCP DevName"
    "TCP/IP Settings:TCP/IP LAN Device Name"
    string readonly global BFFF0199
    "This specifies the LAN device name used by the VXI-11 protocol (for example, inst0) during connection."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke
 method: "VISA Clear" noInvoke
 method: "VISA Read STB" noInvoke
 method: "VISA Assert Trigger" noInvoke
 method: "VISA Set I/O Buffer Size" noInvoke
 method: "VISA Flush I/O Buffer" noInvoke

// There are other I/O classes (MEMACC, INTFC, BACKPLANE, SERVANT, SOCKET)

class: "VXI/GPIB-VXI/VME MemAcc"
super: "I/O Session"
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Intf Parent Num"
    "Interface Information:Interface Number of Parent"
    uW readonly global 3FFF0101
    "This attribute value specifies the board number of the parent device."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readonly global 3FFF0172
    "This attribute value is the primary address of the GPIB controller used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readonly global 3FFF0173
    "This attribute value is the secondary address of the GPIB controller used by the given session.  If the controller does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "REN State"
    "GPIB Settings:REN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0181
    "This attribute returns the current state of the GPIB REN interface line."
 attribute: "Win Base Addr"
    "Register Based Settings:Window Base Address"
    uL readonly local 3FFF0098
    "This attribute value is the base interface address to which this window is mapped."
 attribute: "Win Size"
    "Register Based Settings:Window Size"
    uL readonly local 3FFF009A
    "This attribute value is the size of the region mapped to this window."
 attribute: "Win Access"
    "Register Based Settings:Window Access"
    uW readonly local 3FFF00C3
    "This attribute value reflects whether the current session has a mapped window, and if so, whether accesses through this window can be achieved through direct pointer dereferences."
 attribute: "Src Increment"
    "Register Based Settings:Source Increment Count"
    iL readwrite local 3FFF0040
    "This attribute specifies the number of elements by which to increment the source address on block move operations."
 attribute: "Dest Increment"
    "Register Based Settings:Destination Increment Count"
    iL readwrite local 3FFF0041
    "This attribute specifies the number of elements by which to increment the destination address on block move operations."
 attribute: "VXI LA"
    "VME/VXI Settings:VXI Logical Address"
    iW readonly global 3FFF00D5
    "This attribute value is the logical address of the local VXI controller."
 attribute: "Src Access Priv"
    "VME/VXI Settings:Source Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF003C
    "This attribute specifies the address modifier to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Access Priv"
    "VME/VXI Settings:Destination Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0039
    "This attribute specifies the address modifier to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Access Priv"
    "VME/VXI Settings:Window Access Privilege"
    uW enum {Data/Privileged=0, Data/NonPrivileged=1, Program/Privileged=2, Program/NonPrivileged=3, Block/Privileged=4, Block/NonPrivileged=5, D64/Privileged=6, D64/NonPrivileged=7} readwrite local 3FFF0045
    "This attribute specifies the address modifier to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."
 attribute: "Src Byte Order"
    "VME/VXI Settings:Source Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003D
    "This attribute specifies the byte order to be used in high-level access operations, such as viInXX() and viMoveInXX(), when reading from the source."
 attribute: "Dest Byte Order"
    "VME/VXI Settings:Destination Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF003A
    "This attribute specifies the byte order to be used in high-level access operations, such as viOutXX() and viMoveOutXX(), when writing to the destination."
 attribute: "Win Byte Order"
    "VME/VXI Settings:Window Byte Order"
    uW enum {BigEndian=0, LittleEndian=1} readwrite local 3FFF0047
    "This attribute specifies the byte order to be used in low-level access operations, such as viMapAddress(), viPeekXX() and viPokeXX(), when accessing the mapped window."

 method: "VISA In 32" noInvoke
 method: "VISA In 16" noInvoke
 method: "VISA In 8" noInvoke
 method: "VISA Out 32" noInvoke
 method: "VISA Out 16" noInvoke
 method: "VISA Out 8" noInvoke
 method: "VISA Map Address" noInvoke
 method: "VISA Unmap Address" noInvoke
 method: "VISA Peek 32" noInvoke
 method: "VISA Peek 16" noInvoke
 method: "VISA Peek 8" noInvoke
 method: "VISA Poke 32" noInvoke
 method: "VISA Poke 16" noInvoke
 method: "VISA Poke 8" noInvoke
 method: "VISA Move" noInvoke
 method: "VISA Move In 8" noInvoke
 method: "VISA Move In 16" noInvoke
 method: "VISA Move In 32" noInvoke
 method: "VISA Move Out 8" noInvoke
 method: "VISA Move Out 16" noInvoke
 method: "VISA Move Out 32" noInvoke

class: "VXI/GPIB-VXI Backplane"
super: "I/O Session"
 attribute: "Trigger Id"
    "General Settings:Trigger Identifier"
    iW enum {Software=-1, TTL0=0, TTL1=1, TTL2=2, TTL3=3, TTL4=4, TTL5=5, TTL6=6, TTL7=7, ECL0=8, ECL1=9} readwrite local 3FFF0177
    "This attribute specifies which trigger mechanism to use.  In VXI systems, for example, you can choose between software triggers and hardware triggers on a specific trigger line."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readonly global 3FFF0172
    "This attribute value is the primary address of the GPIB device used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readonly global 3FFF0173
    "This attribute value is the secondary address of the GPIB device used by the given session.  If the device does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "Intf Parent Num"
    "Interface Information:Interface Number of Parent"
    uW readonly global 3FFF0101
    "This attribute value specifies the board number of the parent device."
 attribute: "Mainframe LA"
    "VME/VXI Settings:Mainframe Logical Address"
    iW readonly global 3FFF0070
    "This attribute value is the lowest logical address in the mainframe in which the device resides."
 attribute: "VXI Trig Supp"
    "VME/VXI Settings:Supported VXI Trigger Lines"
    uL readonly global 3FFF0194
    "This attribute shows which VXI trigger lines this implementation supports. This is a bit vector with bits 0-9 corresponding to TTL0 through ECL1."
 attribute: "VXI Trig Status"
    "VME/VXI Settings:Asserted VXI Trigger Lines"
    uL readonly global 3FFF008D
    "This attribute shows the current state of the VXI trigger lines. This is a bit vector with bits 0-9 corresponding to TTL0 through ECL1."
 attribute: "VXI/VME Interrupt Status"
    "VME/VXI Settings:Asserted VXI/VME Interrupt Lines"
    uL readonly global 3FFF008B
    "This attribute shows the current state of the VXI/VME interrupt lines. This is a bit vector with bits 0-6 corresponding to interrupt lines 1-7."
 attribute: "VXI/VME Sysfail State"
    "VME/VXI Settings:VXI/VME System Failure State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0094
    "This attribute shows the current state of the VXI/VME SYSFAIL (SYStem FAILure) backplane line."

 method: "VISA Assert Trigger" noInvoke
 method: "VISA Assert Interrupt Signal" noInvoke
 method: "VISA Assert Utility Signal" noInvoke
 method: "VISA Map Trigger" noInvoke
 method: "VISA Unmap Trigger" noInvoke

class: "VXI Servant"
super: "I/O Session"
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "Device STB"
    "Message Based Settings:Device Status Byte"
    uB readwrite global 3FFF0189
    "This attribute specifies the 488-style status byte of the local controller or device associated with this session.  If this attribute is written and bit 6 (40h) is set, this device or controller will assert a service request (SRQ) on the interface."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."
 attribute: "Cmdr LA"
    "VME/VXI Settings:VXI Commander Logical Address"
    iW readonly global 3FFF006B
    "This attribute value is the logical address of the commander of the VXI device."
 attribute: "VXI LA"
    "VME/VXI Settings:VXI Logical Address"
    iW readonly global 3FFF00D5
    "This attribute value is the logical address of the VXI device."
 attribute: "VXI/VME Sysfail State"
    "VME/VXI Settings:VXI/VME System Failure State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0094
    "This attribute shows the current state of the VXI/VME SYSFAIL (SYStem FAILure) backplane line."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke
 method: "VISA Assert Interrupt Signal" noInvoke
 method: "VISA Assert Utility Signal" noInvoke

class: "GPIB BoardInterface"
super: "I/O Session"
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readwrite global 3FFF0172
    "This attribute value is the primary address of the GPIB interface used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readwrite global 3FFF0173
    "This attribute value is the secondary address of the GPIB interface used by the given session.  If the interface does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "ATN State"
    "GPIB Settings:Line ATN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0057
    "This attribute returns the current state of the GPIB ATN interface line."
 attribute: "NDAC State"
    "GPIB Settings:Line NDAC State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0062
    "This attribute returns the current state of the GPIB NDAC interface line."
 attribute: "REN State"
    "GPIB Settings:Line REN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0181
    "This attribute returns the current state of the GPIB REN interface line."
 attribute: "SRQ State"
    "GPIB Settings:Line SRQ State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0067
    "This attribute returns the current state of the GPIB SRQ interface line."
 attribute: "CIC State"
    "GPIB Settings:GPIB CIC State"
    bool readonly global 3FFF005E
    "This attribute shows whether the specified GPIB interface is currently CIC (Controller In Charge)."
 attribute: "SysCntrl State"
    "GPIB Settings:GPIB System Controller State"
    bool readwrite global 3FFF0068
    "This attribute shows whetehr the specified GPIB interface is currently the system controller."
 attribute: "Address State"
    "GPIB Settings:GPIB Addressed State"
    uW enum {Unaddressed=0, Talker=1, Listener=2} readonly global 3FFF005C
    "This attribute shows whether the specified GPIB interface is currently addressed to talk (1) or listen (2), or is not addressed (0)."
 attribute: "HS488 Cbl Len"
    "GPIB Settings:HS488 Cable Length"
    iW readwrite global 3FFF0069
    "This attribute specifies the total number of meters (1-15) of GPIB cable used in the specified GPIB interface.  The value 0 means that HS488 is disabled, and -1 means HS488 is not implemented."
 attribute: "IO Prot"
    "Message Based Settings:IO Protocol"
    uW enum {Normal=1, VXI/FDC=2, GPIB/HS488=3, Serial-TCPIP/488=4} readwrite local 3FFF001C
    "This attribute specifies which protocol to use.  In VXI, you can choose normal word serial or fast data channel.  In GPIB, you can choose normal or high-speed HS-488 transfers.  In serial or TCPIP, you can choose normal transfers or 488-defined strings."
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "Device STB"
    "Message Based Settings:Device Status Byte"
    uB readwrite global 3FFF0189
    "This attribute specifies the 488-style status byte of the local controller or device associated with this session.  If this attribute is written and bit 6 (40h) is set, this device or controller will assert a service request (SRQ) on the interface."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke
 method: "VISA Assert Trigger" noInvoke
 method: "VISA GPIB Control ATN" noInvoke
 method: "VISA GPIB Control REN" noInvoke
 method: "VISA GPIB Pass Control" noInvoke
 method: "VISA GPIB Send IFC" noInvoke
 method: "VISA GPIB Command" noInvoke

class: "GPIB Servant"
super: "I/O Session"
 attribute: "Allow DMA"
    "General Settings:Allow DMA Transfers"
    bool readwrite local 3FFF001E
    "This attribute specifies whether I/O accesses should attempt to use DMA (T) or Programmed I/O (F).  In some implementations, this attribute may have global effects even though it is documented to be a local attribute."
 attribute: "Primary Addr"
    "GPIB Settings:Primary Address"
    uW readwrite global 3FFF0172
    "This attribute value is the primary address of the GPIB interface used by the given session."
 attribute: "Secondary Addr"
    "GPIB Settings:Secondary Address"
    uW readwrite global 3FFF0173
    "This attribute value is the secondary address of the GPIB interface used by the given session.  If the interface does not have a secondary address, then the value of this attribute is 0xFFFF."
 attribute: "REN State"
    "GPIB Settings:Line REN State"
    iW enum {Unknown=-1, Unasserted=0, Asserted=1} readonly global 3FFF0181
    "This attribute returns the current state of the GPIB REN interface line."
 attribute: "IO Prot"
    "Message Based Settings:IO Protocol"
    uW enum {Normal=1, VXI/FDC=2, GPIB/HS488=3, Serial-TCPIP/488=4} readwrite local 3FFF001C
    "This attribute specifies which protocol to use.  In VXI, you can choose normal word serial or fast data channel.  In GPIB, you can choose normal or high-speed HS-488 transfers.  In serial or TCPIP, you can choose normal transfers or 488-defined strings."
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "Device STB"
    "Message Based Settings:Device Status Byte"
    uB readwrite global 3FFF0189
    "This attribute specifies the 488-style status byte of the local controller or device associated with this session.  If this attribute is written and bit 6 (40h) is set, this device or controller will assert a service request (SRQ) on the interface."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."
 attribute: "Address State"
    "GPIB Settings:GPIB Addressed State"
    uW enum {Unaddressed=0, Talker=1, Listener=2} readonly global 3FFF005C
    "This attribute shows whether the specified GPIB interface is currently addressed to talk (1) or listen (2), or is not addressed (0)."
 attribute: "HS488 Cbl Len"
    "GPIB Settings:HS488 Cable Length"
    iW readwrite global 3FFF0069
    "This attribute specifies the total number of meters (1-15) of GPIB cable used in the specified GPIB interface.  The value 0 means that HS488 is disabled, and -1 means HS488 is not implemented."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke

class: "TCP/IP Socket"
super: "I/O Session"
 attribute: "IO Prot"
    "Message Based Settings:IO Protocol"
    uW enum {Normal=1, VXI/FDC=2, GPIB/HS488=3, Serial-TCPIP/488=4} readwrite local 3FFF001C
    "This attribute specifies which protocol to use.  In VXI, you can choose normal word serial or fast data channel.  In GPIB, you can choose normal or high-speed HS-488 transfers.  In serial or TCPIP, you can choose normal transfers or 488-defined strings."
 attribute: "Send End En"
    "Message Based Settings:Send End Enable"
    bool readwrite local 3FFF0016
    "This attribute specifies whether to send an END indicator on the last byte of each write operation."
 attribute: "TermChar"
    "Message Based Settings:Termination Character"
    uB readwrite local 3FFF0018
    "This attribute specifies a character that, when read, causes a read operation to terminate.  The termination character must also be enabled."
 attribute: "TermChar En"
    "Message Based Settings:Termination Character Enable"
    bool readwrite local 3FFF0038
    "This attribute specifies whether a read operation should terminate when the termination character is received."
 attribute: "File Append En"
    "Message Based Settings:File Append Enable"
    bool readwrite local 3FFF0192
    "This attribute specifies whether VISA Read To File will overwrite (truncate) or append when opening a file."
 attribute: "TCP Addr"
    "TCP/IP Settings:TCP/IP Dot-Notation Address"
    string readonly global BFFF0195
    "This is the TCPIP address of the device to which the session is connected. This string is formatted in dot notation."
 attribute: "TCP Hostname"
    "TCP/IP Settings:TCP/IP Computer Hostname"
    string readonly global BFFF0196
    "This specifies the host name of the device. If no host name is available, this attribute returns an empty string."
 attribute: "TCP Port"
    "TCP/IP Settings:TCP/IP Port Number"
    uW readonly global 3FFF0197
    "This specifies the port number for a given TCPIP address. For a TCPIP SOCKET resource, this is a required part of the address/resource string."
 attribute: "TCP NoDelay"
    "TCP/IP Settings:TCP/IP No Packet Delay"
    bool readwrite local 3FFF019A
    "The Nagle algorithm is disabled when this attribute is enabled (and vice versa). The Nagle algorithm improves network performance by buffering written data until a full-size packet can be sent. This attribute is enabled by default in VISA to verify that writes get flushed immediately."
 attribute: "TCP KeepAlive"
    "TCP/IP Settings:TCP/IP Keep-Alive Packets"
    bool readwrite local 3FFF019B
    "An application can request that a TCP/IP provider enable the use of keep-alive packets on TCP connections by turning on this attribute. If a connection is dropped, the error code VI_ERROR_CONN_LOST is returned to I/O calls on the session."

 method: "VISA Read" noInvoke
 method: "VISA Write" noInvoke
 method: "VISA Read To File" noInvoke
 method: "VISA Write From File" noInvoke
 method: "VISA Clear" noInvoke
 method: "VISA Read STB" noInvoke
 method: "VISA Assert Trigger" noInvoke

// Next are the Event classes

class: "Event Class"
super: "VISA object"
flags: 2
 attribute: "Impl Version"
    "Version Information:Version of Implementation"
    uL readonly  global 3FFF0003
    "This attribute is the version that uniquely identifies each of the different revisions or implementations.  This attribute is defined by the individual manufacturer and increments with each new revision."
 attribute: "Spec Version"
    "Version Information:Version of Specification"
    uL readonly  global 3FFF0170
    "This attribute is the version that uniquely identifies the version of the VTL or VISA specification to which the implementation is compliant."
 attribute: "Rsrc Manf Id"
    "Version Information:Resource Manufacturer Identification"
    uW readonly global 3FFF0175
    "This attribute value corresponds to the VXI manufacturer ID of the manufacturer that created the VTL or VISA implementation."
 attribute: "Rsrc Manf Name"
    "Version Information:Resource Manufacturer Name"
    string readonly global BFFF0174
    "This attribute is the name of the manufacturer that created the implementation."

class: "Generic Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."
 attribute: "Recv Trig ID"
    "Event Information:Received Trigger ID"
    iW enum {Software=-1, TTL0=0, TTL1=1, TTL2=2, TTL3=3, TTL4=4, TTL5=5, TTL6=6, TTL7=7, ECL0=8, ECL1=9} readonly local 3FFF4012
    "This attribute identifies the triggering mechanism on which the specified trigger event was received.  This is valid for the Trigger Event only."
 attribute: "Sig Stat ID"
    "Event Information:Signal Processor Status ID"
    uW readonly local 3FFF4011
    "This attribute is the 16-bit Status/ID value retrieved during the IACK cycle or from the Signal register.  This is valid for the VXI Signal Event only."
 attribute: "Intr Stat ID"
    "Event Information:Interrupt Status ID"
    uL readonly local 3FFF4023
    "This attribute value is the 32-bit status/ID retrieved during the IACK cycle.  This is valid for the VXI/VME Interrupt Event only."
 attribute: "Recv Intr Level"
    "Event Information:Received Interrupt Level"
    iW readonly local 3FFF4041
    "This attribute value is the VXI interrupt level on which the interrupt was received.  This is valid for the VXI/VME Interrupt Event only."
 attribute: "Recv CIC State"
    "Event Information:Received CIC State"
    iW readonly local 3FFF4193
    "This attribute specifies whether the CIC status was gained or lost.  This is valid for the GPIB CIC Event only."

class: "Service Request Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."

class: "Trigger Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."
 attribute: "Recv Trig ID"
    "Event Information:Received Trigger ID"
    iW enum {Software=-1, TTL0=0, TTL1=1, TTL2=2, TTL3=3, TTL4=4, TTL5=5, TTL6=6, TTL7=7, ECL0=8, ECL1=9} readonly local 3FFF4012
    "This attribute identifies the triggering mechanism on which the specified trigger event was received.  This is valid for the Trigger Event only."

class: "VXI Signal Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."
 attribute: "Sig Stat ID"
    "Event Information:Signal Processor Status ID"
    uW readonly local 3FFF4011
    "This attribute is the 16-bit Status/ID value retrieved during the IACK cycle or from the Signal register.  This is valid for the VXI Signal Event only."

class: "VXI/VME Interrupt Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."
 attribute: "Intr Stat ID"
    "Event Information:Interrupt Status ID"
    uL readonly local 3FFF4023
    "This attribute value is the 32-bit status/ID retrieved during the IACK cycle.  This is valid for the VXI/VME Interrupt Event only."
 attribute: "Recv Intr Level"
    "Event Information:Received Interrupt Level"
    iW readonly local 3FFF4041
    "This attribute value is the VXI interrupt level on which the interrupt was received.  This is valid for the VXI/VME Interrupt Event only."

class: "PXI Interrupt Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."

class: "Clear Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."

class: "GPIB CIC Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."
 attribute: "Recv CIC State"
    "Event Information:Received CIC State"
    iW readonly local 3FFF4193
    "This attribute specifies whether the CIC status was gained or lost.  This is valid for the GPIB CIC Event only."

class: "GPIB Talk Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."

class: "GPIB Listen Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."

class: "VXI/VME Sysfail Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."

class: "VXI/VME Sysreset Event"
super: "Event Class"
flags: 4
 attribute: "Event Type"
    "Event Information:Event Type"
    uL enum {ServiceRequest=1073684491, Trigger=3221168138, Clear=3FFF200D, VXI-Signal=1073684512, VXI/VME-Interrupt=3221168161, VXI/VME-Sysfail=3FFF201D, VXI/VME-Sysreset=3FFF201E, GPIB-CIC=3FFF2012, GPIB-Talk=3FFF2013, GPIB-Listen=3FFF2014, PXI-Interrupt=1073684514, AllEnabled=1073709055} readonly local 3FFF4010
    "This attribute is the unique logical identifier for the event type of the specified event."

// Finally, there is the Resource Manager class

class: "Resource Manager"
super: "VISA object"
 attribute: "User Data"
    "General Settings:User Data"
    uL readwrite local 3FFF0007
    "This attribute is a data value for the private use of an application, and is unique per session.  This attribute is not used by VTL or VISA for any purpose."
 attribute: "Impl Version"
    "Version Information:Version of Implementation"
    uL readonly  global 3FFF0003
    "This attribute is the version that uniquely identifies each of the different revisions or implementations.  This attribute is defined by the individual manufacturer and increments with each new revision."
 attribute: "Spec Version"
    "Version Information:Version of Specification"
    uL readonly  global 3FFF0170
    "This attribute is the version that uniquely identifies the version of the VTL or VISA specification to which the implementation is compliant."
 attribute: "Rsrc Manf Id"
    "Version Information:Resource Manufacturer Identification"
    uW readonly global 3FFF0175
    "This attribute value corresponds to the VXI manufacturer ID of the manufacturer that created the VTL or VISA implementation."
 attribute: "Rsrc Manf Name"
    "Version Information:Resource Manufacturer Name"
    string readonly global BFFF0174
    "This attribute is the name of the manufacturer that created the implementation."
