Protogate, Inc.12225 World Trade Drive, Suite RSan Diego, CA 92128ICP2432 User’s Guidefor OpenVMS Alpha(DLITE Interface)DC 900-1516DFebruary 2002
10 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)
100 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)6.5 ICPLOAD Callable RoutinesThe ICPLOAD.OLB file includes several routines th
6: ICPLOAD UtilityDC 900-1516D 1016.5.1.1 icpresetThis routine causes an ICP to be reset and prepared for a download operation. Formatint icpreset (ch
102 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)6.5.1.2 icploadThis routine causes a file to be downloaded to the ICP. This ro
6: ICPLOAD UtilityDC 900-1516D 1036.5.1.3 icpstartThis routine is used to cause an ICP to begin execution of the downloaded code. Formatint icpstart(
104 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)
DC 900-1516D 105IndexAAlways QIO support 39Applicationhow to build for DLITE 41Application interface 55Assign a channel 61ATTACH command 77Audience 11
106 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)building DLITE application 41configuration files 49download select flag 31embe
IndexDC 900-1516D 107ICPLOADcallable routines 100source code 20ICPLOAD commands 92ICPLOAD components 89icpload routine 102ICPLOAD.EXE 91ICPLOADVMS.COM
108 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)icpload 102icpreset 101icpstart 103SSession commands, DLI 76Session interface,
ICP2432 User’s Guide for OpenVMS Alpha(DLITE Interface)DC 900-1516DCustomer Report FormWe are constantly improving our products. If you have suggestio
DC 900-1516D 11PrefacePurpose of DocumentThis document describes how to use the ICP2432 intelligent communications processor(ICP) in a peripheral comp
Protogate, Inc.Customer Service12225 World Trade Drive, Suite RSan Diego, CA 92128
12 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)Protogate ReferencesThe following documents provide useful supporting informati
PrefaceDC 900-1516D 13• Getting Started with Freeway 2000/4000 DC 900-1330• Getting Started with Freeway 8800 DC 900-1552• Loopback Test Procedures DC
14 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)Document ConventionsThe term “ICP,” as used in this document, refers to the phy
PrefaceDC 900-1516D 15You can also fax your questions to us at (877) 473-0190 any time. Please include a coversheet addressed to “Customer Service.”We
16 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)
DC 900-1516D 17Chapter1Product OverviewThe Protogate ICP2432 data communications product allows PCIbus computers run-ning the VMS operating system to
18 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)Figure 1–1: Typical Data Communications System ConfigurationHost Driver(ZJDRIVE
DC 900-1516D 19Chapter2Software InstallationA typical software installation may contain two or more distribution media packages(tapes, CDs, and so on)
Protogate, Inc.12225 World Trade Drive, Suite RSan Diego, CA 92128(858) 451-0865ICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)© 2002 Protoga
20 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)2.1 Device Driver Installation ProcedureThe ICP2432 driver (ZJDRIVER) uses the
2: Software InstallationDC 900-1516D 212.2 Protocol Software Installation ProcedureThe software installation procedures described in this section refe
22 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)The following files are in the FREEWAY directory:• README.ppp provides general
2: Software InstallationDC 900-1516D 232.3 Software Installation Procedure (VMSINSTAL tape)The software distribution media contains several VMS BACKUP
24 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)The computer checks the following conditions:• Are you logged in to the system
2: Software InstallationDC 900-1516D 25For DDCU, substitute a device name such as MUA0, MKA100, DUAl, or something sim-ilar. Step 6: The computer disp
26 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)* Is this acceptable [Y]? yRemember that DDCU means a device name. Press <re
2: Software InstallationDC 900-1516D 272.4 Software Installation Procedure (VMS BACKUP saveset)Some software distributions or updates from Protogate m
28 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)Step 2: Use FTP in binary (image) mode to copy the saveset (BCK file) from your
2: Software InstallationDC 900-1516D 292.5 Loading the ICP2432 DriverThe following procedure describes how to load the VMS device driver (ZJDRIVER) fo
DC 900-1516D 3ContentsList of Figures 7List of Tables 9Preface 111 Product Overview 172 Software Installation 192.1 Device Driver Installation Procedu
30 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)SYSMAN-I-OUTPUT, command execution on node GABINSYSMAN-I-IOPREFIX, the current
2: Software InstallationDC 900-1516D 312.6 Loading the Protocol SoftwareThe following procedure describes how to load the protocol software into the I
32 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)NoteICPLOADVMS searches for the script file and the installed protocolsoftware
2: Software InstallationDC 900-1516D 33$! Download Protocol Software$!$! $ICPLOADVMS device-name download-script-file dlite-flag$!$!$ ICPLOADVMS ZJA0
34 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)
DC 900-1516D 35Chapter3Programming Using the DLITE Embedded InterfaceTec hp ub s — Terminology Cautions: 1) use blocking and non-blocking I/O (instead
36 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)DLITE, developers can concentrate on the communication requirements of theICP24
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 37Instead, the embedded application using DLITE communicates directly with theOpenVMS IC
38 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)3.3 DLITE InterfaceThe DLITE interface is described here in terms of enhanced c
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 39vious writes are not posted as complete until DLI receives this LocalAck, then theLoca
4 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)3.3.1.7 Blocking I/O... 403.3.1.8 Multithreaded Support.
40 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)3.3.1.5 dlInit Function No Longer ImpliedDLI allowed users to perform dlOpen be
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 413.3.2 The Application Program’s Interface to DLITEExcept where described in the previo
42 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)• dlWriteUsing non-blocking I/O, a successful operation returns OK, and dlerrno
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 43User requests are verified against the MaxBufs and MaxBufSize DLITE configurationparam
44 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)buffer is indeed freed. Any further reference to the buffer results in unpredic
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 45NoteThe DLI_POLL_TRACE_STORE poll request is not supported byDLITE.Cancel Processing u
46 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)returned. Returning the cancelled request reduces the number of I/O completions
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 47NoteAs with the DLI interface, read requests with a NULL bufferpointer result in DLITE
48 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)5. DLITE adds ICP->iStatus = LittleEndian ? htons (0x4000) : htons (0);6. DL
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 49There is no difference between the “main” callback and the “session” callback. They ar
ContentsDC 900-1516D 54.3.2 Use Of Node Numbers (DLI)... 754.3.2.1 Node 1... 764.3.2.2 Node 2...
50 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)Table 3–1: DLITE Error CodesValue DLITE Error Code Description and Recommended
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 51Table 3–2: VMS Errors Mapped to dlerrnoVMS Error Code Applicable dlerrno CodesSS$IVMO
52 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)is returned in the usMaxBufs field of the configuration parameters returned inr
3: Programming Using the DLITE Embedded InterfaceDC 900-1516D 533.3.4.1 Common Logging Service ErrorsAn application can encounter several errors relat
54 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)
DC 900-1516D 55Chapter4Application InterfaceProgrammers who prefer not to use the DLITE embedded interface (described inChapter 3) have the option of
56 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)the QIO read path and are not associated with any command sent by the program.A
4: Application InterfaceDC 900-1516D 57Your VMS system must have available PCIbus slots in order to use the ICP2432 boards.After the device driver is
58 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)4.1.1 Channel AssignmentThe VMS application program must assign a channel to th
4: Application InterfaceDC 900-1516D 594.1.2.2 I/O Status Block (IOSB)The programmer should always check the status field (first word) of the I/O Stat
6 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)Index 105
60 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)transfers include at least a protocol header, each buffer read from the ICP con
4: Application InterfaceDC 900-1516D 61have the ability to revert to an earlier node number scheme used by Simpact’s ICP3222and Digital’s Commserver p
62 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)4.2.2 SYS$CANCELTo cancel all active or pending read or write requests associat
4: Application InterfaceDC 900-1516D 634.2.4 SYS$QIO(W)To issue VMS read or write I/O calls, the client application issues the VMS SYS$QIOWor SYS$QIO
64 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)3. IO$_STARTMPROC4. IO$_READVBLK, IO$_READLBLK, IO$_READPBLK5. IO$_WRITEVBLK, I
4: Application InterfaceDC 900-1516D 654.2.4.1 IO$_INITIALIZE[|IO$M_NOWAIT]The IO$_INITIALIZE function initializes the ICP2432.Condition Values Return
66 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)4.2.4.2 IO$_LOADMCODEThe IO$_LOADMCODE function loads a software block onto the
4: Application InterfaceDC 900-1516D 674.2.4.3 IO$_STARTMPROCThe IO$_STARTMPROC function starts the ICP2432 software.Condition Values ReturnedSS$_NORM
68 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)4.2.4.4 IO$_STARTDATAThe IO$_STARTDATA function sets the node number of the rea
4: Application InterfaceDC 900-1516D 694.2.4.5 IO$_SENSEMODEThe IO$_SENSEMODE function returns the driver information. Condition Value ReturnedSS$_NOR
DC 900-1516D 7List of FiguresFigure 1–1: Typical Data Communications System Configuration ... 18Figure 3–1: DLI/TSI Interface in the Freeway S
70 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)typedef struct {int TimeoutValue; /* Timeout value for the SingleStepDriver */
4: Application InterfaceDC 900-1516D 714.2.4.6 IO$_READxBLK[|IO$M_ABORT]The IO$_READxBLK function reads a packet from the ICP2432 firmware. TheIO$_RE
72 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)DescriptionThe driver accesses user virtual address space (specified by the P1
4: Application InterfaceDC 900-1516D 734.2.4.7 IO$_WRITExBLK[|IO$M_ABORT]The IO$_WRITExBLK function writes a packet to the ICP2432 firmware. TheIO$_W
74 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)DescriptionThe driver accesses user virtual address space (specified by the P1
4: Application InterfaceDC 900-1516D 754.3 DLI Session InterfaceProtogate protocols designed for use on ICP2432 boards use a session-based method ofco
76 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)4.3.2.1 Node 1Node 1 is the primary node number to which all data is written. T
4: Application InterfaceDC 900-1516D 774.3.3.1 ATTACH CommandThe ATTACH command creates a session between your program and the protocol soft-ware on t
78 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)4.3.3.2 DETACH CommandThe DETACH command closes an individual session between y
4: Application InterfaceDC 900-1516D 794.3.3.3 TERMINATE CommandThe TERMINATE command closes all sessions that use a particular read node number.The f
8 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)
80 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)Follow these steps to use the node auto-assignment:1. Download the protocol sof
4: Application InterfaceDC 900-1516D 81mends that you use the DLI session interface so that you can also use the protocol imagein a Freeway environmen
82 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)
DC 900-1516D 83Chapter5ICP Packet FormatsThis chapter describes the packet formats used by Protogate protocols. The packetformats that are written to
84 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)typedef struct _ICP_PACKET{ICP_HDR icp_hdr; /* Network-ordered header */PROT_
5: ICP Packet FormatsDC 900-1516D 855.2 DLI Optional ArgumentsA program using the full DLI library interface to an ICP on a Freeway server is notallow
86 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)typedef struct _DLI_OPT_ARGS{unsigned short usFWPacketType; /* Server's p
5: ICP Packet FormatsDC 900-1516D 87Table 5–1: Comparison of DLI_OPT_ARGS and ICP_PACKET StructuresDLI_OPT_ARGS field nameICP_PACKET field name Field
88 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)
DC 900-1516D 89Chapter6ICPLOAD UtilityThis chapter describes how to use the ICPLOAD program to download the ICP-residentapplication to the ICP and get
DC 900-1516D 9List of TablesTable 2–1: Protocol Identifiers... 21Table 3–1: DLITE Error Codes...
90 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)6.2 OS/Impact and Downloaded FilesSoftware on the ICP2432 executes under contro
6: ICPLOAD UtilityDC 900-1516D 916.4 Using ICPLOAD.EXE6.4.1 Invoking ICPLOAD via the RUN CommandICPLOAD.EXE may be invoked via a RUN command from VMS’
92 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)In the preceding examples, the symbol LDICP was chosen arbitrarily; you can rep
6: ICPLOAD UtilityDC 900-1516D 93The usual sequence of commands for downloading an ICP is:• RESET the device• LOAD the files to the ICP; the ICP-resid
94 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)6.4.3.1 HELPThis command provides help at the ICPLOAD command prompt. FormatHEL
6: ICPLOAD UtilityDC 900-1516D 956.4.3.2 RESETThis command performs a hardware reset of the ICP. Format RESET device_nameParameters device_nameThis pa
96 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)6.4.3.3 LOADThis command transfers the ICP-resident software from a file on the
6: ICPLOAD UtilityDC 900-1516D 976.4.3.4 STARTThis command causes the ICP to begin execution of the downloaded software.Format START device_name /STAR
98 DC 900-1516DICP2432 User’s Guide for OpenVMS Alpha (DLITE Interface)6.4.3.5 GETThis command gets the driver’s timeout value (in seconds) for the Si
6: ICPLOAD UtilityDC 900-1516D 996.4.3.6 SETThis command sets the driver’s timeout value (in seconds) for the SingleStep debugger. Format SET device_n
Comentarios a estos manuales