X25AM Programming Manual Abstract This manual describes the programming requirements for developing an X25AM application. Product Version X25AM D10 X25AM F40 Supported Release Version Updates (RVUs) This manual supports D10.00 and all subsequent D-series RVUs and G02.00 and all subsequent G-series RVUs, until otherwise indicated in a new edition.
Document History Part Number Product Version Published 065306 X25AM C30.
X25AM Programming Manual Glossary Index What’s New in This Manual xi Manual Information xi New and Changed Information Examples Figures Tables xi About This Manual xiii Who Should Use This Manual xiii How This Manual is Organized xiii Related Manuals xiv Notation Conventions xiv 1.
1. Introduction (continued) Contents 1.
2. ITI Applications (continued) Contents 2. ITI Applications (continued) Terminal Reset 2-14 Optimizing Output Data from 6530 Terminals 2-14 Data Processing 2-16 Forwarding Data from the PAD 2-16 Data Packetizing by ITI 2-17 Disposition of Terminal Control Characters by ITI 2-18 ITI Application Programming 2-20 ITI Programming Tasks 2-20 ITI Procedure Statements Summary 2-25 ITI Programming Example 2-45 3.
3. PTP Applications (continued) Contents 3. PTP Applications (continued) Start the Data Exchange (Use Mode 2) 3-54 Wait for the Data Exchange (Use Mode 2) 3-55 Start the Data Exchange (Use Mode 3) 3-57 Wait for the Data Exchange (Use Mode 3) 3-59 Programming Example Written in TAL 3-60 About The TAL Example 3-60 Text of TAL Example 3-62 Programming Example Written in C 3-71 About The C Example 3-71 Text of C Example 3-72 4.
4. X3PAD Interface (continued) Contents 4. X3PAD Interface (continued) SYSTEM Command VOLUME Command X3PAD Example 4-23 4-23 4-23 5. Errors and Error Recovery for ITI and PTP Error Definition 5-1 X25AM Errors and Error Descriptions Suggested Recovery Action 5-4 5-1 A.
A. Procedures Summary for X25AM (continued) Contents A. Procedures Summary for X25AM (continued) SETPARAM 7 A-13 SETPARAM 8 A-14 SETPARAM 9 A-14 SETPARAM 21 A-15 SETPARAM 22 A-16 SETPARAM 23 A-16 SETPARAM 29 A-16 SETPARAM 30 A-17 SETPARAM 31 A-17 SETPARAM 32 A-17 SETPARAM 33 A-18 SETPARAM 34 A-18 SETPARAM 35 A-18 SETPARAM 36 A-19 SETPARAM 37 A-19 SETPARAM 38 A-20 SETPARAM 39 A-20 SETPARAM 40 A-20 SETPARAM 41 A-21 B.
Figures Contents Figures Figure 1-1. Figure 1-2. Figure 1-3. Figure 1-4. Figure 1-5. Figure 2-1. Figure 2-2. Figure 2-3. Figure 2-4. Figure 2-5. Figure 2-6. Figure 2-7. Figure 3-1. Figure 3-2. Figure 3-3. Figure 4-1. Figure 4-2. Figure 5-1. Figure A-1.
Tables (continued) Contents Tables (continued) Table 3-1. Table 3-2. Table 3-3. Table 3-4. Table 3-5. Table 3-6. Table 3-7. Table 3-8. Table 3-9. Table 3-10. Table 3-11. Table 3-12. Table 3-13. Table 4-1. Table 4-2. Table 4-3. Table 4-4. Table 4-5. Table 4-6. Table 4-7. Table 4-8. Table 4-9. Table 4-10. Table 4-11. Table 4-12. Table 4-13. Table 4-14. Table 4-15. Table 4-16. Table 4-17. Table 5-1. Table 5-2. Table 5-3. Table A-1. Table A-2. Table A-3. Table A-4.
Tables (continued) Contents Tables (continued) Table A-5. Table A-6. Table A-7. Table C-1. Table C-2.
Contents X25AM Programming Manual—527201-001 x
What’s New in This Manual Manual Information X25AM Programming Manual Abstract This manual describes the programming requirements for developing an X25AM application. Product Version X25AM D10 X25AM F40 Supported Release Version Updates (RVUs) This manual supports D10.00 and all subsequent D-series RVUs and G02.00 and all subsequent G-series RVUs, until otherwise indicated in a new edition.
New and Changed Information What’s New in This Manual • • • • • • • Removed the obsolete reference to SHORTPOOL in The Two-Step Read on page 3-23. Modified the Errors and Error Description for S-Series systems in Guardian Errors Returned by X25AM and Descriptions on page 5-2, Errors Requiring ApplicationDependent Recovery on page 5-4, and Errors Not Requiring ApplicationDependent Recovery on page 5-5.
About This Manual This manual describes programming considerations for X25AM, which is the HP access method for public and private X.25 packet-switched networks for NonStop servers. Who Should Use This Manual • • Application programmers who develop applications supported by X25AM System administrators who install and manage X25AM and X3PAD applications The operations staff and the application programmers will need a working knowledge of X.25 and X.25 packet-switched networks to use this manual.
Related Manuals About This Manual Section Title A Procedures Summary for X25AM B C Description Diagnostic Codes for X25AM D-Series Supplement for X25AM Glossary • • • • • • Summarizes Guardian procedure calls used in an X25AM application program. Alphabetical listing of X25AM procedure statements. Summarizes diagnostic codes that X25AM can insert into a diagnostic packet. Organized numerically by code type. Summarizes changes for D-series RVUs. Defines terms used in this manual.
General Syntax Notation About This Manual General Syntax Notation This list summarizes the notation conventions for syntax presentation in this manual. UPPERCASE LETTERS. Uppercase letters indicate keywords and reserved words. Type these items exactly as shown. Items not enclosed in brackets are required. For example: MAXATTACH lowercase italic letters. Lowercase italic letters indicate variable items that you supply. Items not enclosed in brackets are required. For example: file-name computer type.
General Syntax Notation About This Manual | Vertical Line. A vertical line separates alternatives in a horizontal list that is enclosed in brackets or braces. For example: INSPECT { OFF | ON | SAVEABEND } … Ellipsis. An ellipsis immediately following a pair of brackets or braces indicates that you can repeat the enclosed sequence of syntax items any number of times.
Notation for Messages About This Manual !i,o. In procedure calls, the !i,o notation follows an input/output parameter (one that both passes data to the called procedure and returns data to the calling program). For example: error := COMPRESSEDIT ( filenum ) ; !i:i. !i,o In procedure calls, the !i:i notation follows an input string parameter that has a corresponding parameter specifying the length of the string in bytes.
Notation for Management Programming Interfaces About This Manual horizontally, enclosed in a pair of brackets and separated by vertical lines. For example: proc-name trapped [ in SQL | in SQL file system ] { } Braces. A group of items enclosed in braces is a list of all possible items that can be displayed, of which one is actually displayed.
Change Bar Notation About This Manual !o. The !o notation following a token or field name indicates that the token or field is optional. For example: ZSPI-TKN-MANAGER token-type ZSPI-TYP-FNAME32. !o Change Bar Notation Change bars are used to indicate substantive differences between this manual and its preceding version. Change bars are vertical rules placed in the right margin of changed portions of text, figures, tables, examples, and so on. Change bars highlight new or revised information.
Change Bar Notation About This Manual X25AM Programming Manual—527201-001 xx
1 Introduction This section describes the X25AM process. The other topics covered in this section include: Topic Page Call Setup, Data Transfer, and Call Clearing 1-2 Assigning Incoming Calls 1-5 Call Setup and Call Clearing Packets 1-6 Subscription Parameters 1-13 Per Call Facilities 1-16 Other X25AM Connection Methods 1-19 The Modem Interface 1-20 About the X25AM Process X25AM, an I/O process, controls a communication line to an X.25 packet-switched network.
Application Protocols Introduction Table 1-1 lists the most important file-system procedures used in your application. Table 1-1. File-system Procedures Used in an X25AM Application Procedure Use OPEN Open a subdevice. Use the file number for all other file-system procedures. CONTROL 11 Wait to be called. CONTROL 17 Make a call. READ Process an incoming message. WRITE Send a message (does not require a reply). WRITEREAD Send a message (requires a reply).
Port Numbers and Subaddressing Introduction Figure 1-1.
Port Numbers and Subaddressing Introduction Figure 1-2. DTE Address, Port Number, and Called Address DTE Address: Port Number: 12345678 99 Called Addreses: DTE addess plus port number. 1234567899 DTE #12345678--PORT #99--Subdevice A VST0102.vsd On X.25 links there can be more than one port number associated with each DTE address. Figure 1-3 shows multiple ports for one DTE address. Figure 1-3.
Assigning Incoming Calls Introduction Figure 1-4. DTE Address, Port Numbers, Subdevices, and Called Address Application Subdevice A PORT #99 Subdevice B DTE #12345678 DTE Address: 12345678 Port Number: 99 Port Number: 88 Called 1234567899 Addreses: 1234567888 PORT #88 Subdevice C Subdevice D VST0104.vsd X25AM supports port numbers from 0 to 9999, except for port numbers contained in the call user data field. In this case, X25AM supports port numbers from 0 to 99.
Call Setup and Call Clearing Packets Introduction • • • • The application is waiting for a call with an OPEN and a CONTROL 11. If a port number is used, the called port number equals the subdevice port number. The called port number is derived from the digits that remain after counting the digits specified in the incoming address. If the indicated packet size is not the configured packet size, the subdevice is configured to negotiate packet size.
Call User Data (CUD) in Call Setup Packets Introduction Figure 1-5. Call Setup Packet Format Bits Octet 1 8 7 6 5 0 D S N 4 3 2 2 Channel Identifier 3 Packet Type Identifier (PTI) 4 DTE Addresses 0 0 ~ 1 Called DTE Calling DTE ~ 1 Logical 2 ~ Facility Length Facility Fields ~ Data 1-16 Octets ~ PresentCallinUser Call Request and Incoming ~ Call Packets Only Legend 1 PTI= CALL REQUEST/INCOMING CALLS or CALL ACCEPTED/CALL CONNECTED 2 Address Lengths VST0105.
Call User Data (CUD) in Call Setup Packets Introduction only appears in the two call set-up packets CALL REQUEST and INCOMING CALL, and it is optional. Note. Do not confuse the Call User Data field with the User Data field. The User Data field appears in data packets, while the Call User Data field appears only in call set-up packets. An application can set or fetch the entire CUD field programmatically by calling filesystem procedure SETPARAM 41.
Call User Data (CUD) in Call Setup Packets Introduction The CUD default values can be changed by any of the following methods: Programmatically • • Call the SETPARAM 41 procedure Call the SETMODE 28 procedure to reset the CUD field to the SCF-configured values before clearing an incoming call In an incoming packet • Receive an incoming call that has a CUD field In a command file (such as an Obey file) • Use the SCF ADD or ALTER commands for a subdevice The following subsections discuss how CUD d
Incoming Call Packet Introduction Using the SETPARAM 41 Procedure Call Set or alter an X25AM subdevice's CUD values programmatically, using the SETPARAM 41 procedure call. The SETPARAM 41 procedure can fetch the call user data that results from any of these methods. If the SU does not have any call user data, SETPARAM 41 returns a zero length last parameter.
Call Accepted Packet Introduction Calling Address X25AM saves the calling address. The application can obtain it with a SETPARAM 1. If, after accepting a call, the application initiates a call, the called address is the calling address saved from the incoming call, in effect, a return call. If your application is not making a return call and is calling elsewhere, then the application sets a new address with the SETPARAM 1 procedure or restores the configured address value with the SETMODE 28.
Call Request Packet Introduction Call Request Packet A Call Request packet is issued by X25AM in response to a CONTROL 17 procedure (or a WRITE procedure for PTP mode 2, where the application builds its own call request packet). Called Address The called address is the subdevice DESTADDR attribute, which may or may not contain a port number. The called port number, if there is one, is transmitted in the called address field or in the fifth byte of the call user data.
Clear Indication Packet Introduction or unsupported facility codes are ignored. Supported facilities are described in Per Call Facilities on page 1-16 Call User Data Data can be present only as a response to a Call Request with fast select. Clear Indication Packet A Clear Indication Packet is sent by the remote DTE when it wants to Clear the call. The cause and diagnostic code must be present (must be part of the packet contents).
Frame-Layer Subscription Parameters Introduction In the following discussion, subscription parameters are divided into two groups: framelayer parameters and packet-layer parameters. These parameters are specified during system generation and are described in detail in the X25AM Configuration and Management Manual. Frame-Layer Subscription Parameters Frame-layer subscription parameters include framing types, protocol used, timers, frame size, send retries, maximum window size, and frame size.
Packet-Layer Subscription Parameters Introduction Window Frame Size (k) The variable “k” refers to the window frame size, that is, the number of I-frames that can be sent without being acknowledged. This is also called frame buffering. The available values are generally from 1 to 7. HP recommends using the network value. X25AM does not support values greater than 7. X25AM supports LAPB-Extended, which may allow a value greater than 7, depending on your network.
Per Call Facilities Introduction Nonstandard Default Window Sizes X25AM can be configured for a default window size of 1 to 7 for modulo 8 or of 1 to 15 for modulo 128. X25AM subdevices can be configured to negotiate window size on a per call basis. Refer to Per Call Facilities on page 1-16. Per Call Facilities Facilities are optional network features that are part of the network subscription. This subsection describes the facilities supported by X25AM.
Window-Size Negotiation Introduction The facility is included in a Call Accepted packet only if the subdevice that issues the response is configured for packet size negotiation. The facility is included in a Call Request packet only if the subdevice that issues the call is configured for packet size negotiation. The packet size will be the system generation (SYSGEN) program X25AM packet size modifier (PACKETSIZE).
DATAPAC Priority Call Facility Introduction Request packet. Also, the extended format modifier must have been specified during system configuration. DATAPAC Priority Call Facility If the network identifier specified for the line is DATAPAC, X25AM recognizes the DATAPAC national facility for priority calls in incoming calls. The priority call national facility is included in Call Request packets if the subdevice is configured for priority calls. The priority calls value is a subdevice attribute (PRICALL).
Annex G CCITT-Specified DTE Facilities Introduction • The Incoming Call transit delay value X25AM does not include a transit delay value in the Call Accepted packet. SETPARAM 36 sets or gets the transit-delay dynamic value. Annex G CCITT-Specified DTE Facilities These facilities are used to determine how to select the subdevice on a called and calling address extension facility. X25AM updates the dynamic DTE facilities values when an Incoming Call or Call Connected is received.
SNAX-Over-X25AM Introduction SNAX-Over-X25AM The SNAX/XF-Over-X25AM environment uses the Qualified Logical-Link Control (QLLC) protocol to connect SNA devices to an X.25 packet switched network. QLLC is an IBM proprietary link level protocol that is substituted for SDLC whenever IBM interfaces with X.25. For more information about SNAX/XF configuration, refer to the SNAX/XF and SNAX/APN Configuration and Management Manual. For more information about IBM’s proprietary QLLC protocol, refer to The X.
2 ITI Applications This section describes how an application exchanges data with a remote terminal connected to an X.25 packet-switching network with a packet assembler disassembler (PAD). This requires X25AM and the Interactive Terminal Interface (ITI) protocol.
The ITI File-System Interface ITI Applications Figure 2-1. High-Level View of the Application and X25AM HP NonStop System Application X25AM X.25 Packet-Switched Network PAD Remote Terminal VST0201.vsd Applications can be NonStop software (such as PATHWAY or TACL) or user generated software. The remote terminal can be 6510, 6520, 653x, a PC6530, or an ASCII character-mode terminal. Terminals can be accessed in page or conversation mode. An ASCII terminal can be accessed only in conversation mode.
The Remote Terminal and the Subdevice File ITI Applications Note. If your application uses the CANCEL procedure to cancel a READ command, data can be lost. Refer to the Guardian Procedure Calls Reference Manual if you need more information about these procedures. The Remote Terminal and the Subdevice File Communication with a remote terminal is accomplished by reading from and writing to a subdevice named $line-name.#subdevice-name.
Waiting for a Call ITI Applications address must be specified before the CONTROL is issued. This is done with the SCF subdevice (SU) attribute DESTADDR when the subdevice is configured or with SETPARAM 1 in your application. The network response to a Call Request can be one of the following: • • • Call Connected: The call was connected. Clear: The call was disconnected. Restart: The network interface was restarted, and the call has been cleared.
Exchanging Data ITI Applications READ Request CONVERSATION MODE With a READ request, conversation mode is used to read data entered at the terminal. PAGE MODE With a READ request, page mode is used to retrieve the value of a function key pressed at the terminal keyboard. The terminal keyboard is locked and a specifically formatted message containing the value of the function key is transmitted. The terminal does not transmit data unless solicited to do so.
Clearing a Call ITI Applications WRITE Request CONVERSATION MODE. With a WRITE request, conversation mode is used to send control and escape sequences to the terminal. WRITE is not used if a reply is expected. PAGE MODE. With a WRITE request, page mode is used to send control and escape sequences to the terminal, to transmit screens (or partial screens) of information to the terminal, and to unlock the terminal keyboard. WRITE is not used if a reply is expected.
The PACKET ASSEMBLER/ DISASSEMBLER (PAD) ITI Applications • • • A Clear is received. An Invitation to Clear is received and a Clear Request is sent. The remote terminal modem is disconnected, deactivating the carrier signal. When the circuit is disconnected, any outstanding READ and/or WRITE requests are terminated by ITI, which returns error 140 (circuit disconnected) to the requester.
The PACKET ASSEMBLER/ DISASSEMBLER (PAD) ITI Applications Figure 2-3. Two Kinds of PADs X.25 Packet-Switched Network PAD PAD Remote Terminal Remote Terminal VST0203.vsd In most circumstances, your application and the terminal user need not be concerned with PAD communication and PAD control. This is handled by ITI. Special requirements necessitate the specification of PAD parameters. The following table lists the recommendations and special requirements for a PAD.
Packet Exchange between the PAD and ITI ITI Applications Figure 2-4. X.3, X.25, X.28, X.29, and the PAD HP NonStop System (DTE) Data Application X25AM Data Packets X.29 Characters A PAD (DTE) X.25 B X.28 X.29 Remote Terminal (DTE-C) X.25 X.3 X.25 PSN VST0204.vsd Packet Exchange between the PAD and ITI The PAD and ITI exchange two packet types: data packets and packets containing control information for the PAD or response information from the PAD.
PAD Parameters ITI Applications ITI issues three kinds of control packets. They perform the following tasks: • • • SET Set PAD configuration parameters. READ Read PAD. INVITATION TO CLEAR Request PAD to initiate a Clear Call when the PAD has finished all operations. When the application clears a call as a result of issuing a CONTROL 12, ITI sends an Invitation To Clear to the PAD. Any operations that are in progress (such as a data transfer) are allowed to complete normally.
PAD Parameters ITI Applications controls the echo of input data at the terminal, results in a SET PAD PARAMETER command with the appropriate value of 0,1 for parameter 2. PAD Parameters Used by ITI ITI does not set all PAD parameters. Table 2-4 summarizes the X.3 PAD parameters (with default values) normally set by ITI. Table 2-4.
PAD Parameters ITI Applications Table 2-4.
Terminal Operation ITI Applications If you use the SCF ALTER command to configure BPADPARMS or CPADPARMS, and you assign a zero or negative length, X25AM will return error 590 (parameter value invalid or inconsistent with another). The parameters are used by ITI in the following order: • • • • If the parameters are specified for the subdevice, then these parameters are used. If the parameters are not specified for the subdevice, then the line parameters are used.
Changing the Terminal Mode with SETMODE ITI Applications Changing the Terminal Mode with SETMODE ITI assumes that the remote terminal is in conversation mode when the call is established. Your application can control the mode by issuing a SETMODE 8 statement as follows: • • For conversation mode, set SETMODE 8 parameter 1 to 0. For page mode, set SETMODE 8 parameter 1 to 1. ITI sends the appropriate control sequence to the terminal and the SET PAD PARAMETER command to the PAD.
Optimizing Output Data from 6530 Terminals ITI Applications Figure 2-5. Data Packet Transfer with No Packet Blocking PAD ITI Application 126 Bytes of Data plus 2 Framing Characters 128 Bytes of Data plus No Framing Characters RR (This adds a second network round trip.) 2 Bytes of Data plus 2 Framing Characters Message ACK inside Data Packet ACK VST0205.
Data Processing ITI Applications Checking Block Size for Nonstandard Terminals Nonstandard terminals that emulate HP terminals might have a nonstandard block size. If your application program may access a nonstandard terminal, you may want to check the block size setting. Block size is specified with the SYSGEN X25AM macro modifier PAGE6520BLKSIZE (which has a default value of 256 bytes) or with the SCF subdevice attribute PAGE6520BLKSIZE.
Data Packetizing by ITI ITI Applications Table 2-5. Default Interrupt Characters Function Octal Code Character Control Key Backspace %10 BS CTRL-H Line Cancel %30 CAN CTRL-X Line Termination %15 CR CTRL-M End of File %31 EOF CTRL-Y All four values can be changed with SETMODE 9, which overrides the default value. SETMODE 38 alters the current value and processing for the line-termination character. Any mix of four default and application-defined interrupt characters is possible.
Disposition of Terminal Control Characters by ITI ITI Applications Disposition of Terminal Control Characters by ITI When the terminal is in conversation mode, interrupt characters received from the terminal indicate to ITI that something needs to be done with the application input buffer and the character. For special line termination characters, see the description of SETMODE 38 in Appendix A, Procedures Summary for X25AM. Table 2-6 shows the effects of these characters. Table 2-6.
Disposition of Terminal Control Characters by ITI ITI Applications The characters mean the following: SOH Terminal sends function key string Terminal returns status Terminal returns cursor address STX Start of text sequence number Sequence number for each successive text block ETX End of text, end of nontext LRC Longitudinal Redundancy Check checksum character ITI reassembles all of the data into a block that is transferred all at once to the application buffer.
ITI Application Programming ITI Applications The translation of PARITY is shown in the following table. The most significant bit (leftmost bit) of each data character is the parity bit. PARITY Description PARITY EVEN Set the parity bit to 1 or 0 to make the number of 1s even. PARITY ODD Set the parity bit to 1 or 0 to make the number of 1s odd. STRIP PARITY Make the parity bit equal to 0. PAD parity generation for outgoing data and parity checking for incoming data is set with PAD parameter 21.
ITI Programming Tasks ITI Applications Setting I/O processing options SETMODE 8 Set the terminal operating mode. When a subdevice is opened, ITI assumes that a remote terminal is in conversation mode. Set ITI parity checking of data coming from the PAD. SETMODE 9 (PAD param 3) Set the interrupt characters for ITI. ITI looks for these characters, includes some of them in the data buffer that will be transferred to the application, and may send a control sequence to the terminal.
ITI Programming Tasks ITI Applications SETMODE 6 Set line spacing. SETMODE 6 is accepted but not used when the terminal is in page mode. It becomes effective when the terminal mode is changed to conversation mode. SETMODE 7 (PAD param 13.) Set automatic linefeed after receiving a carriage return (CR) line termination character. SETMODE 7 is accepted but not used when the terminal is in page mode. It becomes effective when the terminal mode is changed to conversation mode. SETMODE 20 (PAD param 2.
ITI Programming Tasks ITI Applications SETPARAM 38 Get the originally called DTE address. SETPARAM 39 Get the reason the call was redirected or deflected. SETPARAM 40 Get the reason the called address was modified. SETPARAM 41 Get the dynamic Call User Data (CUD) values for this session.
ITI Programming Tasks ITI Applications accepted. The remote network address must be specified before the CONTROL is issued. This is done with the SCF subdevice attribute DESTADDR when the subdevice is configured or with SETPARAM 1 in your application. Reading Data On a conversation-mode terminal, use the READ command to retrieve data entered on the terminal at the cursor. On a page-mode terminal, use the READ command to retrieve the value of a function key entered at the terminal.
ITI Procedure Statements Summary ITI Applications Counting Page-Mode Terminal Errors Use SETPARAM 6 to initialize and read the counters. Timing Page-Mode Timeouts The ITI timer is used for determining page-mode timeout, the time that can elapse before the absence of a reply from the terminal is considered to be an error. Use SETPARAM 22 to set the timeout interval. The timeout interval can also be set with the SCF subdevice attribute REXMITTIMEOUT.
ITI Procedure Statements Summary ITI Applications CONTROL 11 An Incoming Call is received and a Call Accepted is sent. If the operation completes normally, then the call has been connected. CALL CONTROL (filenum, operation) filenum operation = file number = 11 CONTROL 12 Requests the call to be cleared. ITI responds with an Invitation to Clear. CALL CONTROL (filenum, operation) filenum operation = file number = 12 CONTROL 17 A Call Request packet is written to the remote device.
ITI Procedure Statements Summary ITI Applications =6 function param1.<15> 0 = No space. Start on the same line. 1 = Single space. Start on the next line (default). SETMODE 7 Set automatic linefeed after receiving a carriage return (CR) line termination character. SETMODE 7 is accepted but not used when the terminal is in page mode. It becomes effective when the terminal mode is changed to conversation mode. CALL SETMODE (filenum,function,param1) = file number filenum function =7 param1.
ITI Procedure Statements Summary ITI Applications param2 <8:15> = Character 2 (default = Line Cancel) <0:7> = Character 3 (default = Carriage Return) <8:15> = Character 4 (default = End-Of-File) SETMODE 10 Set ITI parity checking of data coming from the PAD. SETMODE 10 is accepted but not used when the terminal is in page mode. It becomes effective when the terminal mode is changed to conversation mode. CALL SETMODE (filenum, function, param1) = file number filenum function param1.
ITI Procedure Statements Summary ITI Applications SETMODE 20 Set the echo mode. SETMODE 20 is accepted but not used when the terminal is in page mode. It becomes effective when the terminal mode is changed to conversation mode. CALL SETMODE (filenum, function, param1) = file number filenum function param1.<15> = 20 0 = no echo to the terminal of characters read 1 = echo to the terminal characters read (default) SETMODE 22 Get the binary speed (bits per second) of the connection.
ITI Procedure Statements Summary ITI Applications Table 2-8. Parameter 22 Values and Bits per Second (page 2 of 2) nn Bits per Second 8 1,800 21 75/1,200 9 2,000 10 2,400 11 3,600 12 4,800 13 7,200 14 9,600 15 19,200 18 48,000 19 56,00 20 64,000 Figure 2-7. Result of Issuing SETMODE 22 X25AM-ITI Application PAD-TERMINAL Other Network SETMODE 22 Q Packet (READ PAD Param 11) Param 11 Complete VST0207.vsd SETMODE 24 Set ITI data parity generation for data going to the PAD.
ITI Procedure Statements Summary ITI Applications SETMODE 27 Set spacing. SETMODE 27 is accepted but not used when the terminal is in page mode. It becomes effective when the terminal mode is changed to conversation mode. CALL SETMODE (filenum, function, param1) filenum = file number function = 27 param1.<15> 0 = postspacing (default) 1 = prespacing SETMODE 28 Reset the parameter values set by the SETMODE and SETPARAM procedure to the values configured for the subdevice.
ITI Procedure Statements Summary ITI Applications param1.<0> param1.<1> 0 = Do not accept reverse charge from remote process. (= SCF SU ACCEPTCHG OFF). 1 = Accept reverse charge from remote process. (= SCF SU ACCEPTCHG ON). 0 = Do not request acceptance of reverse charge by remote process. (= SCF SU REVERSECHG OFF). 1 = Request acceptance of reverse charge by remote process. (= SCF SU REVERSECHG ON). 0 param1.<2> = Normal outgoing call. (= SCF SU PRICALL OFF). 1 = Priority outgoing call.
ITI Procedure Statements Summary ITI Applications SETMODE 38 Set the special line-termination character. SETMODE 38 is processed immediately. SETMODE 38 is accepted but not used when the terminal is in page mode. It becomes effective when the terminal mode is changed to conversation mode. When scanning packets from the PAD, ITI examines only the final character in the final packet to determine the line-termination character.
ITI Procedure Statements Summary ITI Applications Table 2-9. Acceptable Line-Termination Characters (page 2 of 2) Decimal Value Character 27 ESC 28 FS 29 GS 30 RS 31 VS 32 SPACE 127 DLE The application is responsible for setting the cursor position once SETMODE 38 is in effect. Table 2-10. SETMODE Functions Not Supported by ITI # Function Action by ITI 13 Set system read termination on ETX character. Invalid operation. Guardian error = 2.
ITI Procedure Statements Summary ITI Applications SETPARAM 2 Get the Clear Cause and Diagnostic codes: CALL SETPARAM (filenum, function,,, Clear^Cause^code^byte^and^Diagnostic^ code^byte, length) Set the Clear Cause and Diagnostic codes: CALL SETPARAM (filenum, function, Clear^Cause^code^byte^and^Diagnostic^code^byte,length) filenum = file number returned by the OPEN procedure for the subdevice.
ITI Procedure Statements Summary ITI Applications Restart^Cause^code^byte = some value Diagnostic^code^byte length = some value = 2 bytes SETPARAM 6 Read the page-mode terminal error counters. CALL SETPARAM (filenum, function,,, 8 integer values, length) Initialize the counters. CALL SETPARAM (filenum, function, 8 integer values, length) filenum = file number returned by the OPEN procedure for the subdevice.
ITI Procedure Statements Summary ITI Applications SETPARAM 7 Get the configured Closed User Group (CUG) ID. CALL SETPARAM (filenum, function,,, cug^id, length) Set the configured Closed User Group (CUG) ID. CALL SETPARAM (filenum, function, cug^id, length) filenum function = file number cug^id = two-digit number (or four-digit number if CUGTYPE is EXT or EXTOA). length = 2 or 4 bytes =7 SETPARAM 9 Get the reason for call clearing (circuit disconnection).
ITI Procedure Statements Summary ITI Applications Table 2-12. Reasons for Circuit Disconnection (SETPARAM 9) Integer Reason for Circuit Disconnection 11 Restart Request issued. 12 Inconsistent internal data structure. 13 Incoming Call Request packet had invalid data or L3WINDOW holding buffers could not be allocated. 14 Level-2 problem. Integer <1> nn If <0> = 14, then <1> contains the applicable Guardian error code. Integer <2> 1 The line is logically down.
ITI Procedure Statements Summary ITI Applications Get the timeout interval. CALL SETPARAM (filenum, function,,, integer, length) filenum = file number returned by the OPEN procedure for the subdevice. function = 22 integer = interval in seconds length = 2 bytes Set the timeout interval. CALL SETPARAM (filenum, function,,, SETPARAM 23 Get the port number (it can be larger than 255).
ITI Procedure Statements Summary ITI Applications SETPARAM 30 Get the remote NSAP address: CALL SETPARAM (filenum, function,,, extended^address, length) Set the remote NSAP address: CALL SETPARAM length) (filenum, function, extended^address, filenum = file number function = 30 extended^address = remote NSAP address length = length of address extension (maximum 40 bytes) SETPARAM 31 Get the local NSAP address type: CALL SETPARAM (filenum, function,,, address^type, length) Set the local NSAP a
ITI Procedure Statements Summary ITI Applications SETPARAM 33 Get the Closed User Group type (CUGTYPE): CALL SETPARAM (filenum, function,,, cug^type, length) Set the Closed User Group type (CUGTYPE): CALL SETPARAM (filenum, function, cug^type, length) filenum function = file number cug^type = CUG type is an integer in the range of 0 to 3 where = 33 0 = BASIC 1 = EXT 2 = BASICOA 3 = EXTOA = 2 bytes length SETPARAM 34 Get the configured bilateral Closed User Group (BCUG) ID: CALL SETPARAM
ITI Procedure Statements Summary ITI Applications function = 35 DNIC = n*4-digit number (n is the number of RPOA transit networks with the range from 1 to 7; the 4-digit numbers are ASCII characters) length = n*4 (the length in bytes of the RPOA DNICs) SETPARAM 36 Get the transit delay value from the last call request packet. CALL SETPARAM (filenum, function,,, transit^delay, length) Set the transit delay value.
ITI Procedure Statements Summary ITI Applications SETPARAM 38 Get the originally called DTE address. CALL SETPARAM (filenum, function,,, dte^address, length) filenum function = file number dte^address = ASCII string of decimal digits (for example, “12345678”) representing the originally called DTE address. length = maximum 15 bytes = 38 SETPARAM 39 Get the reason the call was redirected or deflected.
ITI Procedure Statements Summary ITI Applications function = 40 reason^code = an integer indicating the reason the called address has been modified. For reasons returned by the X.25 network, see Table 2-14. length = 2 bytes Table 2-14.
ITI Programming Example ITI Applications ITI Programming Example This example is written in a coding shorthand (also called “generic,” or “pseudo-” code) that does not include error-handling procedures. The example shows receiving data from a remote terminal. 1. Open the subdevice $ line.# subdevice. 2. CONTROL 11. ! !Wait for a Call Request. ! !A Call Request is received from the PAD. !A Call Accepted is sent by ITI. !A PAD command with the default terminal profile !is sent by ITI.
ITI Programming Example ITI Applications X25AM Programming Manual—527201-001 2- 46
3 PTP Applications This section discusses: Topic Page Overview of PTP Protocol 3-1 The PTP File-System Interface 3-2 PTP Data-Exchange Modes 3-5 PTP Application Programming 3-24 Programming Examples Using a Permanent Virtual Circuit 3-43 Programming Examples Using a Switched Virtual Circuit 3-47 Programming Example Written in TAL 3-60 Programming Example Written in C 3-71 Overview of PTP Protocol Applications can exchange data with a remote device by using the process-to-process (PTP) pr
The PTP File-System Interface PTP Applications The PTP File-System Interface An application accesses the X25AM PTP procedures by using a subset of the Guardian file-system procedures. This group of file-system procedures is called the PTP file-system interface. File-System Procedures Supported by PTP PTP supports only the file-system procedures that are necessary to perform PTP tasks. Table 3-1 lists the supported procedures for G-series RVUs.
Waiting for a Call PTP Applications • • CONTROL 17. A Call Request is sent, and a network response is received. If the CONTROL 17 completes normally, then the call has been accepted. If it does not complete normally, the error returned indicates the cause of the failure. Your application is responsible for determining how the outcome of the procedure call should be processed. WRITEREAD. The WRITE writes a Call Request (see PTP mode 2 subsection for detail), and the READ reads the network response.
Clearing a Call PTP Applications The READ Procedure The remote device can send data before your application issues a READ for it. Data can be queued by PTP until your application issues a READ, at which time the data is transferred to your application. PTP reads and queues from one to L3WINDOW data packets and one interrupt packet. At no time is data sent from the remote device lost because the application did not issue a READ.
PTP Data-Exchange Modes PTP Applications • • WRITEREAD. It writes the Clear Request and reads the Clear Confirmation (see PTP mode 2 subsection for detail). If the WRITEREAD completes normally and reads a Clear Confirmation, then the call has been disconnected. It can also complete normally and read the cause of the failure. WRITE. It writes the Clear Request (see PTP mode 2 subsection for detail). If the WRITE completes normally, then the call has been disconnected.
D, Q, and M Bits PTP Applications Table 3-2. The Basic Differences Among Data-Exchange Modes Mode Data Exchange and Your Application 0 Data exchange is done at the logical record level. Your application has no control over anything except data. Used to send and receive data in simple READ/WRITE transfers. 1 Data exchange is done at the packet level for both data and interrupt packets. Your application has control over data and the Q and M bits. Used to send and receive data and interrupt packets.
Mode 0 PTP Applications Mode 0 Your application processes a logical record in a single file-system operation. The logical record always consists of data. PTP does the following: • • Disassembles a logical record written by your application into one or more data packets. The M bit is set to 1 in all except the last packet. Assembles data from one or more packets into a logical record for your application to read. The logical record must fit in the file-system buffer.
Mode 1 PTP Applications Mode 1 Your application can process data that goes into or comes from a single data packet or a single interrupt packet. Data for one packet is written into or read from the filesystem buffer. The first word in the buffer is the MCW. The rest of the buffer contains data or interrupt data. A logical record can consist of data from more than one data packet.
Mode 2 PTP Applications When the READ completes, COUNT READ will be equal to two (for the MCW) plus the amount of data transferred to the application buffer. If the length of the data (that is, the MCW plus the data or interrupt data) exceeds READ COUNT, the extra data is lost. No error is returned. An interrupt packet is given priority over data packets in the X.25 network. Interrupt data can appear in the buffer, interrupting a sequence of buffers containing data from data packets.
Mode 2 PTP Applications Table 3-4.
Mode 2 PTP Applications The Message Control Word The first word in the WRITE, WRITEREAD, and READ buffers is the MCW. The first byte specifies the packet type. The second byte specifies the values for the D, Q, and M bits. The rest of the buffer contains data for each particular packet type. This information is translated by PTP into the appropriate packet format. Table 3-5.
Mode 2 PTP Applications WRITE Request Your application posts a WRITE to a subdevice file. The first word in the buffer is the MCW, followed by a packet of data. WRITE COUNT should equal the size of the packet in the buffer plus the MCW. WRITEREAD Request If your application is using mode 2 correctly, it will need to write various buffer formats, such as the Call Request.
Mode 2 PTP Applications Figure 3-2. Buffer Formats and Packet Formats for Data Mode 2 (page 1 of 8) Buffer Call Request (Passthru Mode) Corresponding Packet 0 Type = 11 D MOD LCGN 2 0 D Calling Length ~ LCN 0 Type = 11 Called Length ~ Called/Calling Address ~0 0 0 0 Calling Length 1 ~ Facilities ~ Data ~0 0 0 0 1 Facilities Length ~ ~ ~ Called/Calling Address Facilities Length ~ Called Length ~ Facilities ~ ~ Data ~ Legend 1 This field should be padded zeros.
Mode 2 PTP Applications Figure 3-2. Buffer Formats and Packet Formats for Data Mode 2 (page 2 of 8) Buffer Data Corresponding Packet Type = 0 0 ~ 0 D Q MOD LCGN LCN 0 P(R) ~ Data D ~ M P(S) 0 ~ Data This packet format is for modulo 8 packet numbering. Buffer Receive Ready (RR) Type = 1 Corresponding Packet 0 D MOD 0 LCN Type = 1 P(R) Buffer Receive Not Ready (RNR) Type = 5 LCGN Corresponding Packet 0 D 0 MOD LCGN LCN P(R) Type = 5 VST0303.
Mode 2 PTP Applications Figure 3-2.
Mode 2 PTP Applications Figure 3-2. Buffer Formats and Packet Formats for Data Mode 2 (page 4 of 8) Buffer Call Accept (Non-Passthru Mode) Corresponding Packet 0 Type = 15 0 D 0 ~ Data (Fast-Select Only) LCGN LCN Type = 15 ~ Facilities MOD 0 Facilities Length ~ D Calling Length ~ ~ Called Length ~ Called/Calling Address ~0 0 0 0 Facilities Length ~ Facilities ~ ~ Data (Fast-Select Only) ~ VST0305.
Mode 2 PTP Applications Figure 3-2. Buffer Formats and Packet Formats for Data Mode 2 (page 5 of 8) Buffer Clear Request (Without Address Passthru) Corresponding Packet 0 Type = 19 0 0 0 D MOD LCN 0 Type = 19 Clearing Cause Clearing Cause Diagnostic Code 0 Facility Length 0 ~ ~ LCGN Diagnostic Code Facility Length 0 0 0 ~ Data (Fast-Select Only) 0 0 ~ Facilities ~ Facilities ~ ~ Data ~ This is for a write. On a read, this may contain something other than zero.
Mode 2 PTP Applications Figure 3-2.
Mode 2 PTP Applications Figure 3-2. Buffer Formats and Packet Formats for Data Mode 2 (page 7 of 8) Buffer Reset Corresponding Packet 0 Type = 27 D MOD LCGN 0 LCN Cause Type = 27 Cause Diagnostic (Optional) Diagnostic (Optional) Buffer Reset Confirmation Corresponding Packet 0 Type = 31 D MOD LCGN LCN 0 Type = 31 Buffer Interrupt Corresponding Packet 0 Type = 35 MOD LCGN LCN 0 Data D Type = 35 1 1 Data Legend 1 If using the 1980 CCITT standard, only one byte is used.
Mode 2 PTP Applications Figure 3-2.
Mode 3 PTP Applications • • • • • Call Request, Call Connected Call Accepted, Incoming Call Clear Request Clear Confirmation (application READ only) Clear Indication The following SETMODE command enables pass-through mode: SETMODE 31 param1.<1> = 1 Not all networks allow addresses in Clear packets. Fast-Select Support Fast Select is an optional user facility that allows extra data to be included in Call Request, and Call Connected packets.
Mode 3 PTP Applications Interrupt Packets Buffer contents: MCW Data bytes Table 3-7. Message Control Word (MCW) Used for Mode 3 Bit Number Bit Value Bit Name Meaning <0:12> 0 <13> 0 This is data. <13> 1 This is an interrupt packet. <14> 0 Q bit This is really data (user-defined bit). <14> 1 Q bit This is some other kind of information (user-defined bit). <15> 0 M bit This is a final data block. <15> 1 M bit This is not a final data block.
Subdevice States PTP Applications WRITEREAD Request A WRITEREAD is processed like a WRITE followed by a READ. When the WRITE portion completes, the request is moved to the end of the READ queue. Subdevice States A subdevice can be characterized by its physical state, which depends on what the subdevice is doing. Only certain buffer formats can be written for each of these states. Table 3-8 list these formats.
PTP Application Programming PTP Applications Table 3-9. Two-Step Read Parameters Mode READ COUNT WRITE COUNT MCW 1 2 1 8000 2 2 1 8000 3 2 2 Bits <0:2> = %B100 Bits <3:15> = 2 + maximum read length When the WRITEREAD completes, the actual amount of data held by PTP (indicating the size of the application buffer) is returned in the MCW of your application buffer, as shown in Table 3-10. Table 3-10.
PTP Programming Tasks PTP Applications Setting subdevice-dependent functions • SETMODE 30: Set the NOWAIT completion order for subdevice file-system operations. • SETMODE 31: Set the data-exchange mode and request address pass-through. • SETMODE 32: Set the Call Setup parameters. Reinitializing SETMODE and SETPARAM values Use SETMODE 28 to reset the parameter values set by the SETMODE and SETPARAM procedure to the values configured for the subdevice.
PTP Programming Tasks PTP Applications Get the configured bilateral Closed User Group (BCUG) ID. • SETPARAM 35 Get the Recognized Private Operating Agency (RPOA) Data Network Identification Code (DNIC). • SETPARAM 36 Get the transit delay value from the last call request packet. • SETPARAM 37 Get the optional CCITT-specified DTE negotiation facilities (throughput class, endto-end transit delay, and expedited data facilities). • SETPARAM 38 Get the originally called DTE address.
PTP Programming Tasks PTP Applications Set the local NSAP address type. • SETPARAM 32 Set the remote NSAP address type. • SETPARAM 33 Set the Closed User Group type (CUGTYPE). • SETPARAM 34 Set the dynamic bilateral Closed User Group (BCUG) ID. • SETPARAM 35 Set the Recognized Private Operating Agency (RPOA) Data Network Identification Code(s) (DNIC). • SETPARAM 36 Set the transit delay value.
PTP Programming Tasks PTP Applications The remote network address must be specified before posting the CONTROL. This is done with the SCF subdevice attribute DESTADDR. Use SETPARAM 1 in your application to override the configured value. • WRITEREAD (data-exchange mode 2): Your application writes a Call Request. The network response is returned in the file-system buffer.
PTP Procedure Statements Summary PTP Applications Determining Why a Call Has Been Disconnected Use SETPARAM 9 to get the reason for the disconnection. Decoding the Cause and Diagnostic Codes For the diagnostic codes used by the X25AM process, see Appendix C, D-Series Supplement for X25AM. X25AM always transmits a cause of 0 whether it is configured as a DTE or a DCE.
PTP Procedure Statements Summary PTP Applications CONTROL 11 (Data-Exchange Modes 0, 1, 2 and 3) An Incoming Call is received and a Call Accepted is sent. If the operation completes normally, then the call has been connected. CALL CONTROL (filenum, operation) filenum operation = file number = 11 CONTROL 12 (Data-Exchange Modes 0, 1, 2, and 3) Clear the connection (issue a Clear Request). If the operation completes normally, then the call has been disconnected.
PTP Procedure Statements Summary PTP Applications OPEN CALL OPEN (filenum,filename,flags) READ CALL READ (filenum,buffer,read^count,count^read, nowait^tag) SETMODE 28 Reset the parameter values set by the SETMODE and SETPARAM procedure to the values configured for the subdevice. CALL SETMODE (filenum, operation) = file number filenum operation = 28 SETMODE 30 Set the NOWAIT completion order for file-system operations.
PTP Procedure Statements Summary PTP Applications param1.<1> param1.<13:15> param2 0 = No address pass-through (data-exchange mode 2). 1 = Address pass-through (data-exchange mode 2). 0 = Mode 0 1 = Mode 1 2 = Mode 2 3 = Mode 3 0 = For modes 1, 2, and 3. Use PACKETSIZE as the length of the data field. n = For modes 0 and 3. Size of data field in packet must be less than PACKETSIZE. Note. Do not use param2 = n. Most networks clear the M bit to 0.
PTP Procedure Statements Summary PTP Applications param2.<0> param2.<1> param2.<2> 0 = Do not negotiate L3WINDOW size. 1 = Negotiate L3WINDOW size. 0 = Do not negotiate PACKETSIZE. 1 = Negotiate PACKETSIZE. 0 = Do not negotiate throughput class. 1 = Negotiate throughput class. = Incoming throughput class. param2.<8:11> param2.<12:15> = Outgoing throughput class. When the SETMODE operation completes: last params[0] .<3> .
PTP Procedure Statements Summary PTP Applications SETPARAM 2 Get the Clear Cause and Diagnostic codes. This is one field; Clear Cause is the left byte, and Diagnostic code is the right byte. CALL SETPARAM (filenum, operation,,, clear^cause^code^byte^and^diagnostic^ code^byte, length) Set the Clear Cause and Diagnostic codes. This is one field; Clear Cause is the left byte, and Diagnostic code is the right byte.
PTP Procedure Statements Summary PTP Applications SETPARAM 5 Get the Restart Cause and Diagnostic codes. Restart Cause and Diagnostic code are one field. Restart Cause is the left byte, and Diagnostic code is the right byte.
PTP Procedure Statements Summary PTP Applications The protocol identifier refers to the protocol that you set. X25AM does not save the incoming (remote) protocol ID. SETPARAM 9 Get the reason for the disconnection of the circuit. CALL SETPARAM (filenum, operation,,, reason, length) filenum operation = file number reason = 4 words. For reasons for call disconnection, see Table 3-11.
PTP Procedure Statements Summary PTP Applications Table 3-11. Reasons for Circuit Disconnection (SETPARAM 9) (page 2 of 2) Integer Reason for Circuit Disconnection 2 The line is logically up, but the physical circuit has not been established. 3 The line is logically up, and the physical circuit has been established. Integer <3> If <2> = 1 or 2, then <3> contains the applicable file-system error code. SETPARAM 21 Count 64-byte segments.
PTP Procedure Statements Summary PTP Applications Set the local NSAP address: CALL SETPARAM (filenum, function, extended^address, length) filenum function = file number extended^address = local NSAP address length = length of address extension (maximum is 40 bytes) = 29 SETPARAM 30 Get the remote NSAP address: CALL SETPARAM (filenum, function,,, extended^address, length) Set the remote NSAP address: CALL SETPARAM (filenum, function, extended^address, length) filenum = file number function = 30
PTP Procedure Statements Summary PTP Applications SETPARAM 32 Get the remote NSAP address type: CALL SETPARAM (filenum, function,,, address^type, length) Set the remote NSAP address type: CALL SETPARAM (filenum, function, address^type, length) filenum function = file number address^type = remote NSAP address type length = 2 bytes = 32 SETPARAM 33 Get the Closed User Group type (CUGTYPE): CALL SETPARAM (filenum, function,,, cug^type, length) Set the Closed User Group type (CUGTYPE): CALL SETPARA
PTP Procedure Statements Summary PTP Applications function = 34 bi^cug^id = 4-digit bilateral CUG ID (ASCII characters) length = 2 bytes SETPARAM 35 Get the Recognized Private Operating Agency (RPOA) Data Network Identification Code (DNIC).
PTP Procedure Statements Summary PTP Applications Set the optional CCITT-specified DTE facilities. CALL SETPARAM (filenum, function, dte^facilities, length) filenum function = file number dte^facilities = byte string of optional DTE facilities (for each facility there is a code field, a facility parameter field length in bytes (if code field is D), and a facility parameter field) length = 2 to 20 bytes = 37 SETPARAM 38 Get the originally called DTE address.
PTP Procedure Statements Summary PTP Applications SETPARAM 40 Get the reason the called address was modified. CALL SETPARAM (filenum, function,,, reason^code, length) filenum function = file number reason^code = an integer indicating the reason the called address has been modified. For reasons returned by the X.25 network, see Table 3-13. length = 2 bytes = 40 Table 3-13.
Programming Examples Using a Permanent Virtual Circuit PTP Applications WRITE CALL SETPARAM (filenum, buffer, write^count, count^written, nowait^tag) WRITEREAD CALL SETPARAM (filenum, buffer, write^count, read^count, count^read, nowait^tag) Programming Examples Using a Permanent Virtual Circuit These examples are written in a coding shorthand (also called generic or “pseudo-” code). They are designed to help you understand the most important aspects of data exchange with a PVC.
Start the Data Exchange (Use Mode 0) PTP Applications ! !The data packet (M=0) for logical record B is sent. !The WRITE completes successfully. ! !A data packet (M=0) for logical record C is received !and queued. ! !An RR packet is received. 4. READ a logical record. ! !The program wants input from the remote device. It waits !for input with a READ. The remote device has already sent !the data packet for logical record C, which is now !transferred to the READ buffer. !The READ completes successfully. 5.
Wait for the Data Exchange (Use Mode 0) PTP Applications Wait for the Data Exchange (Use Mode 0) The program waits for a data exchange to begin, which requires reading a logical record. After the initial READ, READs and WRITEs can be in any order, depending on the program logic and the response expected from the remote device. 1. OPEN the subdevice. ! !The remote device has sent logical record A that is smaller !than PACKETSIZE. The logical record will fit into 1 !packet.
Wait for the Data Exchange (Use Mode 0) PTP Applications 5. WRITE logical record D. ! !The remote device writes logical record D that is less than !PACKETSIZE. The logical record will fit into 1 packet. !The data packet (M=0) for logical record D is received and !queued. 6. READ a logical record. ! !The program waits for data from the remote device with a !READ. The remote device has already sent logical record D, !which is now transferred to the READ buffer. !The READ completes successfully. 7.
Programming Examples Using a Switched Virtual Circuit PTP Applications Programming Examples Using a Switched Virtual Circuit These examples are written in a coding shorthand. They are designed to help you understand the most important aspects of data exchange with a switched virtual circuit (SVC). The call setup phase, the data-transfer phase, and the call clearing phase must all be coded in your application. In the following examples, L3WINDOW is 2. Note.
Start the Data Exchange (Use Mode 0) PTP Applications ! !The data packet (M=0) for logical record B is sent. !The WRITE completes successfully. ! !An RR packet is received. 5. READ a logical record. ! !The program waits for data from the remote device with a !READ. ! !The remote device sends logical record C, which is !transferred to the READ buffer. !The READ completes successfully. 6. WRITE logical record D. ! !The WRITE has a WRITE COUNT that is greater than PACKETSIZE.
Wait for the Data Exchange (Use Mode 0) PTP Applications 9. CLOSE ! !Nothing is sent or received. Wait for the Data Exchange (Use Mode 0) The program waits for the call with a CONTROL 11. It waits for the data exchange by reading data for logical record. READ and WRITE can be in any order, depending on the program logic and the response expected from the remote device. ! !Nothing is sent or received. 2. CONTROL 11. ! !Wait for an Incoming Call.
Start the Data Exchange (Use Mode 1) PTP Applications !The READ completes successfully. ! !An RR packet is sent. 5. WRITE logical record C. ! !The WRITE has a WRITE COUNT that is less than PACKETSIZE. !The logical record will fit into 1 packet. ! !The data packet (M=0) for logical record C is sent. !The WRITE completes successfully. ! !The remote device sends logical record D. The logical !record will require five packets. ! !Data packet 1 (M=1) for logical record D is received.
Start the Data Exchange (Use Mode 1) PTP Applications 3. CONTROL 17. ! !A Call Request is sent. !A Call Connected is received. !CONTROL 17 completes. 4. WRITE the data for the first packet for logical record A. ! !The WRITE has a WRITE COUNT equal to PACKETSIZE. The !M bit is set to one. ! !The first data packet (M=1) for logical record A is sent. !The WRITE completes successfully. 5. WRITE the data for the second and last packet for logical record A.
Wait for the Data Exchange (Use Mode 1) PTP Applications Wait for the Data Exchange (Use Mode 1) The program waits for the call with a CONTROL 11. It waits for the data exchange by reading data for a packet. READ and WRITE can be in any order, depending on the program logic and the response expected from the remote device. The program ends the call with a CONTROL 12. 1. OPEN the subdevice. ! !Nothing is sent or received. 2. SETMODE 31,1,0. ! !Set the data-exchange mode to 1. 3. CONTROL 11.
Wait for the Data Exchange (Use Mode 1) PTP Applications 5. READ data from a packet. ! !The program waits for data from the remote device with a !READ. The remote device has already sent the final !data packet for logical record B. The data is !transferred to the READ buffer. !The READ completes successfully. ! !An RR packet is sent. 6. WRITE the data for the first and only data packet for logical record B. ! !The M bit is set to 0. ! !The WRITE has a WRITE COUNT that is equal to PACKETSIZE.
Start the Data Exchange (Use Mode 2) PTP Applications Start the Data Exchange (Use Mode 2) The program makes the call with a CONTROL 17. It could also use a WRITEREAD. It starts the data exchange by writing data for a packet. READ and WRITE can be in any order, depending on the program logic and the response expected from the remote device. The program ends the call with a CONTROL 12. 1. OPEN the subdevice. ! !Nothing is sent or received. 2. SETMODE 31,2,0. ! !Set the data-exchange mode to 2. 3.
Wait for the Data Exchange (Use Mode 2) PTP Applications !An interrupt packet is received and queued. 7. READ a data packet. ! !The interrupt packet is transferred to the READ buffer. !The READ completes successfully. !Program logic dictates a reset response. 8. WRITEREAD a Reset packet. ! !A reset packet is sent. !A Reset Confirmation packet is received. !Reset Confirmation is transferred to the WRITEREAD buffer. !The WRITEREAD completes successfully. 9. READ a packet. !A Data packet (M=0) is received.
Wait for the Data Exchange (Use Mode 2) PTP Applications !Set the data-exchange mode to 2. 3. CONTROL 11. ! !Wait for an Incoming Call. !An Incoming Call is received. !A Call Accepted is sent. ! !The remote device writes the data for the first packet for !logical record A. The WRITE COUNT is equal to PACKETSIZE. !The M bit is set to one. ! !The first data packet (M=1) for logical record A !is received. 4. READ a packet. ! !The program waits for data from the remote device with a !READ.
Start the Data Exchange (Use Mode 3) PTP Applications 6. READ Reset packet. ! 7. WRITEREAD an Invitation to Clear. ! !The Invitation To Clear packet (M=0) is sent. ! !A Clear Request packet is received. !The Clear Request packet is transferred to the !WRITEREAD buffer. !The WRITEREAD completes successfully. ! 8. CLOSE the subdevice. ! !Nothing is sent or received. Start the Data Exchange (Use Mode 3) The program makes the call with a CONTROL 17.
Start the Data Exchange (Use Mode 3) PTP Applications ! !Packet 2 is sent [P(S)=1,P(R)=0,M=1]. ! !An RR packet is received [P(R)=2]. ! !Packet 3 is sent [P(2)=2,P(R)=0,M=1]. ! !Packet 4 is sent [P(S)=3,P(R)=0,M=1]. ! !An RR packet is received [P(R)=4]. ! !Packet 5 is sent [P(S)=4,P(R)=0,M=1]. ! !Packet 6 is sent [P(S)=5,P(R)=0,M=1]. ! !An RR packet is received [P(R)=6]. ! !Packet 7 is sent [P(S)=6,P(R)=0,M=1]. ! !Packet 8 is sent [P(S)=7,P(R)=0,M=1]. ! !An RR packet is received [P(R)=0].
Wait for the Data Exchange (Use Mode 3) PTP Applications Wait for the Data Exchange (Use Mode 3) The program waits for the call with a CONTROL 11. It waits for the data exchange by reading data for a data block. After the initial READ, READs and WRITEs can be in any order, depending on the program logic and the response expected from the remote device. This example also shows P(R) and P(S) to demonstrate packet sequencing. In the following example, L3WINDOW is 2. 1. OPEN the subdevice.
Programming Example Written in TAL PTP Applications 6. WRITE invitation to clear. ! !A Clear request is received. !A Clear Confirmation is sent. 7. READ data. ! !If the READ completes with an error 140, then the remote !device has cleared the call. It wants to stop the data !exchange. !An error 140 is returned to the READ. 8. CLOSE the subdevice. ! !Nothing is sent or received. Programming Example Written in TAL The following sample application is written in the TAL programming language for PTP mode 0.
About The TAL Example PTP Applications Term Definition COMM^FILE Local (logical) X25AM process or subdevice. You may informally refer to this as the X25 line, although that term is not technically correct, for the purposes of this program. LOCAL SUBDEVICE Local X25AM process. The same as COMM^FILE. REMOTE SUBDEVICE Remote X25 process. This refers to the process, device, or subdevice that we are calling or receiving a call from.
Text of TAL Example PTP Applications Text of TAL Example The remainder of this subsection contains the text of the example of an application program written in TAL. To conform to standard TAL conventions, the main procedure appears at the end of the program.
Text of TAL Example PTP Applications !------------------------------------------------------------------------! WRITE TO TERMINAL PROCEDURE !------------------------------------------------------------------------PROC TERM^WRITE (BUFFER, COUNT); INT .
Text of TAL Example PTP Applications !------------------------------------------------------------------------! PRINT COMMUNICATIONS ERROR MESSAGE PROCEDURE !------------------------------------------------------------------------PROC PRINT^ERROR^MESSAGE (BUFFER, ERROR); STRING .BUFFER; INT ERROR; BEGIN LITERAL ERROR^MESSAGE^LENGTH = 52; INT .INTPTR := @BUFFER '>>' 1; INT ERROR^INDEX; STRING .SP, .
Text of TAL Example PTP Applications !------------------------------------------------------------------------! COMMUNICATIONS ERROR PROCEDURE !------------------------------------------------------------------------PROC COMM^ERROR (ERROR); INT ERROR; BEGIN CALL PRINT^ERROR^MESSAGE (TERM^BUFF, ERROR); TERM^BUFFS := "? "; CALL WRITEREAD (TERM^FILE, TERM^BUFF, 1, MAX^TERM^READ); ! PROMPT TERMINAL IF <> THEN CALL DEBUG; CALL READ (COMM^FILE, COMM^BUFFR, MAX^COMM^READ, , READ^TAG); ! POST A READ IF <> THEN
Text of TAL Example PTP Applications ! AND WRITE THE CONTENTS OF THE TERMINAL ! BUFFER TO THE TERMINAL. TERM^WRITE ! NEEDS THE BUFFER AND THE COUNT PASSED ! TO IT AS PARAMETERS. END; !COMM^COMPLETE !------------------------------------------------------------------------! TERMINAL COMPLETION PROCEDURE !------------------------------------------------------------------------PROC TERM^COMPLETE (TERM^READ^COUNT); ! THIS PROC HANDLES TERMINAL READ COMPLETIONS.
Text of TAL Example PTP Applications CALL COMM^ERROR (ERROR); END; END; !------------------------------------------------------------------------! CONNECT LINE (PLACE OR ACCEPT CALL) PROCEDURE !------------------------------------------------------------------------PROC CONNECT^LINE; BEGIN INT ERROR; STRING CALL^[0:3] := ["CALL"], WAIT^[0:3] := ["WAIT"]; REPROMPT: TERM^BUFF ':=' ["ENTER TO PLACE A CALL OR TO WAIT "]; TERM^BUFF[24] ':=' ["FOR A CALL ? "]; CALL WRITEREAD (TERM^FILE, TERM^BU
Text of TAL Example PTP Applications END ! AWAITIO END ! TERM^BUFFS = CALL^ ELSE IF TERM^BUFFS = WAIT^ FOR 4 THEN BEGIN ! WAIT FOR CALL FROM REMOTE SUBDEVICE CALL^SENT^FLAG := 0; ! THE CALL REQUEST WAS NOT SENT CALL CONTROL (COMM^FILE,11); ! CALL CONTROL TO WAIT FOR A CALL FROM ! THE REMOTE SUBDEVICE, CHECK THE ! CONDITION CODE FOR ERRORS, ! CALL COMM^ERROR IF ONE OCCURED.
Text of TAL Example PTP Applications CALL SETMODE (COMM^FILE, 30, 1); ! CALL SETMODE PASSING IT THE IF <> THEN BEGIN ! PARAMETERS NECESSARY TO ALLOW CALL FILEINFO (-1, ERROR); ! OPERATIONS TO COMPLETE IN ANY ORDER, CALL COMM^ERROR (ERROR); ! REMEMBER TO CHECK FOR ERRORS AND CALL ABEND; ! CALL COMM^ERROR IF AN ERROR OCCURS. END; ! SETMODE DOES NOT NEED TO BE COMPLETED ! WITH A CALL TO AWAITIO.
Text of TAL Example PTP Applications CALL CLOSE (TERM^FILE); ! ... THEN CLOSE IT CALL OPEN (STARTUP.INFILE, TERM^FILE, 1); ! OPEN THE TERMINAL FILE NOWAIT IF <> THEN CALL DEBUG; CALL OPEN (STARTUP.
Programming Example Written in C PTP Applications IF ERROR THEN CALL COMM^ERROR (ERROR) ELSE BEGIN IF (TAG = READ^TAG) THEN BEGIN CALL COMM^COMPLETE (COUNT); TERM^BUFF ':=' "? "; CALL WRITEREAD (TERM^FILE, TERM^BUFF, 1, MAX^TERM^READ); IF < THEN CALL DEBUG; END END; END ELSE CALL DEBUG; END; ! DO WHILE EXIT^PROGRAM: IF (CALL^SENT^FLAG) THEN CALL CONTROL (COMM^FILE, 12); ! CLEAR THE CALL TO THE REMOTE SUBDEVICE.
Text of C Example PTP Applications comparison of the two examples easier. For example, both programs place the main procedure following all of the subroutines, which is standard for TAL, but not for C. Invoking the C Example To invoke the following application program, named PTPMODE0, use the standard Guardian System RUN command at the TACL prompt. The line $X25line.#ptp must be previously defined using SCF. When the PTPMODE0 program completes, you return to the TACL prompt.
Text of C Example PTP Applications /* *---------------------------------------------------------------------* GLOBAL DECLARATIONS *---------------------------------------------------------------------*/ #define FALSE 0 #define TRUE ~FALSE #define MAX_COMM_READ 40 /* largest comm read */ #define MAX_TERM_READ 39 /* largest terminal read */ #define MAX_INT_FNAME_LEN 12 /* internal file name length */ #define END_OF_FILE 1 #define BREAK_ACCESS_ONLY 110 #define BREAK_HIT 111 #define MODEM
Text of C Example PTP Applications *---------------------------------------------------------------------* FORWARD DECLARATIONS OF FUNCTIONS * --------------------------------- * * The functions declared are listed alphabetically by name: * *---------------------------------------------------------------------*/ void CheckTermError( short error ); void CommComplete( short count ); void ConnectLine( void ); char *FileName( char *file_name ); void GetDefaults( char *defaults ); void InitializeIO( char
Text of C Example PTP Applications else { if( error == END_OF_FILE ) { end_program_flag = TRUE; /* exit the program */ } else { DEBUG( ); }; /* if end_of_file */ }; /* if error */ } /* CheckTermError() */ /* *---------------------------------------------------------------------* COMM_COMPLETE FUNCTION * ---------------------- * * This function will do the following tasks. It also checks for errors * for each I/O operation: * * 1) copies the data received from X.
Text of C Example PTP Applications *-----------------------------------------------------------------* Step 2: Post a new read on the X.25 line, and check for errors. *-----------------------------------------------------------------*/ if( READ( comm_file, comm_buffR, MAX_COMM_READ, , READ_TAG ) != CCE ) { FILEINFO( comm_file, &error ); ReportCommError( error ); }; /* if read() */ /* *-----------------------------------------------------------------* Step 3: Cancel previous read on the terminal device.
Text of C Example PTP Applications /* *---------------------------------------------------------------------* CONNECT LINE (PLACE OR ACCEPT CALL) * ----------------------------------- * * This function does the following: * * 1) prompts user for selection of send or wait for a call to/from * the remote subdevice; * 2) depending on the user's selection, it establishes the connection * and sends appropriate code to CONTROL(); waits for its completion * and checks for error; * 3) if the user makes
Text of C Example PTP Applications /* *-----------------------------------------------------------------* Step 2: Based upon user's choice to CALL or WAIT: *-----------------------------------------------------------------*/ if( strncmp( term_buffs, CALL_OP, 4 ) == 0 ) { /* *-------------------------------------------------------------* CALL TO REMOTE * -------------* Place a call to the remote subdevice.
Text of C Example PTP Applications }; /* if awaitio() */ }; /* if control() */ } else if( strncmp( term_buffs, WAIT_OP, 4 ) == 0 ) { /* *-------------------------------------------------------------* WAIT FOR A CALL FROM REMOTE SUBDEVICE * ------------------------------------* Wait for a call from remote subdevice. Reset the flag to show * that no call was sent.
Text of C Example PTP Applications if( fprintf( stderr, "%s: Invalid input\n", prog_name ) < 0 ) { DEBUG(); }; /* if fprintf( stderr ) */ goto L_PROMPT; }; /* if strcmp() */ /* *-----------------------------------------------------------------* Step 4: Set communication line's parameter, and check for errors.
Text of C Example PTP Applications char *FileName( char *file_name ) { char *save_ptr; char *wp; save_ptr = wp = file_name; while( *wp != EOS ) { if( *wp++ == '.' ) save_ptr = wp; }; /* while (*wp != EOS ) */ return( save_ptr ); } /* FileName() */ /* *---------------------------------------------------------------------* GET_DEFAULTS FUNCTION * --------------------- * * This function retrieves the defaults and converts them to * an internal file name format.
Text of C Example PTP Applications { if( *ext_defaults != '.' ) { *wp = *ext_defaults; wp++; count--; } else { for( ; count > 0; count--, wp++ ) { *wp = ' '; }; /* for count */ count = 8; }; /* if *wp++ != '.
Text of C Example PTP Applications GetDefaults( (char *) defaults ); FNAMEEXPAND( out_device, x25_line, defaults ); end_program_flag = FALSE; /* *-----------------------------------------------------------------* Step 1: Open the remote X.25 subdevice. *-----------------------------------------------------------------*/ if( OPEN( x25_line, &comm_file, O_RDWR_DEPTH_2 ) != CCE ) { FILEINFO( -1, &error ); fprintf( stderr, "%s: Unable to open remote X.
Text of C Example PTP Applications *-----------------------------------------------------------------* Step 4: Prompt the user for terminal input.
Text of C Example PTP Applications if( error_msg[ index ].err_code == error ) { fprintf( stderr, "\n%s: %s\n", prog_name, error_msg[index].
Text of C Example PTP Applications }; /* if read() */ } /* PromptTerminal() */ /* *---------------------------------------------------------------------* REPORT_COMM_ERROR FUNCTION * -------------------------- * * This function is called if there are errors reported by the Guardian * I/O routines (e.g. READ, WRITE, etc).
Text of C Example PTP Applications /* *---------------------------------------------------------------------* TERMINAL_COMPLETE FUNCTION * -------------------------- * * This function is called to perform the following tasks if the main * function receives terminal input: * * 1) copies the terminal input into the comm write buffer; * 2) calls the WriteComm() function to write the data to the * remote subdevice.
Text of C Example PTP Applications *---------------------------------------------------------------------* MAIN FUNCTION *---------------------------------------------------------------------*/ #pragma nowarn( 93 ) int main( int argc, char *argv[], char *envp[] ) { short error = 0; short count = 0; prog_name = FileName( argv[0] ); if( argc != 2 ) { fprintf( stderr, "%s: missing required parameter\n" "\tSynopsis: %s
Text of C Example PTP Applications }; /* if error */ } else if( file == comm_file ) { if( error != 0 ) { ReportCommError( error ); } else { if( tag == READ_TAG ) { CommComplete( count ); PromptTerminal( ); }; /* if tag == read_tag */ }; /* if error */ } else { DEBUG( ); }; /* if file == term_file */ } /* while */ if( call_sent_flag ) CONTROL( comm_file, 12 ); /* clear the call to the remote */ } /* main() */ X25AM Programming Manual—527201-001 3- 89
Text of C Example PTP Applications X25AM Programming Manual—527201-001 3- 90
4 X3PAD Interface This section describes the X3PAD interface to the X25AM subsystem. Topics covered in this section include: Topic Page About the X3PAD Programmatic Interface 4-1 X3PAD and X25AM 4-1 X3PAD Operational States 4-4 Invoking the X3PAD Process 4-6 Establishing a Call 4-7 Terminal Commands 4-9 X3PAD Example 4-23 About the X3PAD Programmatic Interface X3PAD is a program that is provided with the X25AM subsystem, and serves as an interface to it.
X3PAD Input Source X3PAD Interface Figure 4-1. X3PAD Interface and the X25AM Subsystem HP NonStop System ATP6100 Process Character Data PTP Protocol X3PAD X25AM Dara Packets X.25 Packet-Switched Network VST0401.vsd X3PAD Input Source X3PAD requires a conversation-mode (also called character-mode) input source. Any source that can operate in conversation mode, such as a terminal or an application, can function as an input source.
Information Exchange X3PAD Interface When ITI is the Subdevice Protocol If the remote device is an application using a subdevice configured for the ITI protocol, supported by an X25AM process using the ITI protocol, then the subdevice must be configured as a conversation-mode-only device (type 6, subtype 0).
X3PAD Operational States X3PAD Interface Table 4-2. Filtering Remove (filter) from Output Data Stream Replacement Character BEL (Bell) “B” HT (Horizontal Tab) “T” Table 4-3. Semi-Filtering Remove (filter) from Output Data Stream Replacement Character BEL (Bell) “B” HT (Horizontal Tab) “T” Table 4-4. AM-Filtering Remove (filter) from Output Data Stream Adjust Cursor Position in Output Data Stream BS (Backspace) Move cursor back one space. LF (Line Feed) Move cursor to the next line.
Changing the Operational State of X3PAD X3PAD Interface receiving input from the terminal. For the X3PAD to receive PAD commands it must be in the command state, and not in the data transfer state. Changing the Operational State with a Terminal Command X3PAD enters the data-transfer state as a result of the CALL, RESUME, and SEND terminal commands. Anything that follows these commands is data.
Invoking the X3PAD Process X3PAD Interface SET BREAK parameters determine the actions that follow using the BREAK key when X3PAD is in the data transfer state. The BREAK key can also be disabled. The SET BREAK parameters are described as follows: SET BREAK [ DISCARD ] [ ESCAPE ] [ INTERRUPT ] [ SEND ] [ NONE ] DISCARD: Discard any data that follows. ESCAPE: Enter the command state. INTERRUPT: Send interrupt packet to remote DTE. SEND: Send Indication of Break packet to remote DTE.
Establishing a Call X3PAD Interface X25AM process that X3PAD accesses is the one that has been configured to control $line. command-list is a list of one or more terminal commands, separated by commas. You can execute the RUN command non-interactively by specifying X3PAD terminal commands in the run command rather than the input file. When the command string completes, the X3PAD process stops. Establishing a Call To establish a virtual circuit, the X3PAD (the calling DTE,) sends a Call Request packet.
Establishing a Call X3PAD Interface The Guardian CONTROL 11 procedure is used by a process to wait for a call. X3PAD always has a CONTROL 11 pending if no call has been established so that it can receive a call. The CALL command is used to initiate a call. CALL [ address ] A call can be cleared at any time, with or without intervention by the terminal user. When a call is cleared, a message is written to the OUT file in the following form: CALL CLEARED. clear-indication.
Terminal Commands X3PAD Interface Terminal Commands The user enters terminal commands in response to the X3PAD prompt or in command input files. X3PAD must be in the command state to accept terminal commands. Table 4-7 provides a summary of terminal commands. Detailed command descriptions follow this table. Table 4-7. Terminal Command Summary Command Purpose BREAK Generate interrupt packet. CALL Establish the call, and enter the data transfer state. CLEAR Clear the current call.
CALL Command X3PAD Interface CALL Command The CALL command initiates a call. CALL [ address ] address is a series of 1 to 8 digits representing the called network address. If a value has previously been set with the SET command, the address can be omitted. Table 4-8 summarizes potential CALL error messages. Table 4-8. CALL Command Messages Issued by X3PAD CALL ESTABLISHED. ERROR: CALL ALREADY IN PROGRESS: call-status ERROR: ADDRESS IS UNDEFINED. CALL CLEARED. clear-indication CALL ESTABLISHED.
CLEAR Command X3PAD Interface CLEAR Command The CLEAR command clears the current call (this is analogous to hanging up the phone). CLEAR Table 4-9 summarizes potential CLEAR error messages. Table 4-9. CLEAR Command Messages Issued by X3PAD CALL CLEARED. clear-indication THERE IS NO CALL IN PROGRESS. CALL CLEARED. If the CLEAR command has been successfully executed, X3PAD writes a message to the OUT file and continues executing terminal commands. THERE IS NO CALL IN PROGRESS.
EXIT Command X3PAD Interface VOLUME causes the name of the default volume and subvolume to be displayed. If no keywords are specified following ENV, all values are displayed. EXIT Command The EXIT command clears the current call and stops X3PAD. EXIT FC Command (Fix Command) The FC command displays the previous line for editing and re-execution. The FC command works in the same way as other NonStop software FC commands. FC HELP Command The HELP command displays the syntax for the specified command.
OBEY Command X3PAD Interface If an unrecoverable error occurs while writing to a LOG file, the file is closed and a message is written to the OUT file. Table 4-10 summarizes potential LOG error messages. Table 4-10. LOG Command Messages Issued by X3PAD ERROR: I CANNOT OPEN file. I HAVE CLOSED THE LOG FILE file. I HAVE CREATED AN EDIT FILE NAMED file. THE CURRENT LOG FILE IS file. THERE IS NO CURRENT LOG FILE. I HAVE CLOSED THE LOG FILE file. If a log file already exists, it is closed.
OUT Command X3PAD Interface When X3PAD reads the data, it enters the data transfer state and sends the data to the X25AM process for transmission to the network. If X3PAD is in the data transfer state when the EOF is detected, it closes the obey file and remains in the data transfer state. If X3PAD cannot open file, it writes a message to the OUT file and continues to read input from the current input file. Table 4-11 summarizes potential OBEY error messages. Table 4-11.
RECEIVE Command X3PAD Interface RECEIVE Command The RECEIVE command causes X3PAD to begin copying data transmitted from a remote device into a file. RECEIVE [ TO file ] [ STOP ] file is the file to which data from the remote device is copied. X3PAD creates the file if it doesn’t exist. STOP terminates writing data to the current RECEIVE file. If an unrecoverable error occurs while writing to the RECEIVE file, it is closed and a message is written to the OUT file.
RESUME Command X3PAD Interface ? If X3PAD is writing to a RECEIVE file and a RECEIVE command is issued, “?” is written to the OUT file. RESUME Command The RESUME command causes X3PAD to enter the data transfer state. RESUME If a call is in progress, X3PAD enters the data transfer state. Table 4-14 summarizes potential RESUME error messages. Table 4-14. RESUME Command Messages Issued by X3PAD THERE IS NO CALL IN PROGRESS THERE IS NO CALL IN PROGRESS.
SET Command X3PAD Interface ERROR: I CANNOT OPEN file. If file does not exist, a message is written to the OUT file. X3PAD resumes executing terminal commands. ERROR: THERE IS NO CALL IN PROGRESS. A call must be in progress as a result of the CALL command for the SEND command to execute. If a call is not in progress, a message is written to the OUT file. SET Command The SET command sets operational parameters for X3PAD.
SET Command X3PAD Interface Table 4-16. X3PAD SET Description param param-value LINEFOLD integer | NONE LINEKILL character NOTIFY ON | OFF PARITY ODD | EVEN | NONE PROMPT ON character | OFF SEND CR | ETX | NONE SPEED number BPS character can be any graphic character enclosed in quotation marks or an ASCII mnemonic for a nongraphic character. A quotation mark itself is indicated by four consecutive quotation marks. integer is a decimal integer within the range of 0 through 255.
SET Command X3PAD Interface INTERRUPT: Send interrupt packet to remote DTE. SEND: Send Indication of Break packet to remote DTE. Default values are INTERRUPT, SEND, and DISCARD. CHARKILL. If EDITING is ON and X3PAD reads the specified ASCII character from IN file, character is deleted from IN file buffer. Default value is BS (backspace). CRDELAY. integer NUL characters are written to the OUT file after each carriage return.
SET Command X3PAD Interface ESCAPE. If the specified character is entered while X3PAD is in the data-transfer state, it enters the command state. NONE indicates no such character has been specified. Permitted values for character are DLE (normally CTRL-P) and ASCII graphic (printable) characters. If an unacceptable value is used, a message is written to the OUT file: ERROR: ESCAPE CANNOT BE SET TO character. Default value is DLE. LFDELAY.
SET Command X3PAD Interface LINEKILL. If EDITING is ON, reads specified character from IN file, and all characters currently in the buffer are discarded. Default value is CANCEL. NOTIFY. If ON, status indication is written to OUT file whenever a change occurs in the status of the current call. For example, if NOTIFY is ON and the remote DTE changes the value of an operational parameter, a status indication is written. If NOTIFY is OFF, any indication of change in status is suppressed. Default value is ON.
SHOW Command X3PAD Interface ERROR: SPEED CANNOT BE SET. SHOW Command The SHOW command displays the current value of X3PAD operational parameters. SHOW [ param ] param specifies the parameter to be displayed. The display is written to the OUT file. If param is omitted, the values of all operational parameters are displayed with one value per line. Parameter values for param are described in Table 4-16 on page 4-17. STATUS Command The STATUS command displays the status of the current call.
SYSTEM Command X3PAD Interface For more information about clear-indication, see Establishing a Call on page 4-7. For more information about address, see SET Command on page 4-17. SYSTEM Command The SYSTEM command sets the default system name. SYSTEM [ \ system ] \ system is a Guardian system name. This command sets the default system name, \ system, which is used to resolve ambiguous file names. The default \ system value is the system in which X3PAD runs.
X3PAD Example X3PAD Interface . Example 4-1. X3PAD session X3PAD $X25.#PTP !Run X3PAD program } set echo on, editing on, linefold 80 !Set PAD parameters } call 123-456-78911 !Call remote system CALL CLEARED. THAT NUMBER NOT IN SERVICE. !Call failed } call 123-456-78910 !Change address ! and retry CALL ESTABLISHED !Call established The local terminal functions as if it were connected to the remote host system.
5 Errors and Error Recovery for ITI and PTP This section provides information about: Topic Page Error Definition 5-1 X25AM Errors and Error Descriptions 5-1 Suggested Recovery Action 5-4 Error Definition Figure 5-1 illustrates the error generation categories file system, X25AM, and low-level I/O routines. Figure 5-1. Error Generation Application File System X25AM Low Level I/O Routines Errors Errors Errors Errors VST0501.vsd The errors discussed in this section are those generated by X25AM.
Errors and Error Recovery for ITI and PTP X25AM Errors and Error Descriptions Table 5-1. Guardian Errors Returned by X25AM and Descriptions (page 1 of 2) Error Error Description 1 A read procedure reached end-of-file or a write procedure reached end of tape. 2 The operation specified is not allowed on this type of file. 10 The new record or file could not be created because a file by that name or a record that has that key already exists. 12 [EGUARDIANOPEN] The file is in use.
Errors and Error Recovery for ITI and PTP X25AM Errors and Error Descriptions Table 5-1. Guardian Errors Returned by X25AM and Descriptions (page 2 of 2) Error Error Description 115 X25 Network problem—RESET FAILURE. 120 Data parity error, or attempt to access a tape whose density is higher than the switch setting on the tape drive. 121 Data overrun error, hardware problem.
Suggested Recovery Action Errors and Error Recovery for ITI and PTP Suggested Recovery Action Rather than testing for each error code, for example, in a CASE statement, the following approach is recommended. • • • • An OPEN is issued and completes with an error. ° ° ° Delay 1 second. Retry the OPEN for as long as seems reasonable for the application. Issue a console message and abort the process after the retry limit is reached. A CLOSE is issued and completes with an error. ° ° Retry 3 times.
Suggested Recovery Action Errors and Error Recovery for ITI and PTP Table 5-2. Errors Requiring Application-Dependent Recovery (page 2 of 2) Error Returned by ITI Returned by PTP 172 X The reply was not proper for the protocol; an invalid control sequence or invalid data was received. 173 X The maximum allowable NAKs were received (transmission error); the MCW was valid on WRITE; or the request ID was invalid. 191 Description Device powered on by itself, or terminal reset. Table 5-3.
Suggested Recovery Action Errors and Error Recovery for ITI and PTP Table 5-3. Errors Not Requiring Application-Dependent Recovery (page 2 of 2) Error Returned by ITI Returned by PTP 164 X X A disconnect was received, or the data line is occupied (busy). 171 X X No response was received on bid/poll/select, or the reply is invalid. 179 X X The application buffer is incorrect; a control request is pending; or an autopoll is active.
A Procedures Summary for X25AM This appendix contains descriptions of the procedures you use to perform specific X25AM programming tasks. The procedures consist of: Topic Page CONTROL Statements A-1 SETMODE Statements A-2 SETPARAM Statements A-11 CONTROL Statements These are the X25AM CONTROL statements. Note. CONTROL procedures are only used with a switched virtual circuit (SVC). They are not needed for a permanent virtual circuit (PVC) connection.
SETMODE Statements Procedures Summary for X25AM The remote network address must be specified before issuing the CONTROL. This is done with the SCF subdevice (SU) attribute DESTADDR, when the subdevice is configured with SETPARAM 1 in your application. CALL CONTROL (filenum,operation) = file number filenum operation = 17 SETMODE Statements These are the X25AM SETMODE statements. SETMODE 6 Set line spacing. SETMODE 6 is accepted but not used when the terminal is in page mode.
SETMODE 9 Procedures Summary for X25AM param1 param2 0 = conversation mode (default) 1 = page mode 0-15 = Number of operation retries for the page-mode terminal error counters 1 and 2 (Default is 3 retries). SETMODE 9 Set the interrupt characters for ITI. ITI looks for these characters, includes some of them in the data buffer that will be transferred to the application, and may send a control sequence to the terminal. SETMODE 9 is accepted but not used when the terminal is in page mode.
SETMODE 12 Procedures Summary for X25AM = Enable break cpu,pin param2.<15> 0 = normal mode, any file access 1 = break mode, only break access SETMODE 12 Set terminal break access mode. CALL SETMODE (filenum, function,, param2) = file number filenum function param2.<15> = 12 0 = normal mode, any file access 1 = break mode, only break access SETMODE 20 Set the echo mode. SETMODE 20 is accepted but not used when the terminal is in page mode.
SETMODE 22 Procedures Summary for X25AM Table A-1. Parameter 22 Values and Bits per Second nn Bits per Second 0 50 1 75 2 110 3 134.5 4 150 5 300 6 600 7 1,200 8 1,800 9 2,000 10 2,400 11 3,600 12 4,800 13 7,200 14 9,600 15 19,200 18 48,000 19 56,00 20 64,000 21 75/1,200 Figure A-1. Result of Issuing SETMODE 22 Application X25AM-ITI PAD-TERMINAL Other Network SETMODE 22 Q Packet (READ PAD Param 11) Param 11 Complete VST0A01.
SETMODE 24 Procedures Summary for X25AM SETMODE 24 Set ITI data parity generation for data going to the PAD. This depends on the network parity requirement. CALL SETMODE (filenum, function, param1) = file number filenum function = 24 param1.<14:15> 0 = Parity odd 1 = Parity even 2 = Parity none (default) SETMODE 27 Set spacing. SETMODE 27 is accepted but not used when the terminal is in page mode. It becomes effective when the terminal mode is changed to conversation mode.
SETMODE 31 Procedures Summary for X25AM READ and WRITE requests are queued in separate read and write queues. The write portion of a WRITEREAD request goes in the write queue. When this completes, the read portion goes in the read queue. Thus, intermingling READs and WRITEREADs can produce unexpected results. SETMODE 31 For PTP Set the data exchange mode and the size of the data field in the first packet if it is less than the PACKETSIZE configured for the subdevice.
SETMODE 32 Procedures Summary for X25AM param1.0 param2 0 = ignore param2 1 = param2 specifies packet size 0 = use default packet size >0 = packet size of first outgoing packet in each WRITE or WRITEREAD request SETMODE 32 Set the network incoming call negotiation parameters. CALL SETMODE (filenum, function, param1 param2, last params<0>) = file number filenum function = 32 param1.<0> param1.<1> 0 = Do not accept reverse charge from remote process. (= SCF SU ACCEPTCHG OFF).
SETMODE 38 Procedures Summary for X25AM 1 = Negotiate throughput class. param2.<8:11> = Incoming throughput class. param2.<12:15> = Outgoing throughput class. When the SETMODE operation completes: last params[0] .<3> .<4> 0 = The last call accepted for the subdevice did not request reverse charges. 1 = The last call accepted for the subdevice did request reverse charges. 0 = The last call accepted for the subdevice was not a priority call.
SETMODE 38 Procedures Summary for X25AM Table A-2. Acceptable Line-Termination Characters Decimal Value Character 7 BEL 8 BS 9 HT 10 LF 11 VT 12 FF 13 CR 14 SO 17 DC1 18 DC2 19 DC3 20 DC4 23 ETB 24 CAN 25 EM 26 SUB 27 ESC 28 FS 29 GS 30 RS 31 VS 32 SPACE 127 DLE The application is responsible for setting the cursor position once SETMODE 38 is in effect. Table A-3 on page A-11 lists SETMODE functions not supported by ITI.
SETPARAM Statements Procedures Summary for X25AM Table A-3. SETMODE Functions Not Supported by ITI # Function Action by ITI 13 Set system read termination on ETX character. Invalid operation. Guardian error = 2. 14 Set system read termination on interrupt characters. Invalid operation. Guardian error = 2. 23 Set character size. Invalid operation. Guardian error = 2. SETPARAM Statements These are the X25AM SETPARAM statements. SETPARAM 1 Get the remote DTE address.
SETPARAM 4 Procedures Summary for X25AM Set the Clear Cause and Diagnostic codes: CALL SETPARAM (filenum, function, Clear Cause code byte, Diagnostic code byte, length is 2 bytes) filenum function = file number Clear Cause code byte = some value Diagnostic code byte length is 2 bytes = some value =2 =2 SETPARAM 4 Get the Reset Cause and Diagnostic codes: CALL SETPARAM (filenum, function,,, Reset Cause code byte, Diagnostic code byte, length is 2 bytes) Set the Reset Cause and Diagnostic codes: C
SETPARAM 7 Procedures Summary for X25AM Initialize the counters. CALL SETPARAM (filenum, function, 8 integer values, length is 16 bytes) filenum = file number function =6 8 integer values = Refer to Table A-4 length is 16 bytes = 16 Table A-4 lists the error counters for SETPARAM 6. Table A-4. Page-Mode Error Counters (SETPARAM 6) Number Counter Function 1 Response Timeouts # of times ITI failed to obtain a reply from the terminal before Page Mode Timer expired.
SETPARAM 8 Procedures Summary for X25AM function =7 cug^id = two-digit or four-digit number depending on CUGTYPE length = 2 or 4 bytes SETPARAM 8 Get the protocol identifier. CALL SETPARAM (filenum, function,,, protocol^ID, length) Set the protocol identifier. CALL SETPARAM (filenum, function, protocol^ID, length) filenum function = file number protocol^ID = protocol identifier length = 1, 2, 3, or 4 bytes =8 The protocol identifier refers to the protocol that you set.
SETPARAM 21 Procedures Summary for X25AM Table A-5. Reasons for Circuit Disconnection (SETPARAM 9) (page 2 of 2) Integer Reason for Circuit Disconnection 4 Processor down. 5 Subdevice aborted with SCF. 6 Subdevice stopped with SCF. 7 Clear request issued. 8 Clear request received. 9 Incoming data packet > PACKETSIZE. 10 Incoming packet invalid for circuit state. 11 Restart Request issued. 12 Inconsistent internal data structure.
SETPARAM 22 Procedures Summary for X25AM SETPARAM 22 The page-mode timeout interval. The ITI timer is used for determining page-mode timeout, the time which can elapse before the absence of a reply from the terminal is considered to be an error. Get the timeout interval. CALL SETPARAM (filenum, function,,, integer, length) filenum = file number function = 22 integer = interval in seconds length = 2 byte length of integer SETPARAM 23 Get the port number. It can be larger than 255.
SETPARAM 30 Procedures Summary for X25AM SETPARAM 30 Get the remote NSAP address: CALL SETPARAM (filenum, function,,, extended^address, length) Set the remote NSAP address: CALL SETPARAM length) (filenum, function, extended^address, filenum = file number function = 30 extended^address = remote NSAP address length = length of address extension (maximum 40 bytes) SETPARAM 31 Get the local NSAP address type: CALL SETPARAM (filenum, function,,, address^type, length) Set the local NSAP address ty
SETPARAM 33 Procedures Summary for X25AM SETPARAM 33 Get the Closed User Group type (CUGTYPE): CALL SETPARAM (filenum, function,,, cug^type, length) Set the Closed User Group type (CUGTYPE): CALL SETPARAM (filenum, function, cug^type, length) filenum function = file number cug^type = CUG type is an integer in the range of 0 to 3 where = 33 0 = BASIC 1 = EXT 2 = BASICOA 3 = EXTOA = 2 bytes length SETPARAM 34 Get the configured bilateral Closed User Group (BCUG) ID: CALL SETPARAM (filenum,
SETPARAM 36 Procedures Summary for X25AM function = 35 DNIC = n*4-digit number (n is the number of RPOA transit networks with the range from 1 to 7; the 4-digit numbers are ASCII characters) length = n*4 (the length in bytes of the RPOA DNICs) SETPARAM 36 Get the transit delay value from the last call request packet. CALL SETPARAM (filenum, function,,, transit^delay, length) Set the transit delay value.
SETPARAM 38 Procedures Summary for X25AM SETPARAM 38 Get the originally called DTE address. CALL SETPARAM (filenum, function,,, dte^address, length) filenum function = file number dte^address = ASCII string of decimal digits (for example, “12345678”) representing the originally called DTE address. length = maximum 15 bytes = 38 SETPARAM 39 Get the reason the call was redirected or deflected.
SETPARAM 41 Procedures Summary for X25AM function = 40 reason^code = an integer indicating the reason the called address has been modified. For reasons returned by the X.25 network, see Table A-7. length = 2 bytes Table A-7.
SETPARAM 41 Procedures Summary for X25AM X25AM Programming Manual—527201-001 A -22
B Diagnostic Codes for X25AM This appendix lists and describes the standard diagnostic codes used by X25AM. The diagnostic codes are specified as hexadecimal and decimal in the form nn/nn (for example, 2B/43). Topics covered in this section include: Topic Page Restart Diagnostics B-2 Reset Diagnostics B-2 Clear Diagnostics B-4 For a complete list of diagnostic and cause codes refer to CCITT Recommendations and ISO 8208. Note.
Restart Diagnostics Diagnostic Codes for X25AM Restart Diagnostics 00/00 Line was started with SCF or CMI START. 11/17 Restart Confirmation packet while in state R1. 12/18 Restart Confirmation packet while in state R2 (DCE). Call Accepted, Call Request, Data, Interrupt, Interrupt Confirmation, Clear, Clear Confirmation, Reset Confirmation, RR, RNR, or Reject packet with LCN less than or greater than 0 while in state R2 (DCE). 13/19 Restart Confirmation packet while in state R3 (DTE).
Reset Diagnostics Diagnostic Codes for X25AM 27/39 Data packet too long (data greater than packet size). Reset packet too long (greater than 5). Interrupt packet too long (greater than 4). Interrupt Confirmation packet too long (greater than 3). 29/41 Restart or Restart Confirmation packet with LCN less than or greater than 0 while in state D1, D2 (DCE), or D3 (DTE). 2B/43 Unauthorized interrupt confirmation (interrupt confirmation, but no unacknowledged interrupt has been transmitted).
Clear Diagnostics Diagnostic Codes for X25AM Clear Diagnostics 00/00 CPU or CIU switch while in state P2, P3, P5, P6, or P7 (call setup in progress). PTP mode 2 user tried to write an invalid Call Accepted packet. Application cleared the call using CONTROL 12 but did not set a Clear Diagnostic. 14/20 Call Accepted, Clear Confirmation, Reset, Reset Confirmation, Interrupt, Interrupt Confirmation, Data, RR, or RNR packet while in state P1.
Clear Diagnostics Diagnostic Codes for X25AM 42/66 Invalid packet size (less than 64 or greater than 4096), invalid window size, invalid throughput value. 43/67 DATEX-P NETID with line address less than 8 digits. Port number greater than 4 digits. Non-decimal digit in called address. 45/69 Invalid facility/registration length. 80/128 Memory for packet buffers could not be allocated.
Clear Diagnostics Diagnostic Codes for X25AM X25AM Programming Manual—527201-001 B- 6
C D-Series Supplement for X25AM This appendix provides an overview of how the X25AM subsystem has been adapted to work with the system running D-Series RVUs.Topics covered in this section include: Topic Page File-System Procedures C-1 File-System Errors C-2 The impact of this adaptation is as follows: • • No new functionality has been introduced to this subsystem other than its ability to run at a high PIN in a D-series system.
Summary of Relevant D-Series File-System Procedure Calls D-Series Supplement for X25AM Summary of Relevant D-Series File-System Procedure Calls Most of the file-system procedure calls used by X25AM are the same for systems running G-series or D-series RVUs. The D-Series procedure calls relevant to X25AM are listed in Table C-1. Refer to the Guardian Procedure Calls Reference Manual for a full description of these and other D-series procedure calls. Table C-1.
Glossary This glossary includes a selection of terms used in this manual. ABEND. Abnormal termination of a process. address. Unique network designation identifying a device. ASCII. American Standard Code for Information Interchange. Standard method of coding data, consisting of seven bits for each character plus one parity bit. ATP6100. A NonStop Kernel-specific protocol used to access remote terminals, also refers to a communications subsystem.
call setup. Glossary call setup. Descriptive phrase for the activities required to establish a virtual circuit, involving call request, incoming call, call accepted, and call connected packets. Data transmission between the caller and the remote entity can begin after the circuit is established. called address. Network address of a remote device or system (the entity being called). calling address. Network address of a local device or system (the entity making the call). call user data (CUD).
CPADPARMS. Glossary CPADPARMS. Conversational mode user-settable options for configuring a Packet Assembler/Disassembler (PAD). C-series system. A system running a C-series version of the Guardian operating system. A C-series system allows a maximum of 256 concurrent processes in a CPU and can run unconverted processes only. CSM. Communications Subsystem Manager. Process coordinating certain functions for 6100 controllers. The CSM is responsible for downloading microcode to the controllers. CUG.
fast select. Glossary fast select. Optional network facility allowing user data to be put into call request, call accepted, clear, and clear request packets. flow control. Mechanism by which the recipient of incoming data notifies the sender to stop or start transmitting data depending on the state (full or empty) of the recipient's incoming data buffer. frame. Message unit consisting of a sequence of bits bracketed by beginning and ending flag sequences. It can contain packets. frame layer.
ITI protocol. Glossary ITI protocol. Interactive terminal Interface protocol. For X25AM, it is used by the X25AM process when an application exchanges data with a remote terminal connected to an X.25 packet-switching network with a PAD. LAP. See Link Access Procedure and Link Access Procedure in a Balanced System (LAP and LAPB). LAPB. See Link Access Procedure and Link Access Procedure in a Balanced System (LAP and LAPB). leased line.
NAM protocol. Glossary NAM protocol. Network Access Method protocol. Used by the X25AM process when other NonStop communications subsystems also using the NAM protocol want to use an X.25 network or protocol for connection. network. Group of nodes connected by communications lines. node. Point of connection in a network. Usually consists of a computer or other peripheral device that provides a switching or terminating point in the network. nonswitched line.
parity checking. Glossary parity checking. Testing a group of bits to determine whether the number of ones in the group is odd or even. PDN. See public data network (PDN). permanent virtual call (PVC). Association between two entities for packet exchange. Set up by a call, it remains in place in the data-transfer phase until terminated. A call consists of data transfer and does not require call set-up and call clearing physical level. X.
SCF. Glossary SCF. Subsystem Control Facility. A subsystem used for issuing configuration and information requests between the user and some communications subsystems. SIT. System-image tape. Contains an operating system ready to be loaded onto an NonStop system. SU. Name of an object used by SCF to refer to a subdevice. subdevice. Logical component of X25AM, providing access to a circuit. subscriber access link. Communications link between the local device or system and the network.
X3PAD. Glossary X3PAD. Program that comes with X25AM, providing communications from a local terminal to remote entities in the network by means of an X25AM process. X25AM. System process that controls an X.25 line. User-written application processes communicate with an X.25 network by means of this process. X.25. Set of international recommendations for the connection between computers, terminals, or other devices and a public network that operates using packet-switching 3650/6100 controller.
X.25.
Index A ADD or ALTER commands 1-8 Annex G DTE Facilities 1-19 Application access a subdevice 1-1 assigning a port number 1-5 description ITI 2-1 PTP 3-1 file-system procedure summary 1-2 open a subdevice 1-1 X25AM errors 5-1 X25AM protocols 1-2 ATP6100 process 2-1 B BREAK key processing 4-5 BREAK terminal command 4-9 BREAK (SET) terminal command 4-18 C Call Accepted packet call setup 1-3 X25AM support 1-11 Call user data 1-11 Called and Calling Address 1-11 facilities 1-11 Call clearing 1-3 Clear Confirma
D Index Clear Indication Packet X25AM support 1-13 Clear Request packet call clearing 1-3 X25AM support 1-13 CLEAR terminal command 4-11 Clearing a Call ITI application 2-6 PTP application 3-4 CLOSE ITI application 2-25 PTP application 3-29 Closed User Group See CUG CMI commands 1-10 Command state for X3PAD 4-4 Condition codes D00 C-2 CONTROL 11 A-1 CONTROL 12 A-1 CONTROL 17 A-1 control packet and data packet, compared 4-7 Conversion mode READ Request 2-5 WRITE Request 2-6 WRITEREAD Request 2-5 CRDELAY (S
E Index E ECHO (SET) terminal command 4-19 EDITING (SET) terminal command 4-19 ENV terminal command 4-11 Error definition 5-1 recovery 5-4 X25AM errors 5-1 ESCAPE (SET) terminal command 4-20 Example application program 3-72 EXIT terminal command 4-12 Expand process 1-19 Extended packet sequencing subscription parameters 1-15 F Fast-select facility 1-17, 3-21 FC terminal command 4-12 File system buffer 1-1 information transfer 1-1 interface ITI application 2-2 PTP application 3-2 subdevice 1-1 File-system
I Index ITI application (continued) CONTROL 11 waiting for a call 2-23, 2-26 CONTROL 12 disconnect a call 2-26 CONTROL 12 - disconnect a call 2-25 CONTROL 17 - make a call 2-23, 2-26 control packet types 2-9 data forwarding 2-16 data processing 2-16 data transmission from the terminal 2-3 default interrupt characters 2-16 file-system interface 2-2 file-system procedures 2-2 framing characters 2-18 initiating a call 2-3 ITI protocol 1-2 OPEN 2-26 packetizing data 2-17 PAD parameters 2-10 processing data 2-
K Index ITI application (continued) SETPARAM 1 - remote DTE address 2-22, 2-34 SETPARAM 2 - Clear Diagnostic codes 2-24, 2-35 SETPARAM 21 - 64-byte segments 2-25, 2-38 SETPARAM 22 - timeout interval 2-25, 2-38 SETPARAM 23 - port number 2-22, 2-39 SETPARAM 29 - local NASP address 2-22, 2-39 SETPARAM 29 - remote NASP address 2-22, 2-40 SETPARAM 31 - local NSAP address type 2-22, 2-40 SETPARAM 32 - remote NSAP address type 2-22, 2-40 SETPARAM 33 - CUGTYPE 2-22, 2-41 SETPARAM 34- BCUG 2-22, 2-41 SETPARAM 35-
N Index N N1 subscription parameter 1-14 N2 subscription parameter 1-14 NAM protocol 1-2, 1-19 Naming convention, subdevice 1-1 Network call routing Call Request packet 1-3 Incoming Call packet 1-3 Network subscription parameters See Subscription parameters Nonstandard default packet size 1-15 throughput class 1-15 window size 1-16 NOTIFY (SET) terminal command 4-21 O OBEY terminal command 4-13 OPEN ITI application 2-26 PTP application 3-31 OUT terminal command 4-14 P Packet call clearing 1-6 call setup
P Index Per call facilities (continued) throughput-class negotiation 1-17 transit delay facility 1-18 window-size negotiation 1-17 Permanent Virtual Circuit See PVC Port number assigning in application 1-5 assigning to subdevice 1-5 definition 1-3 multiple port numbers 1-4 multiple subdevices 1-4 recommended use 1-6 subaddressing 1-3 subdevice 1-3 supported digits 1-5 supported range 1-5 Processing data ITI application 2-16 Programming 2-20 PTP application 2-20, 3-24 PROMPT (SET) terminal command 4-21 Pro
P Index PTP application (continued) wait for data exchange (mode 3) 3-59 programming task call disconnection reason 3-29 clearing a call 3-28 Clear, Reset, Restart Diagnostic codes 3-29 counting 64-byte segments 3-29 opening a subdevice file 3-24 reading incoming data 3-28 reinitializing SETMODE values 3-25 reinitializing SETPARAM values 3-25 retrieving call request information 3-25 setting call request information 3-26 setting device dependent functions 3-25 waiting for an incoming call 3-27 writereading
Q Index PTP application (continued) WRITEREAD 3-5, 3-7, 3-9, 3-12, 3-23, 3-28, 3-43 PVC data transfer 1-2 subscription parameter 1-15 Q Q bit 2-9, 3-6, 4-7 QLLC protocol 1-2 Qualifier bit See Q bit R READ ITI application 2-5, 2-26 PTP application 3-3, 3-7, 3-8, 3-11, 3-22, 3-31 canceling 3-2 two-step 3-23 RECEIVE terminal command 4-15 Recommendation X.25 4-8 Recommendation X.28 2-8 Recommendation X.29 2-8 Recommendation X.
T Index setting and fetching the Call User Data 1-8 SHOW terminal command 4-22 SNAX connection 1-2 SNAX process 1-19 SPEED (SET) terminal command 4-21 static CUD data 1-9 STATUS terminal command 4-22 Subaddressing 1-3 port number 1-3 Subdevice accessing 1-1 from an application 1-1 assigning a port number 1-5 assigning an incoming call 1-5 file-system 1-1 file-system buffer 1-1 naming convention 1-1 numbering 1-5 opening 1-1 from an application 1-1 port number 1-3, 1-5 protocol 1-2 Subscription parameters
U Index X Transit delay facilities 1-18 Two-step READ 3-23 U User Data and Call User Data (CUD), compared 1-7 V Valid packet types (PTP mode 2) 3-10 Virtual call call clearing 1-2 call setup Virtual call data transfer 1-2 packet 1-2 subscription parameter Virtual circuit call setup 1-2 X3PAD 4-7 VOLUME terminal command 4-23 W Waiting for a call ITI application 2-4 PTP application 3-3 Window-size negotiation 1-17 WRITE ITI application 2-6 PTP application 3-4, 3-5, 3-7, 3-9, 3-12, 3-22, 3-43 WRITEREAD I
X Index X25AM support (continued) Call User data 1-11 Called Address 1-10 Calling Address 1-11 facilities 1-11 Restart Cause and Diagnostic packet 1-13 subscription parameters See Subscription parameters X3PAD ADDRESS parameter of SET command 4-18 BREAK parameter of SET command 4-18 BREAK terminal command 4-9 call establishment 4-7 CALL terminal command 4-10 CHARKILL parameter of SET command 4-19 CLEAR terminal command 4-11 CRDELAY parameter of SET command 4-19 data exchange with remote terminal 4-2 descr
X Index user-configurable options 2-12 VOLUME command 4-23 X25AM Programming Manual—527201-001 Index -13
X Index X25AM Programming Manual—527201-001 Index -14