Networking and Data Communications Library SNAX Connection Manager (SNAX/CM) Manual Abstract This manual is written primarily for system analysts and programmers who design and implement SNAX connection management applications. These readers should have a working knowledge of Tandem application programming and Tandem’s SNAX/XF software. Part Number 105781 Edition Second Published Product Version Release ID Supported Releases December 1994 SNAX/CM D30 (T9329D30) D30.
Document History Edition Part Number Product Version Earliest Supported Release Published First Second 097842 105781 SNAX/CM D21 SNAX/CM D30 D72.00 based on D20.01 D30.00 April 1994 December 1994 New editions incorporate any updates issued since the previous edition. A plus sign (+) after a release ID indicates that this manual describes function added to the base release, either by an interim product modification (IPM) or by a new product version on a .99 site update tape (SUT).
New and Changed Information The sections in this manual have been newly created or compiled from sections in preexisting SNAX/XF manuals, as follows: Section Contents “About This Manual” Section 1, “Introduction” New. Formerly part of Section 10 in the SNAX/XF Application Programming Manual; added information about support for Token-Ring networks. Formerly Section 8 in the SNAX/XF Configuration and Control Manual.; revised to include only one X.
New and Changed Information (This page left intentionally blank) iv 097842 Tandem Computers Incorporated
Contents Preface ix Notation Conventions Section 1 xiii SNAX Connection Manager (SNAX/CM) What Is SNAX Connection Manager? 1-1 Components of a SNAX/CM Environment Log File 1-2 Server 1-2 SNAX/XF Service Manager 1-4 Communication Lines 1-4 1-1 Running SNAX/CM 1-4 SNAX/CM RUN Examples 1-6 Running SNAX/CM Interactively 1-8 Running SNAX/CM Programmatically Tracing SNAX/CM 1-8 Section 2 1-8 Configuring SNAX/CM Configuring the Network 2-1 System Generation Considerations SCF Attributes 2-3 2-1 SNAX/
Contents Section 4 SNAX/CM Server Server for SNAX Connection Manager 4-1 SNAX/CM Message Structures 4-2 Variable-Length Data Structure 4-2 Structure When a Line Is Connected 4-3 Structure When a Line Is Disconnected 4-3 Structure When a Line Is Rejected 4-4 Example Using Message Structures 4-4 Validation Processes for Incoming Calls 4-5 Validating the XID String 4-5 Validating the Call String 4-6 Messages Returned by the Validation Process 4-6 Message Structures for SNAX/CM Replies 4-6 Creating a User-Wri
Contents 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 46: Appendix B ZSXC-EVT-CALL-IN-CALLADDR-OK A-28 ZSXC-EVT-CALL-IN-XID-OK A-29 ZSXC-EVT-CALL-IN-CONNECTED A-30 ZSXC-EVT-CALL-IN-CALLADDR-REJ A-32 ZSXC-EVT-CALL-IN-XID-REJ A-34 ZSXC-EVT-TACL-NEWPROCESS-ERR A-36 ZSXC-EVT-TACL-OPEN-ERR A-38 ZSXC-EVT-TACL-WRITE-ERR A-40 ZSXC-EVT-TACL-OK A-42 ZSXC-EVT-SERVER-OPEN-ERR A-44 ZSXC-EVT-SERVER-WRITE-ERR A-46 ZSXC-EVT-SNAX-ACCESS-FAILED A-48 ZSXC-EVT-DISABLED A-50 ZSXC-EVT-CALL-ACCEP
Contents Index Figures Index–1 Figure 1-1. SNAX/CM Environment 1-2 Figure 1-2. SNAX/CM in an X.25 Network 1-7 Figure 2-1. Calling In or Out Using Multiple SNAX/CM Processes Figure 2-2. Token-Ring and SNAX/CM 2-8 Figure 2-3. Addressing Information in a Token-Ring Environment Figure 4-1. Sample Server Environment 4-2 Figure 4-2. Interfaces to the Server Process 4-9 Tables Table 1-1. Example Alias LU Names 1-4 Table 3-1. SNAX/CM Commands Table A-1. Standard Tokens 3-1 A-2 Table B-1.
About This Manual SNAX Connection Manager (SNAX/CM) is a subsystem that allows you to manage connections for calls coming in to and out from a Tandem system over an X.25 or a Token-Ring network. This first edition of the SNAX Connection Manager Manual incorporates information about SNAX/CM that was previously documented in other SNAX/XF manuals (see the section, “New and Changed Information”). This edition also incorporates information about Tandem’s implementation of Token-Ring networks support by SNAX/XF.
About This Manual Related Manuals Related Manuals Tandem Reference and System Manuals The following manuals can assist you in your programming tasks, as well as provide general information about other Tandem programmatic interfaces or the SNA environment.
About This Manual Your Comments Invited Your Comments Invited After you have had a chance to use this manual, please take a moment to fill out the Reader Comment Card and send it to us. The Reader Comment Card is located at the back of the printed manual and as a separate file in the CD Read Document List. You can FAX the card to us at (408) 285-6660 or mail the card by using the business reply address on the back of the card in the printed manual.
About This Manual Your Comments Invited (This page left intentionally blank) xii 097842 Tandem Computers Incorporated
Notation Conventions General Syntax Notation The following list summarizes the conventions for syntax presentation in this manual. Notation Meaning UPPERCASE LETTERS Uppercase letters indicate keywords and reserved words; enter these items exactly as shown. Items not enclosed in brackets are required. Example: MAXATTACH lowercase italic letters Lowercase italic letters indicate variable items that you supply. Items not enclosed in brackets are required.
Notation Conventions General Syntax Notation Notation Meaning 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. An ellipsis immediately following a single syntax item indicates that you can repeat that syntax item any number of times. Examples: M address-1 [ , new-value ]... [ - ] {0|1|2|3|4|5|6|7|8|9}... "s-char...
Notation Conventions General Syntax Notation Notation Meaning Character spacing If a space separates two items, that space is required. If one of the items is a punctuation symbol such as a parenthesis or a comma, spaces are optional. If there is no space between two items, spaces are not permitted. Examples: CALL STEPMOM ( process-id ) ; $process-name.
Notation Conventions Notation for Messages Notation for Messages The following list summarizes the conventions for the presentation of displayed messages in this manual. Notation Meaning Nonitalic text Nonitalic letters, numbers, and punctuation indicate text that is displayed or returned exactly as shown. Example: Backup Up. lowercase italic letters Lowercase italic letters indicate variable items whose values are displayed or returned.
1 Introduction to SNAX Connection Manager (SNAX/CM) This section describes SNAX Connection Manager (SNAX/CM), the features supported, and the components that work together to implement connection management applications. What Is SNAX SNAX Connection Manager (SNAX/CM) is a subsystem that allows you to manage Connection Manager? connections for calls coming in to and going out from a Tandem system over an X.25 or Token-Ring network.
Introduction to SNAX Connection Manager (SNAX/CM) Components of a SNAX/CM Environment Log File Users can configure SNAX/CM to monitor switched network connections and disconnections. The purpose of a log file is to record activities that occur while SNAX/CM is running, including status information and error messages. Figure 1-1.
Introduction to SNAX Connection Manager (SNAX/CM) Components of a SNAX/CM Environment Alias LU Names An alias LU name is a temporary LU name assigned only for the duration of a connection, whether that connection is made to an X.25 or a Token-Ring network. An alias LU name is constructed by the service manager and sent to a requesting APPL object of the type CMAPPL (which denotes that SNAX/CM is managing the connection) when a port and a PU connect. Note that alias LU names are valid for X.
Introduction to SNAX Connection Manager (SNAX/CM) Running SNAX/CM Table 1-1. Example Alias LU Names Configured LU Name Alias LU Name Generated by SNAX/XF #LU A #LU B #LU C $SNAP.#A100001 $SNAP.#A100002 $SNAP.#A100003 The next time a connection is made for that PU, the base alias LU name is different. To continue with the example shown in Table 1-1, the three aliases for the next connection might be $SNAP.#A100004, $SNAP.# A100005, and $SNAP.#A100006.
Introduction to SNAX Connection Manager (SNAX/CM) Running SNAX/CM The syntax of the RUN command to start SNAX/CM is as follows: RUN SXCMGR /[ NAME $sxcmgr-name ] [,IN infile ] [,OUT outfile ] [,other run-options ]/ [backup CPU #] [;command list] NAME $sxcmgr-name is the name of the connection manager process. This parameter is required for continuous operations. IN infile is the name of an input file from which SNAX/CM reads commands; the file defaults to hometerm.
Introduction to SNAX Connection Manager (SNAX/CM) Running SNAX/CM If the last command is not EXIT, SNAX/CM searches its IN file, if any, for the next command: If the IN file returns an EOF indicator without encountering an EXIT command (whether or not there is a command list) and the process is named, SNAX/CM continues to exist and can be accessed by using a WRITEREAD request (read from its $RECEIVE file).
Introduction to SNAX Connection Manager (SNAX/CM) Running SNAX/CM Figure 1-2. SNAX/CM in an X.25 Network User Application FS SNAX/CM FS Server Optional (SXCMGR) Log File Data Application SNAX/HLS Optional SNAX/XF Service Manager SNATS TLAM Session or Line $B X25AM Subdevice Token-Ring Network X.
Introduction to SNAX Connection Manager (SNAX/CM) Running SNAX/CM Running SNAX/CM Interactively In Figure 1-2, SNAX/CM is run on demand as follows: 1. A TACL process sends a message to a SNAX/CM process, which calls internal SNAX/CM procedures to request connection manager operations. 2. When a SNAX/CM operation results in a SNAX/XF switched line being connected, SNAX/CM sends a message to a user-written server process.
2 Configuring SNAX/CM This section describes how to configure SNAX/XF lines to be used by SNAX Connection Manager (SNAX/CM) for both X.25 and Token-Ring networks. For more general information about configuring SNAX/XF switched lines and alternate methods of Tandem’s implementation of the Token-Ring architecture, see the SNAX/XF Configuration and Control Manual. Configuring the Underlying the connection management environment is a SNAX/XF network.
Configuring SNAX/CM Configuring the Network Specifying a SNAX/CM Application Use one of the following SYSGEN attributes to specify whether to use a SNAX/CM application: CONNECTAPPL applname This attribute indicates that switched connection management for the line is issued using SNAX/CM (the SXCMGR process). Do not specify AUTOACCEPT when you use the CONNECTAPPL applname attribute. Note SNAX/CM must access SNAX/XF using an APPL object named applname.
Configuring SNAX/CM Configuring the Network Specifying PUs MAXPUS To specify the number of PUs associated with either X.25 or Token-Ring lines, use the SYSGEN attribute MAXPUS. The allowed value for MAXPUS can be from 1 to 254 when the SWITCHED attribute is specified for a line and the CONNECTAPPL attribute equals ANY or applname. It is recommended that you specify the maximum number of PUs possible. SCF Attributes Use the following SCF commands to configure SNAX/XF to work with SNAX/CM.
Configuring SNAX/CM SNAX/CM Configuration Examples CONNECTAPPL applname indicates that SNAX/CM will be used for the line for both call-out and allow-call-in operations. A SNAX/CM process using an APPL named applname in the SNAX/XF service manager process with APPLTYPE type CMAPPL can request a call-out or call-in operation. CONNECTAPPL ANY indicates that SNAX/CM will be used for the line for both call-out and allow-call-in operations.
Configuring SNAX/CM SNAX/CM Configuration Examples Figure 2-1. Calling In or Out Using Multiple SNAX/CM Processes Tandem System Connection Management Server SNAX/CM SNAX/XF Tandem Application QLLC X25AM IBM System IBM Application 003 The following example describes how to configure the scenario shown in Figure 2-1, using a secondary SNAX/XF line over an X.25 network to connect switched floating PUs and LUs.
Configuring SNAX/CM SNAX/CM Configuration Examples This example shows one primary line using switched floating and permanently subordinated PUs and LUs. This configuration eliminates the need for more than one line handler by using multiple ports. == Configure the X.25 line. assume line $X25AM2 alter, pvcrange reset alter, svcrange reset alter, pvcrange (1,50) alter, svcrange (51,100) alter, SRCADDR reset alter, SRCADDR "44444444444440" start assume su $X25AM2.
Configuring SNAX/CM SNAX/CM Configuration Examples == Configure floating PUs and LUs. assume pu $sscp.#pu2 add,address %HF2,maxlus 1,type (13,2),recsize 265, & calladdr 333333333333302 alter,puidblk %H017 alter,puidnum %H01141 start assume lu $sscp.#lu2 add,puname #pu2,address 2,protocol snalu,type (14,0), recsize 256,devtype "3278-2",characterset ascii start assume line $SOXP1 start, sub all assume line $SOXP2 start & == Define the APPLobject to be used by SNAX/CM. add appl $sscp.
Configuring SNAX/CM SNAX/CM Configuration Examples The LANRMTADDR attribute has been introduced to accept Token-Ring addressing information and is valid only for SNAX/XF in Token-Ring configurations. This attribute is used to indicate the SAP and MAC addresses of the remote station that will be connected to the local PU—a point-to-point connection.
Configuring SNAX/CM SNAX/CM Configuration Examples Token-Ring Addressing Figure 2-3 shows the relationship of addressing for the units in a Token-Ring environment. Figure 2-3. Addressing Information in a Token-Ring Environment PU MAC #PUP1 #PUP2 #PUP3 #PUS1 #PUS2 $XF1 %H04 $XF1 %H08 $XF2 %H04 $XF2 %H08 $LAN1 400011110001 #PUS3 $XF3 %H0C $LAN2 400022220002 The Ring 005 Following are the steps required to configure and start the Token-Ring example shown in Figure 2-3.
Configuring SNAX/CM SNAX/CM Configuration Examples == SCF configures the PRIMARY line. assume line $xf1 add & , connectappl any & == , switched on & == , maxpus 3 & == , station primary & == , dialtype inout & == , recsize 6002 & == , maxlus 500 & == , sapinfo (sap %H04, maxls 2; == sap %H08, maxls 1; == sap %H0C, maxls 1) == == SCF configures the three PUs on line $XF1.
Configuring SNAX/CM SNAX/CM Configuration Examples == SCF configures SECONDARY line $XF2. assume line $xf2 add & == , connectappl any & == , switched on & == , dialtype inout & == , maxpus 2 & == , station secondary & == , recsize 6002 & == , maxlus 500 & == , sapinfo (sap %H04, maxls 2; == sap %H08, maxls 1; == == SCF configures the two PUs add pu #pus1 & , address %H01 & , maxlus 5 & , type (13,2) & , recsize 6000 & , trrmtaddr 04400011110001 , trssap 4 on line $XF2.
Configuring SNAX/CM SNAX/CM Configuration Examples == SCF configures the 1 PU on add pu #pus3 & , address %H01 & , maxlus 5 & , type (13,2) & , recsize 6000 & , trrmtaddr 08400011110001 , trssap C line $XF3. == == == == == == RSAP X'08' == RMAC 400011110001 == SCF configures 1 LU for the PU on line $XF3. add lu #lus3 & == , puname #pus3 & == , address 2 & == , protocol snalu & == , type (14,2) & == , devtype "3278-2" & == , recsize 6000 == == SCF starts TLAM IOPs.
Configuring SNAX/CM SNAX/CM Configuration Examples == SNAX/CM STATUS LINE STATUS LINE STATUS LINE status of the ports should show all are connected. $XF1 $XF2 $XF3 == SCF status of the PUs and LUs should show they are now started.
Configuring SNAX/CM SNAX/CM Configuration Examples (This page left intentionally blank) 2–14 097842 Tandem Computers Incorporated
3 SNAX/CM Commands This section provides syntax, detailed descriptions, and examples of how to use SNAX/CM commands. These commands can be used interactively or programmatically for configurations supporting either X.25 or Token-Ring networks. SNAX/CM Commands Table 3-1 summarizes the functions for each of these commands. These SNAX/CM commands are described in alphabetical order in this section. Table 3-1.
SNAX/CM Commands APPLNAME Command APPLNAME Command The SNAX/CM APPLNAME command is used to specify the APPL name added during configuration using the SCF APPL command. The APPLNAME command must precede all commands except HELP, LOG, and TRACE. You can issue this command only once: when you start up SNAX/CM. You cannot reissue the APPLNAME command without stopping and restarting SNAX/CM. Once specified, applname remains the same for the duration of the SNAX/CM session.
SNAX/CM Commands CONNECT Command CONNECT Command The SNAX/CM CONNECT command is used to set up call-out operations.
SNAX/CM Commands CONNECT Command PROCESS { process-name | ( TACL , TACL-name ) } PROCESS process-name specifies the name of a user-written PROCESS server that gains control after a connection or disconnection. This PROCESS server should be started by the user before the call-out operation is started. Thereafter, messages about commands rejected and the status of connections are sent to process-name For example, when SNAX/CM detects a broken connection, it notifies the PROCESS server.
SNAX/CM Commands CONNECT Command If a PU is selected using pu-name and it has been configured by SCF using a CALLADDR parameter that does not match callstring , the CONNECT command is rejected. For a SNAX/XF line, callstring is used in place of the default CALLADDR parameter if CALLADDR was not specified for the PU using SCF.
SNAX/CM Commands CONNECT Command Using the CONNECT Command When a CONNECT command is issued, a PU must be configured either as permanently subordinate to the line specified in the CONNECT command, or must be selected from the switched floating PUs configured under the SNAX/XF service manager. SNAX/CM searches the PUs assigned to the SNAX/XF service manager process (for switched floating lines) or the PUs assigned to the line (for permanently subordinated lines) for the identified PU.
SNAX/CM Commands CONNECT Command This second example shows how the CONNECT command can be used by SNAX/XF to connect X.25 lines. -> CONNECT LINE $SMP1,PROCESS $CCC, PU #PU, & CALL "123456789", XID %HDCBA4321, PORT $X25AM1.#SU1 where: $SMP1 $CCC #PU "123456789" %HDCBA4321, $X25AM1.#SU1 is a SNAX/XF line over an X.25 line. is a user-written program that gains control after the connection is completed, fails, or is disconnected. is a permanently subordinated PU to which the command is directed.
SNAX/CM Commands DISABLE Command DISABLE Command The SNAX/CM DISABLE command inhibits a PU or line from accepting any subsequent call-in operations. The syntax of the DISABLE command is as follows: DISA[BLE] LINE line-name [, PORT port-name ] return : (OUTFILE) { LINE line-name[, PORT port-name ] DISABLE COMMAND ACCEPTED | ERROR MESSAGES return : ($RECEIVE) STRUCT Reply^Receive; INT Return^Code; INT Ferror; } !file-system error code DISABLE turns off the enabled mode.
SNAX/CM Commands DISABLE Command PORT $device.#xxxxxxx is the name of a TLAM IOP ($device), followed by a user-supplied alphanumeric character string that follows the naming conventions for subdevices. return : (OUTFILE) if received from the IN file, specifies the text message to be returned to the OUT file. See Appendix B for detailed descriptions of error messages.
SNAX/CM Commands DISCONNECT Command DISCONNECT Command The SNAX/CM DISCONNECT command is used to terminate an existing connection. The connection may have been made by either a call-in operation or call-out operation.
SNAX/CM Commands DISCONNECT Command PU pu-name is the name of the PU to be disconnected. Either PORT or PU is required in the DISCONNECT command on a line with multiple PUs. If the SNAX/XF line is configured for single-port use only (MAXPUS equal to 1) and no PU parameter is specified, the only PU on the line will be disconnected. return : (OUTFILE) if received from the IN file, specifies the text message to be returned to the OUT file. See Appendix B for detailed descriptions of error messages.
SNAX/CM Commands EMSCOLLECTOR Command EMSCOLLECTOR Command Initially, EMS event generation for SNAX/CM is in a stopped state. Use the SNAX/CM EMSCOLLECTOR command to start event generation and to specify the EMS collector for EMS events. After the EMSCOLLECTOR command is successfully issued, SNAX/CM issues events to the specified collector. Events are issued for connections, disconnections, and command failures controlled by the connection management process.
SNAX/CM Commands ENABLE Command ENABLE Command The SNAX/CM ENABLE command prepares a line or port to accept call-in operations. It is designed to enable a succession of call-in requests without further intervention from the user.
SNAX/CM Commands ENABLE Command PORT $device.#xxxxxxx is the name of a TLAM IOP ($device), followed by a user-supplied alphanumeric character string that follows the naming conventions for subdevices. Only one ENABLE command on a line using a particular sap value can be active at any one time. The ENABLE command is rejected with an error if the sap value specified in the ENABLE command is the same as a sap value of a previously enabled port for the same line.
SNAX/CM Commands ENABLE Command TIMEOUT time-out specifies the period of time (in 0.01-second units) during which validation is to be completed. The default is 60 seconds. Note This parameter is valid only when using the VALXID and/or VALCALL parameters in the ENABLE command. If the validation process fails to complete in the time allowed, an error message is sent to the log file specified by the user, and the connection is broken.
SNAX/CM Commands ENABLE Command Whenever the the service manager fails to enable a line, SNAX/CM waits for one minute, then retries the command if the return code is between 32 and 63. SNAX/CM continues retrying the ENABLE command, with a one-minute wait between each retry, until the user issues a DISABLE command or the line is enabled. These activities are logged to the SNAX/CM log file. If the return code is any value other than one between 32 and 63, SNAX/CM does not retry the command.
SNAX/CM Commands ENABLE Command This fifth example shows how to use the ENABLE command to enable a line and identify the same server process to receive CONNECTED, DISCONNECTED, and ENABLE REJECTED messages, as well as CALL VALIDATION and XID VALIDATION messages: -> ENABLE LINE $SNAP1, PORT $X25AM1.#SU1, PROCESS $A, VALXID $A,VALCALL $A Users can write one server process, $A, to handle all of the functions shown in this example.
SNAX/CM Commands EXIT Command EXIT Command The SNAX/CM EXIT command is used to terminate SNAX/CM operations. The syntax of the EXIT command is as follows: EX[IT] Nothing is returned when the EXIT command is issued. Using the EXIT Command To ensure continuous operation, SXCMGR must continue to run. If you stop SXCMGR using the EXIT command, lines that were enabled accept one more call-in request, then will accept no more.
SNAX/CM Commands HELP Command HELP Command The SNAX/CM HELP command is used only in interactive mode to provide information about SNAX/CM commands. Note that the application program cannot issue a WRITEREAD request using the SNAX/CM HELP command; it will be rejected with the return code, RC_COMMAND_INVALID.
SNAX/CM Commands LOG Command LOG Command The SNAX/CM LOG command records a history of connection manager activities in a specified file. After the LOG command has been issued, SNAX/CM starts to monitor lines controlled by the same APPL name. The log information includes messages about connections, disconnections, and errors. See Appendix B for detailed descriptions of these messages.
SNAX/CM Commands LOG Command Using the LOG Command The following example shows how to use the LOG command, and presents information contained in the sample log file. Assume the following SNAX/CM commands are issued: LOG LOG2 TRACE TO TRMGR APPL #CMAPPL,PW "ABCDEFGH" ENA LINE $SOXP1, PROCESS $TSV, VALXID $TSV, VALCALL $TSV The log file CMLOG1 displays the following information when a call-in is completed successfully and later disconnected: 07/21/1992 09:21:00.11 LOG (#3): LOG TO $DATA2.SXCMGR.
SNAX/CM Commands OBEY Command OBEY Command The syntax for the SNAX/CM OBEY command is as follows: O[BEY] filename filename includes a series of SNAX/CM commands.
SNAX/CM Commands STATUS LINE Command STATUS Command The SNAX/CM STATUS command is used to request connection information for either a line or a port or PU, as follows: A STATUS LINE command requests the status of all objects for a given line. A STATUS LINE, PORT command requests the status of a specific port on a specified line. A STATUS LINE, PU command requests the status of a permanently subordinated PU or currently subordinated switched floating PU on a specified line.
SNAX/CM Commands STATUS LINE Command S[TATUS] LINE line-name return : (OUTFILE) { LINE STATUS FOR LINE line-name SAMPLE TIME: timestamp LINE TYPE: {SWITCHED FLOATING | PERMANENTLY SUBORDINATE } MAXIMUM PORTS: max-count PORTS IN USE: inuse-num PORT port-name PUNAME: { pu-name | N/A } STATUS: pr-status ENABLED: { YES | NO } . .
SNAX/CM Commands STATUS LINE Command LINE line-name is the name of the SNAX/XF LINE object being displayed. LINE TYPE: {SWITCHED FLOATING | PERMANENTLY SUBORDINATE } displays whether the LINE is configured with switched floating PUs or with permanently subordinated PUs for the ports assigned. MAXIMUM PORTS: max-count is the maximum number of PORTs that can be assigned to the displayed LINE. This number corresponds to the MAXPUS attribute in the SCF ADD LINE command.
SNAX/CM Commands STATUS LINE Command PUNAME: PU-name depending on the status of the port, the value of pu-name can be an array containing the name of the PU associated with the status results or N/A (not applicable). STATUS: port-status is one of the following: 1 = NOT AVAILABLE 2 = DISCONNECTED 3 = DISCONNECTING 4 = ALLOWING 5 = CALLING 6 = CONNECTED ENABLED: { YES | NO } displays YES if the PORT is enabled by this SNAX/CM process; otherwise, displays NO.
SNAX/CM Commands STATUS LINE, PORT Command STATUS LINE, PORT Command The SNAX/CM STATUS LINE, PORT command details the connection status for a PORT and is requested by using the following syntax: S[TATUS] LINE line-name, PORT port-name return : (OUTFILE) { PORT STATUS FOR LINE line-name, PORT port-name SAMPLE TIME: timestamp LINE TYPE: { SWITCHED FLOATING | PERMANENTLY SUBORDINATE } PUNAME: { pu-name | N/A } ENABLED: { YES | NO } STATUS: port-status CALLSTRING: { callstring | N/A } XIDSTRING: { xidstring |
SNAX/CM Commands STATUS LINE, PORT Command LINE line-name is the name of the SNAX/XF LINE object to which the PORT is currently assigned. PORT port-name is a unique name used by SNAX/CM to identify and access a particular TLAM I/O process for Token-Ring networks or an X25AM line handler subdevice for X.25 networks. Up to 254 ports can be configured in a SYSGEN operation; SNAX/CM controls each port independently and supports the connection of one switched PU for each port.
SNAX/CM Commands STATUS LINE, PORT Command STATUS: port-status is one of the following: 1 = Not Available 2 = Disconnected 3 = Disconnecting 4 = Allowing 5 = Calling 6 = Connected CALLSTRING: { callstring | N/A } depending on the status of the PORT, the value of callstring can be a string containing the callstring associated with the status results, or N/A (not applicable).
SNAX/CM Commands STATUS LINE, PORT Command Using the STATUS LINE, PORT Command. The following example shows how the SNAX/CM STATUS LINE, PORT command is used. In this example, the STATUS command is used to ask for the status of a specific line that was previously enabled: -> STATUS LINE $SNAP1, PORT $X25AM1.#SU1 The returned information is displayed as follows: PORT STATUS for LINE $snap1, PORT \SNADV.$X25AM1.#SU1 Sample Time : 02/29/1992 11:11:11.
SNAX/CM Commands STATUS LINE, PU Command STATUS LINE, PU Command The SNAX/CM STATUS LINE, PU command details the connection status for a PU and is requested by using the following syntax: S[TATUS] LINE line-name, PU pu-name return : (OUTFILE) { PU STATUS FOR PUNAME: pu-name SAMPLE TIME: timestamp PU TYPE: { SWITCHED FLOATING | PERMANENTLY SUBORDINATE } LINE: {line-name | N/A } PORT port-name | N/A } STATUS: pu-status CALLSTRING: { callstring | N/A } XIDSTRING: { xidstring | N/A } ALIASLU: alias-lu-name ALI
SNAX/CM Commands STATUS LINE, PU Command PUNAME: pu-name is an array containing the name of the PU in the form #pu-name. PU TYPE: {SWITCHED FLOATING | PERMANENTLY SUBORDINATE } displays whether the PU is configured as a switched floating PU or as a permanently subordinated PU. LINE: line-name is the name of the SNAX/XF LINE object to which the PU is currently assigned.
SNAX/CM Commands STATUS LINE, PU Command XIDSTRING: { xidstring | N/A } is the configured or currently connected xidstring associated with the PU. If no xidstring is configured for the PU, then the xidstring received from the X.25 network, if any, is displayed when the PU is connected. ALIASLU: alias-lu-name If the PU status is “connected,” alias-lu-name is displayed as generated by SNAX/XF. This name is in the form $line.#axnnnn1 for the LUs configured under the connected PU.
SNAX/CM Commands STATUS PU Command STATUS PU Command The SNAX/CM STATUS PU command locates a switched floating PU, either in the pool of floating PUs or after the PU is assigned to a line. The STATUS PU command is requested by specifying the PU name for switched floating PUs.
SNAX/CM Commands STATUS PU Command PUNAME: pu-name is an array containing the name of the PU. PU TYPE: SWITCHED FLOATING displays the PU configured as a switched floating PU LINE: line-name is the name of the SNAX/XF LINE object to which the PU is currently assigned, or SNAX/XF service manager. When $SSCP is displayed, the PU is not assigned to any LINE. If LINE line-name is optionally specified in the command request, pu-name is searched for only the LINE identified by line-name.
SNAX/CM Commands STATUS PU Command CALLSTRING: { callstring | N/A } is the configured or currently connected callstring associated with the PU. If no callstring is configured for the PU, the callstring received from the X.25 network, for primary PUs, is displayed when the PU is connected. XIDSTRING: { xidstring | N/A } is the configured or currently connected xidstring associated with the PU. If no xidstring is configured for the PU, the xidstring received from the X.
SNAX/CM Commands TRACE Command TRACE Command The SNAX/CM TRACE command is used to trace connection manager activities to a trace file on disk or to stop a previously activated trace. The SNAX/CM trace file allocates 32 pages (with 2,048 bytes per page) in a wrap-around disk trace file; the maximum record size is 120 bytes, and longer records are truncated. To format a trace, use the PTrace utility. SNAX/CM creates a trace file if one does not already exist.
SNAX/CM Commands TRACE Command Sample SNAX/CM Trace File The following example of a SNAX/CM TRACE file shows the PTrace output when tracing one connection manager process: Trace of: Ptrace Data File: Trace started: First trace entry: Last trace entry: Trace entry size limit: \SNALIB., Type (13,6). $SNAXXF.NCD.CMTRC 10/09/92 15:14:49.664337 10/09/92 15:14:50.144519 10/09/92 15:14:51.667703 120 10/09/92 15:14:50.144519 >000.000000 #1 INFILE received command: enable line $SOXP2 10/09/92 15:14:50.
4 SNAX/CM Server This section describes a user-written server process that works with SNAX Connection Manager, as well as message structures used by SNAX/CM and how to run the server process. A programming sample of a server process is provided in Appendix C and also on the Site Update Tape (SUT). The example, named SNAX/CM Server (SXCMSV), includes commands created specifically for the sample server process. This example is not a prerequisite to using SNAX/CM.
SNAX/CM Server SNAX/CM Message Structures Figure 4-1. Sample Server Environment Server Command Interface User APPL Text Commands SNAX/CM Structured message Server Process (SXCMSV) NEWPROCESS starts RJECIS Exchange SNA SNALU interface SNAX/XF Service Manager SNAX/XF Line Handler 006 SNAX/CM Message Messages from SNAX/CM are sent to the server process in the following structures.
SNAX/CM Server SNAX/CM Message Structures Structure When a Line Is Connected The following structure is used when a line is connected. The return code tells why the line was not connected; if non-zero, the file-system error provides more information.
SNAX/CM Server SNAX/CM Message Structures Structure When a Line Is Rejected The following structure is used when a connection request is rejected. The return code tells why the command was rejected; the file-system error provides more information (if non-zero).
SNAX/CM Server Validation Processes for Incoming Calls Validation Processes This subsection describes the function of optional user-written server processes to for Incoming Calls validate the call string and XID string, and describes the structure for messages sent by SNAX/CM to the validation processes.
SNAX/CM Server Validation Processes for Incoming Calls Validating the Call String This message structure is used to validate the call string: STRUCT user^interface4 (*); BEGIN STRING base[ 0:-1 ]; INT message^type; STRUCT callstring(VARSTRING); STRUCT linename(VARSTRING); STRUCT portname(VARSTRING); STRUCT puname(VARSTRING); STRING data[0:-1]; ! ! ! ! ! ! ! ! Used with VARSTRING 4 = Callstring validate Pointer to call string Pointer to line name Pointer to X25AM SU name Pointer to PU name Call string, l
SNAX/CM Server Validation Processes for Incoming Calls STRUCT Line^Status^Reply( * ); BEGIN STRING base[ 0:-1 ]; -- base for VARSTRING offset values INT rc; INT ferror; UNSIGNED(8) max^ports; UNSIGNED(8) inuse^ports; STRUCT port^array( port^summary^status )[ 0:-1 ]; STRING data[ 0:-1 ]; END; STRUCT Full^Line^Status^Reply( * ); BEGIN STRING base[ 0:-1 ]; -- base for VARSTRING offset values INT rc; INT ferror; UNSIGNED(8) max^ports; UNSIGNED(8) inuse^ports; STRUCT port^array( port^summary^status ) [ 0:max^li
SNAX/CM Server Creating a User-Written Server Process -- 5 = calling-out -- 6 = connected INT pu^type; -- 1 = Switched Floating, -- 2 = Permanently Subordinate STRUCT puname( VARSTRING ); STRUCT linename( VARSTRING ); STRUCT portname( VARSTRING ); STRUCT callstring( VARSTRING ); STRUCT xidstring( VARSTRING ); STRUCT alias^lu( VARSTRING ); INT alias^lu^count; STRING data[ 0:-1 ]; -- variable data for VARSTRINGs END; STRUCT Status^Reply( * ); BEGIN STRUCT line( full^line^status^reply ); STRUCT pu( pu^status^
SNAX/CM Server Creating a User-Written Server Process Figure 4-2.
SNAX/CM Server Creating a User-Written Server Process Validation In the sample server example provided, the XID and callstring validation processes are included with the server. When a call validation message comes into the server, the server does a straightforward comparison. The server goes to a call address list and scans through the list to see if the call address received in the message matches anything in the list.
SNAX/CM Server Running a Server Process Running a Server This subsection describes how to run the sample SXCMSV server as a named process. Process User commands are issued to SXCMSV by way of an IN file, or by opening the process by name and issuing messages using file-system procedures. SNAX/CM also issues server interface messages to SXCMSV using the file system.
SNAX/CM Server Running a Server Process backup-cpu specifies that SXCMSV should run as a process pair, and identifies the CPU number for the backup process. command list is a list of commands for this sample server described later in this section. The commands are separated by semicolons (;). If the last command in command list is EXIT, the commands are processed and SXCMSV terminates. If the last command is not EXIT, then SXCMGR looks to the IN file for its next command.
Appendix A SNAX/CM Event Messages The SNAX Connection Manager subsystem issues Event Management System (EMS) event messages in addition to any SNAX/CM log messages (described in Appendix B). This section lists each event message, the tokens included, the corresponding SNAX/CM log message, and any error recovery procedures. SNAX/CM Event The SNAX/CM subsystem provides information about events that occur in the Messages subsystem by issuing event messages.
SNAX/CM Event Messages Event-Management Programming Considerations 36: 37: 38: 39: 40: 41: 46: ZSXC-EVT-CALL-ACCEPT-FAILED ZSXC-EVT-NOT-IN-DATABASE ZSXC-EVT-BUFFER-DEPLETION ZSXC-EVT-DISABLE-FAILED ZSXC-EVT-OPERATION-TIMED-OUT ZSXC-EVT-ALIAS-LU-NAME-BAD ZSXC-EVT-BACKUP-TAKEOVER Event-Management SNAX/CM event messages are encoded as individual tokens, each containing one Programming piece of information about the event.
SNAX/CM Event Messages SNAX/CM Event-Message Descriptions To determine whether or not an event message reports a potentially critical event, examine the value of the event-message token ZEMS-TKN-EMPHASIS: If the value is ZSPI-VAL-TRUE, the event message reports a critical event. If the value is ZSPI-VAL-FALSE, the event is not critical. Format of SNAX/CM Within each event-message description, a box lists all the tokens that can appear in the Event Messages event message.
SNAX/CM Event Messages 1: ZSXC-EVT-APPL-OPENED 1: ZSXC-EVT-APPL-OPENED The APPLNAME command completed successfully. This event message is equivalent to SNAX/CM log message 1. Unconditional Tokens ZEMS-TKN-EVENTNUMBER ZCOM-TKN-SUBJ-APPL token-type ZSXC-EVT-APPL-OPENED token-type ZSPI-TYP-STRING Event-Message Text SXCMGR APPL cmappl-name, OPEN SUCCESSFUL Message Parameter Descriptions param1 equals ZCOM-TKN-SUBJ-APPL. Unconditional Tokens ZEMS-TKN-EVENTNUMBER is the event number.
SNAX/CM Event Messages 2: ZSXC-EVT-APPL-OPEN-FAILED 2: ZSXC-EVT-APPL-OPEN-FAILED The SNAX/CM APPLNAME command has failed. This event message is equivalent to SNAX/CM log message 2.
SNAX/CM Event Messages 8: ZSXC-EVT-COMMAND-REJECTED 8: ZSXC-EVT-COMMAND-REJECTED The connection manager operation cannot be initiated. This event message is equivalent to SNAX/CM log message 8.
SNAX/CM Event Messages 8: ZSXC-EVT-COMMAND-REJECTED ZSXC-TKN-RC is a SNAX/CM return code. Refer to Appendix B, “SNAX/CM Messages and Codes,” in this manual for more information. ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error. Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred.
SNAX/CM Event Messages 9: ZSXC-EVT-CALL-OUT-CONNECTED 9: ZSXC-EVT-CALL-OUT-CONNECTED A call-out operation has completed. This event message is equivalent to SNAX/CM log message 9.
SNAX/CM Event Messages 9: ZSXC-EVT-CALL-OUT-CONNECTED ZSXC-TKN-ALIAS-LU-NAME is an ASCII LU string that identifies the complete LU name, including the line name. ZSXC-TKN-ALIAS-LU-COUNT is an unsigned integer in the range of 1 to 255 that identifies the LU. Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. A call-out operation has been completed and the line is connected. Effect. The SNAX/CM command completed successfully.
SNAX/CM Event Messages 10: ZSXC-EVT-BUFFER-ERROR 10: ZSXC-EVT-BUFFER-ERROR There is insufficient buffer space to continue processing. SNAX/CM issues this and abends. This event message is equivalent to SNAX/CM log message 10.
SNAX/CM Event Messages 10: ZSXC-EVT-BUFFER-ERROR SNAX/XF SYSGEN and SCF configuration files X25AM or TLAM SYSGEN and SCF configuration files SXCMGR SAVE ABEND file Trace files from SNAX/CM, $SSCP, X25AM or TLAM, and line handler process Event and log files SNAX/CM command (OBEY) file, if any.
SNAX/CM Event Messages 11: ZSXC-EVT-CALL-OUT-FAILED 11: ZSXC-EVT-CALL-OUT-FAILED A call-out operation failed and the line is unavailable or has been disconnected. This event message is equivalent to SNAX/CM log messages 11 and 12.
SNAX/CM Event Messages 11: ZSXC-EVT-CALL-OUT-FAILED ZSXC-TKN-STATUS reports the status of the line: 1 2 3 4 5 6 Not Available Disconnected Disconnecting Allowing Calling Connected ZSXC-TKN-RC is a SNAX/CM return code. Refer to Appendix B, “SNAX/CM Messages and Codes,” in this manual for more information. ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error.
SNAX/CM Event Messages 13: ZSXC-EVT-CALL-IN-FAILED 13: ZSXC-EVT-CALL-IN-FAILED The call-in operation has failed and the line has been disconnected or is unavailable. This event message is equivalent to SNAX/CM log messages 13 and 14.
SNAX/CM Event Messages 13: ZSXC-EVT-CALL-IN-FAILED ZSXC-TKN-STATUS reports the status of the line: 1 2 3 4 5 6 Not Available Disconnected Disconnecting Allowing Calling Connected ZSXC-TKN-RC is a SNAX/CM return code. Refer to Appendix B, “SNAX/CM Messages and Codes,” in this manual for more information. ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error.
SNAX/CM Event Messages 15: ZSXC-EVT-DISCONNECTED 15: ZSXC-EVT-DISCONNECTED A SNAX/CM disconnect operation has completed successfully, or a port was disconnected by the opener of an LU. This event message is equivalent to SNAX/CM log message 15.
SNAX/CM Event Messages 15: ZSXC-EVT-DISCONNECTED ZSXC-TKN-STATUS reports the status of the line: 1 2 3 4 5 6 Not Available Disconnected Disconnecting Allowing Calling Connected ZSXC-TKN-RC is a SNAX/CM return code. Refer to Appendix B, “SNAX/CM Messages and Codes,” in this manual for more information. ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error.
SNAX/CM Event Messages 16: ZSXC-EVT-DISCONNECT-FAILED 16: ZSXC-EVT-DISCONNECT-FAILED A SNAX/CM disconnect operation failed because a line is unavailable. This event message is equivalent to SNAX/CM log message 16.
SNAX/CM Event Messages 16: ZSXC-EVT-DISCONNECT-FAILED ZSXC-TKN-STATUS reports the status of the line: 1 2 3 4 5 6 Not Available Disconnected Disconnecting Allowing Calling Connected ZSXC-TKN-RC is a SNAX/CM return code. Refer to Appendix B, “SNAX/CM Messages and Codes,” in this manual for more information. ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error.
SNAX/CM Event Messages 19: ZSXC-EVT-UNEXPECTED-STATUS 19: ZSXC-EVT-UNEXPECTED-STATUS the SNAX/XF service manager process returns a status that is not expected. This event message is equivalent to SNAX/CM log message 19.
SNAX/CM Event Messages 19: ZSXC-EVT-UNEXPECTED-STATUS ZSXC-TKN-STATUS reports the status of the line: 1 2 3 4 5 6 Not Available Disconnected Disconnecting Allowing Calling Connected ZSXC-TKN-RC is a SNAX/CM return code. Refer to Appendix B, “SNAX/CM Messages and Codes,” in this manual for more information. ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error.
SNAX/CM Event Messages 20: ZSXC-EVT-UNSUPPORTED-STATUS 20: ZSXC-EVT-UNSUPPORTED-STATUS An unsupported type or status value was returned by the SNAX/XF service manager process. This event message is equivalent to SNAX/CM log message 20.
SNAX/CM Event Messages 20: ZSXC-EVT-UNSUPPORTED-STATUS ZSXC-TKN-STATUS reports the status of the line: 1 2 3 4 5 6 Not Available Disconnected Disconnecting Allowing Calling Connected ZSXC-TKN-RC is a SNAX/CM return code. Refer to Appendix B, “SNAX/CM Messages and Codes,” in this manual for more information. ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error.
SNAX/CM Event Messages 21: ZSXC-EVT-CALL-IN-VALADDR 21: ZSXC-EVT-CALL-IN-VALADDR SNAX/CM logs this message when a call string validation is in progress. This event message is equivalent to SNAX/CM log message 21.
SNAX/CM Event Messages 21: ZSXC-EVT-CALL-IN-VALADDR Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. A command to validate a call string has been sent. Effect. A call string validation is in progress. Recovery. Informational message only; no corrective action is needed.
SNAX/CM Event Messages 22: ZSXC-EVT-CALL-IN-VALXID 22: ZSXC-EVT-CALL-IN-VALXID SNAX/CM logs this message when an XID-string validation is in progress. This event message is equivalent to SNAX/CM log message 22.
SNAX/CM Event Messages 22: ZSXC-EVT-CALL-IN-VALXID Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. A command to validate an XID string has been sent. Effect. An XID-string validation is in progress. Recovery. Informational message only; no corrective action is needed.
SNAX/CM Event Messages 23: ZSXC-EVT-CALL-IN-CALLADDR-OK 23: ZSXC-EVT-CALL-IN-CALLADDR-OK SNAX/CM logs this message when the callstring validation process completes successfully. This event message is equivalent to SNAX/CM log message 23.
SNAX/CM Event Messages 24: ZSXC-EVT-CALL-IN-XID-OK 24: ZSXC-EVT-CALL-IN-XID-OK SNAX/CM logs this message when the XID-string validation process completes successfully. This event message is equivalent to SNAX/CM log message 24.
SNAX/CM Event Messages 25: ZSXC-EVT-CALL-IN-CONNECTED 25: ZSXC-EVT-CALL-IN-CONNECTED The call-in operation has been completed. This event message is equivalent to SNAX/CM log message 25.
SNAX/CM Event Messages 25: ZSXC-EVT-CALL-IN-CONNECTED ZSXC-TKN-STATUS reports the status of the line: 1 2 3 4 5 6 Not Available Disconnected Disconnecting Allowing Calling Connected ZSXC-TKN-ALIAS-LU-NAME is an ASCII LU string that identifies the full LU name, which includes the line name. ZSXC-TKN-ALIAS-LU-COUNT is an unsigned integer in the range of 1 to 255 that identifies the LU.
SNAX/CM Event Messages 26: ZSXC-EVT-CALL-IN-CALLADDR-REJ 26: ZSXC-EVT-CALL-IN-CALLADDR-REJ Call validation failed because SNAX/CM failed to either open or write to the validation process. This event message is equivalent to SNAX/CM log message 26.
SNAX/CM Event Messages 26: ZSXC-EVT-CALL-IN-CALLADDR-REJ ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error. Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause.
SNAX/CM Event Messages 27: ZSXC-EVT-CALL-IN-XID-REJ 27: ZSXC-EVT-CALL-IN-XID-REJ XID validation failed because SNAX/CM failed either to open or write to the validation process. This event message is equivalent to SNAX/CM log message 27.
SNAX/CM Event Messages 27: ZSXC-EVT-CALL-IN-XID-REJ ZSXC-TKN-FE is a file-system error that indicates why the event occurred. Refer to the Guardian Procedure Errors and Messages Manual for information about the error. Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. XID validation has failed for one of the following reasons: The validation process failed to validate the XID string within timeout limits.
SNAX/CM Event Messages 28: ZSXC-EVT-TACL-NEWPROCESS-ERR 28: ZSXC-EVT-TACL-NEWPROCESS-ERR SNAX/CM failed to start a named TACL process using NEWPROCESS. This event message is equivalent to SNAX/CM log message 28.
SNAX/CM Event Messages 28: ZSXC-EVT-TACL-NEWPROCESS-ERR ZSXC-TKN-NEWPROCESS-ERR-CODE is an error code from NEWPROCESS; refer to the Guardian Procedure Errors and Messages Manual to determine the reason for the command not being accepted. Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. Refer to the error and code values returned from a NEWPROCESS call to determine the cause.
SNAX/CM Event Messages 29: ZSXC-EVT-TACL-OPEN-ERR 29: ZSXC-EVT-TACL-OPEN-ERR SNAX/CM cannot open the named TACL process. This event message is equivalent to SNAX/CM log message 29.
SNAX/CM Event Messages 29: ZSXC-EVT-TACL-OPEN-ERR Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. Refer to the file-system error message to determine the cause. Effect. SNAX/CM cannot open the named TACL process. Recovery. Ensure that the correct TACL object code is available in $SYSTEM.SYSTEM and that sufficient space is available on the SWAP disk.
SNAX/CM Event Messages 30: ZSXC-EVT-TACL-WRITE-ERR 30: ZSXC-EVT-TACL-WRITE-ERR SNAX/CM cannot successfully write to the named TACL process. This event message is equivalent to SNAX/CM log message 30.
SNAX/CM Event Messages 30: ZSXC-EVT-TACL-WRITE-ERR Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. Refer to the file-system error message to determine the cause. Effect. SNAX/CM cannot successfully write to the named TACL process. Recovery. Ensure that the correct TACL object code is available in $SYSTEM.SYSTEM and that sufficient space is available on the SWAP disk.
SNAX/CM Event Messages 31: ZSXC-EVT-TACL-OK 31: ZSXC-EVT-TACL-OK SNAX/CM starts the named TACL process successfully. This event message is equivalent to SNAX/CM log message 31.
SNAX/CM Event Messages 31: ZSXC-EVT-TACL-OK Conditional Tokens ZCOM-TKN-SUBJ-LINE is the fully qualified name of the line-handler process for the line on which the event occurred. Cause. The user specified a TACL process with tacl-name. SNAX/CM starts a TACL process on the first alias LU after the line is connected by either a call-in or callout operation. Effect. SNAX/CM has started the named TACL process successfully. Recovery. Informational message only; no corrective action is needed.
SNAX/CM Event Messages 32: ZSXC-EVT-SERVER-OPEN-ERR 32: ZSXC-EVT-SERVER-OPEN-ERR A port connection remains active but SNAX/CM cannot open the process specified by a connection manager ENABLE or CONNECT command. This event message is equivalent to SNAX/CM log message 32.
SNAX/CM Event Messages 32: ZSXC-EVT-SERVER-OPEN-ERR Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. Refer to the file-system error message to determine the cause of the problem with the server process. Effect. A port connection remains active but SNAX/CM cannot open the process specified by an ENABLE or CONNECT command. Recovery. Ensure that the server process is running correctly.
SNAX/CM Event Messages 33: ZSXC-EVT-SERVER-WRITE-ERR 33: ZSXC-EVT-SERVER-WRITE-ERR A write operation to a server process fails; SXCMGR leaves the connection active. This event message is equivalent to SNAX/CM log message 33.
SNAX/CM Event Messages 33: ZSXC-EVT-SERVER-WRITE-ERR Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. When the connection status for a port changes, SNAX/CM opens the process-name provided by either the ENABLE or the CONNECT command and issues a server message to signal the status change. Refer to the file-system error message to determine the cause of the problem with the server process. Effect.
SNAX/CM Event Messages 34: ZSXC-EVT-SNAX-ACCESS-FAILED 34: ZSXC-EVT-SNAX-ACCESS-FAILED SNAX/CM is unable to access SNAX/XF. This event message is equivalent to SNAX/CM log message 34.
SNAX/CM Event Messages 34: ZSXC-EVT-SNAX-ACCESS-FAILED Cause. This error usually occurs when the APPL object being used to access SNAX/XF has been aborted or deleted. If the error is recoverable, SNAX/CM retries the failing connection manager operation; otherwise, SNAX/CM abends. Refer to the return code and file-system error message to determine the cause. This message is also displayed if the APPL object exists but is not of the type cmappl. Effect. SNAX/CM is unable to access SNAX/XF. Recovery.
SNAX/CM Event Messages 35: ZSXC-EVT-DISABLED 35: ZSXC-EVT-DISABLED A port that was previously enabled has been disabled. This event message is equivalent to SNAX/CM log message 35.
SNAX/CM Event Messages 36: ZSXC-EVT-CALL-ACCEPT-FAILED 36: ZSXC-EVT-CALL-ACCEPT-FAILED A connection manager CALL-ACCEPT operation issued to SNAX/XF failed. This event message is equivalent to SNAX/CM log message 36.
SNAX/CM Event Messages 36: ZSXC-EVT-CALL-ACCEPT-FAILED Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. Refer to the return code and file-system error message to determine the cause. Effect. A SNAX/CM CALL-ACCEPT operation issued to SNAX/XF failed. Recovery. Ensure that the line, PU, X25AM or TLAM, and subdevice have not been deleted and are active.
SNAX/CM Event Messages 37: ZSXC-EVT-NOT-IN-DATABASE 37: ZSXC-EVT-NOT-IN-DATABASE The SNAX/CM line database has been corrupted, and SNAX/CM abends. This event message is equivalent to SNAX/CM log message 37.
SNAX/CM Event Messages 37: ZSXC-EVT-NOT-IN-DATABASE Recovery. Gather the following information as appropriate and contact your Tandem representative: SNAX/XF SYSGEN and SCF configuration files X25AM or TLAM SYSGEN and SCF configuration files SXCMGR SAVE ABEND file Trace files from SNAX/CM, $SSCP, X25AM or TLAM, and line handler process Event and log files SNAX/CM command (OBEY) file, if any.
SNAX/CM Event Messages 38: ZSXC-EVT-BUFFER-DEPLETION 38: ZSXC-EVT-BUFFER-DEPLETION SNAX/CM encountered a buffer shortage. This event message is equivalent to SNAX/CM log message 38.
SNAX/CM Event Messages 38: ZSXC-EVT-BUFFER-DEPLETION Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. SNAX/CM encountered a buffer shortage. Effect. SNAX/CM failed to send a message to either the PROCESS server, the CALL VALIDATE server, or the XID VALIDATE server process. Recovery. Reduce the number of connection commands (ENABLE or CONNECT) being supported by the SNAX/CM process.
SNAX/CM Event Messages 39: ZSXC-EVT-DISABLE-FAILED 39: ZSXC-EVT-DISABLE-FAILED A SNAX/CM CALL DISCONNECT command failed. This event message is equivalent to SNAX/CM log message 39.
SNAX/CM Event Messages 39: ZSXC-EVT-DISABLE-FAILED Conditional Tokens ZCOM-TKN-SUBJ-SU is an optional token that contains the name of the subdevice for which this event occurred. Cause. SNAX/CM attempted to send a DISABLE request to SNAX/XF; however, the request failed because the port was already disabled. Effect. A SNAX/CM CALL DISCONNECT command failed. Recovery. Ensure that the line is active or, for a port, verify that the line and either TLAM or X25AM are active.
SNAX/CM Event Messages 40: ZSXC-EVT-OPERATION-TIMED-OUT 40: ZSXC-EVT-OPERATION-TIMED-OUT A connection management procedure failed to return an expected completion or status code within the 1-minute timeout period allowed. (The 1-minute timer is internal to the SXCMGR process and cannot be controlled by the user.) This event message is equivalent to SNAX/CM log message 40.
SNAX/CM Event Messages 40: ZSXC-EVT-OPERATION-TIMED-OUT ZSXC-TKN-CM-TIMEOUT-TYPE reports the type of connection manager operation expected: 0 1 2 3 4 5 6 7 8 9 10 Unknown Allow call-in Call out Accept call after call validation Accept call after XID validation Call disconnect Wait for connection after call out Wait for connection after call validation Wait for connection after XID validation Wait for disconnect after call disconnect Wait for XID after call validation Conditional Tokens ZCOM-TKN-SUBJ-SU i
SNAX/CM Event Messages 41: ZSXC-EVT-ALIAS-LU-NAME-BAD 41: ZSXC-EVT-ALIAS-LU-NAME-BAD The alias LU name returned by SNAX/XF to SNAX/CM is an invalid format. This event message is equivalent to SNAX/CM log message 41.
SNAX/CM Event Messages 41: ZSXC-EVT-ALIAS-LU-NAME-BAD Cause. A version mismatch between the SNAX/CM process and SNAX/XF is likely. Effect. The alias LU name returned by SNAX/XF to SNAX/CM is an invalid format. Recovery. Ensure that compatible versions of SNAX/XF and SNAX/CM are being used.
SNAX/CM Event Messages 46: ZSXC-EVT-BACKUP-TAKEOVER 46: ZSXC-EVT-BACKUP-TAKEOVER The backup process has taken over execution for the connection manager. This event message is equivalent to SNAX/CM log message 46. Unconditional Tokens ZEMS-TKN-EVENTNUMBER token-type ZSXC-EVT-BACKUP-TAKEOVER Event-Message Text SXCMGR TAKEOVER BY BACKUP PROCESS Message Parameter Descriptions None Unconditional Tokens None Cause.
SNAX/CM Event Messages 46: ZSXC-EVT-BACKUP-TAKEOVER (This page left intentionally blank) A–64 097842 Tandem Computers Incorporated
Appendix B SNAX/CM Messages This appendix describes the status and error messages returned to SNAX/CM and related processes. These messages are grouped as follows: Return codes for $RECEIVE file, OUT file, and LOG file Text messages for the specified OUT file and LOG file Return Code Summary All of the SNAX/CM procedures return a code that indicates the success or failure of the call. Table B-1 lists how these return codes are grouped. Table B-1.
SNAX/CM Messages Return Code Summary Table B-2. Return Codes for SNAX/CM (Page 1 of 5) Range Return Code Code 1 through 15 Indicate desirable results. RC_DONE RC_PENDING RC_STATUS_INPUT RC_MORE_STATUS RC_NAMES_INPUT RC_PU_FLOATING 0 1 2 3 4 5 16 through 31 Indicate errors caused by output parameters being exceeded. The SNAX/CM operation is successful, but the returned information is truncated.
SNAX/CM Messages Return Code Summary Table B-2. Return Codes for SNAX/CM (Page 2 of 5) Range Reason for Return Code 256 through 511 (continued) 512 through 1023 Indicate parameter specification errors that prevent initiation of the SNAX/CM command.
SNAX/CM Messages Return Code Summary Table B-2.
SNAX/CM Messages Return Code Summary Table B-2. Return Codes for SNAX/CM (Page 4 of 5) Range Reason for Return Code 512 to 1023 (continued) 1024 to 2047 Indicate errors generated in the SNAX/CM process.
SNAX/CM Messages Text Messages Table B-2.
SNAX/CM Messages Text Messages expecting one of command list Cause. When SNAX/CM cannot recognize commands sent by the user, it replies with a list of commands. Effect. For example, a user misspells the “ENABLE” command: >)EANBLE LINE $ABC The following message is returned to the LOG file specified: EANBLE ^ expecting one of { APPL | APPLNAME | C | CONNECT | DISA | DISABLE | DISC | DISCONNECT | ENA | ENABLE | EXIT | | H | HELP | L | LOG | S | STATUS } Recovery. Enter the command correctly.
SNAX/CM Messages Text Messages APPL $SSCP.#appl, APPLNAME COMMAND FAILED, RC = rc-code, FE = fe-error Cause. The APPLNAME command failed. Effect. The command is not processed. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted. LINE line-name[,PORT port-name][,PU #puname], command COMMAND ACCEPTED Cause. A command is accepted by SNAX/CM and the connection management operation is issued to SNAX/XF. Effect.
SNAX/CM Messages Text Messages LINE STATUS for LINE line-name SAMPLE TIME : timestamp LINE TYPE: { SWITCHED FLOATING | PERMANENTLY SUBORDINATE } MAXIMUM PORTS: max-count PORTS IN USE: inuse-num PORT port-name PUNAME: { puname | N/A } STATUS: port-status ENABLED: {YES | NO } . . PORT port-name PUNAME: { puname | N/A } STATUS: port-status ENABLED: {YES | NO } Cause. The STATUS LINE command completes successfully. Effect.
SNAX/CM Messages Text Messages TRACE STOPPED SUCCESSFULLY Cause. The SXCMGR trace is stopped. Effect. The trace file closed. Recovery. Informational message only; no corrective action is needed. TRACE NOT STOPPED: NO TRACE ACTIVE Cause. A TRACE STOP command was entered when no trace was active. Effect. No trace was stopped because none had been started. Recovery. None required. TRACE START FAILED: GUARDIAN ERROR: fe-error, RC = rc-code Cause. A TRACE command could not be processed. Effect.
SNAX/CM Messages Text Messages UNABLE to ACCESS APPL mgr.#appl Cause. SNAX/CM is unable to access SNAX/XF. Effect. If the error is recoverable, SNAX/CM tries the failing connection management operation again; otherwise, SNAX/CM logs this message and issues an ABEND command. Save both the abend file and the LOG file, and contact your Tandem representative. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted.
SNAX/CM Messages Text Messages time-date LOG (#1): APPL $SSCP.#appl, APPLNAME COMMAND COMPLETED Cause. The APPLNAME command successfully completes. Effect. SNAX/CM logs this message in the LOG file. Recovery. Informational message only; no corrective action is needed. time-date LOG (#2): APPL $SSCP.#appl, APPLNAME COMMAND FAILED, RC = rc-code, FE = fe-error Cause. The APPLNAME command failed. Effect. The command was not processed. Further, SNAX/CM commands (other than TRACE or LOG) will not be processed.
SNAX/CM Messages Text Messages time-date LOG (#5): >) Cause. A user enters a command. Effect. SNAX/CM copies the command. All commands are copied except LOG logfile-name. Recovery. Informational message only; no corrective action is needed. time-date LOG (#6): LINE line-name [, PORT port-name][,PU #puname], command COMMAND ACCEPTED Cause. A command is accepted by SNAX/CM, and the connection management operation is issued to SNAX/XF. Effect.
SNAX/CM Messages Text Messages time-date LOG (#8): LINE line-name [, PORT port-name][,PU #puname], command COMMAND REJECTED, RC = rc-code, FE = fe-error Cause. SNAX/CM issued a connection management operation to SNAX/XF and received an error (an invalid return code). Effect. The operation cannot be initiated. The difference between this message and the message immediately preceding is that SNAX/CM accepted the command and attempted to issue the connection management operation to SNAX/XF. Recovery.
SNAX/CM Messages Text Messages time-date LOG (#11): LINE line-name [, PORT port-name], CALL-OUT FAILED, STATUS: UNAVAILABLE, RC = rc-code, FE = fe-error Cause. The call-out operation failed. Effect. The line is not available. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted. time-date LOG (#12): LINE line-name [, PORT port-name], CALL-OUT FAILED, STATUS: DISCONNECTED, RC = rc-code, FE = fe-error Cause. A call-out operation failed.
SNAX/CM Messages Text Messages time-date LOG (#14): LINE line-name [, PORT port-name], CALL-IN FAILED, STATUS: DISCONNECTED, RC = rc-code, FE = fe-error Cause. The call-in operation failed. Effect. The line is disconnected. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted. time-date LOG (#15): LINE line-name [, PORT port-name], DISCONNECT COMPLETED, STATUS: DISCONNECTED Cause.
SNAX/CM Messages Text Messages time-date LOG (#17): LINE line-name [, PORT port-name], MONITOR STATUS, STATUS: { DISCONNECTED | UNAVAILABLE, } RC = rc-code, FE = fe-error Cause. Another process is using this line. Effect. This line is disconnected. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted.
SNAX/CM Messages Text Messages time-date LOG (#19): LINE line-name, PORT port-name, status-type, STATUS: status (UNEXPECTED), RC = rc-code, FE = fe-error Cause. The SNAX/XF service manager returns a status that is not expected as a response for the current SNAX/CM operation. Effect.
SNAX/CM Messages Text Messages time-date LOG (#21): LINE line-name, PORT port-name CALL VALIDATE IN PROGRESS, STATUS: ALLOWING Cause. The line is enabled and can accept incoming calls. Effect. SNAX/CM logs this message when a callstring validation is in progress. Recovery. Informational message only; no corrective action is needed. time-date LOG (#22): LINE line-name, PORT port-name XID VALIDATE IN PROGRESS, STATUS: ALLOWING Cause. The line is enabled and can accept incoming calls. Effect.
SNAX/CM Messages Text Messages time-date LOG (#25): LINE line-name, PORT port-name, PU #puname, CALL-IN COMPLETED, STATUS: CONNECTED ALIAS LU alias-lu-name, LU COUNT num Cause. The call-in operation is completed. Effect. #puname is the configured name of the connected PU. alias-lu-name is a complete LU name that includes a line name. Recovery. Informational message only; no corrective action is needed.
SNAX/CM Messages Text Messages time-date LOG (#27): LINE line-name [,PORT port-name], XID VALIDATE FAILED, PROCESS process name, RC = rc-code, FE = fe-error Cause. XID validation failed. Effect. The effect can be one of the following: SXCMGR fails to open the validation process. SXCMGR fails to write to the validation process. The validation process failed to validate the XID string within timeout limits. The timeout value is either the default 60 seconds or a value set by the user using a TIMEOUT call.
SNAX/CM Messages Text Messages time-date LOG (#30): LINE line-name[,PORT port-name], TACL tacl-name, FAILED AT WRITE TACL PROCESS, FE = fe-error Cause. SNAX/CM fails to write to the named TACL process. Effect. The TACL process was stopped by SNAX/CM. Recovery. Check the file-system error number to determine the reason for the command not being accepted. time-date LOG (#31): LINE line-name[,PORT port-name], TACL tacl-name STARTED ON LU alias-lu-name Cause. The user specified a TACL process with tacl-name.
SNAX/CM Messages Text Messages time-date LOG (#33): LINE line-name[,PORT port-name], WRITE PROCESS process-name FAILED, FE = fe-error Cause. After the line is connected, SNAX/CM opens process-name specified by either the ENABLE or the CONNECT command, but fails to write the interface messages to process-name. Effect. SNAX/CM leaves the connection active and logs this message. Recovery. Check the file-system error number to determine the reason for the command not being accepted.
SNAX/CM Messages Text Messages time-date LOG (#36): LINE line-name[,PORT port-name], CALL-IN NOT ACCEPTED, RC = rc-code, FE = fe-error Cause. SNAX/XF failed to accept a call-in message because of an unconfigured call address or XID value. Effect. The call has been disconnected. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted. time-date LOG (#37): LINE line-name[,PORT port-name], INTERNAL ERROR: LINE NOT IN DATABASE Cause.
SNAX/CM Messages Text Messages time-date LOG (#39): LINE line-name[,PORT port-name], DISABLED, UNABLE TO NOTIFY SNAX/XF, RC = rc-code, FE = fe-error Cause. The line is disabled. Effect. When SNAX/CM attempted to disconnect from SNAX/XF, the request failed. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted. time-date LOG (#40): LINE line-name[,PORT port-name], operation TIMED OUT Cause.
SNAX/CM Messages Text Messages time-date LOG (#41): LINE line-name[,PORT port-name], INTERNAL ERROR: BAD ALIAS LU NAME Cause. The alias LU name returned by SNAX/XF to SNAX/CM is invalid. Effect. Communication between SNAX/XF and SNAX/CM is not possible. Recovery. Save the log file and call your Tandem representative. time-date LOG (#42): TRACE STOPPED SUCCESSFULLY Cause. The SXCMGR trace is stopped. Effect. The trace file closed. Recovery. Informational message only; no corrective action is needed.
SNAX/CM Messages Text Messages time-date LOG (#45): TRACE STARTED SUCCESSFULLY Cause. A TRACE command was successfully processed. Effect. A trace is active using trace-file to record trace records on disk. Recovery. None required. time-date LOG (#46): TAKEOVER BY BACKUP PROCESS Cause. The primary Connection Manager process has failed or has been stopped. Effect. The backup process has assumed control. Recovery. Informational message only; no corrective action is needed.
SNAX/CM Messages Text Messages time-date LOG (#48): PU STATUS for PUNAME: pu-name SAMPLE TIME: timestamp PU TYPE: { SWITCHED FLOATING | PERMANENTLY SUBORDINATE } LINE { line-name | N/A } PORT { port-name | N/A } STATUS: pu-status CALLSTRING: callstring XIDSTRING: xidstring ALIASLU: alias_lu_name ALIASLUCNT: alias_lu_count Cause. The STATUS PU command completes successfully. Effect.
SNAX/CM Messages Text Messages time-date MON (#2): LINE line-name, PORT port-name, CALL-OUT FAILED, STATUS: DISCONNECTED, RC = rc-code, FE = fe-error Cause. A line with the same APPLNAME attribute as this SNAX/CM process failed a call-out operation. Effect. The line is disconnected. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted.
SNAX/CM Messages Text Messages time-date MON (#5): LINE line-name, PORT port-name, CALL-IN FAILED, STATUS: DISCONNECTED, RC = rc-code, FE = fe-error Cause. A line with the same APPLNAME attribute as this SNAX/CM process failed a call-in operation. Effect. The line is disconnected. Recovery. Check the return code and file-system error number to determine the reason for the command not being accepted.
SNAX/CM Messages Text Messages time-date MON (#8): LINE line-name, PORT port-name, status-type, STATUS: status (UNEXPECTED), RC = rc-code, FE = fe-error Cause. The SNAX/XF service manager returns a status that is not expected, where status-type is one of the following: Call Validate XID Validate Call-Out Connected Call-In Connected Call Disconnected Status Response SESSION TIMEOUT and status is one of the following: Not Available Disconnected Disconnecting Allowing Calling Connected Effect.
SNAX/CM Messages Text Messages (This page left intentionally blank) B–32 097842 Tandem Computers Incorporated
Appendix C SNAX/CM Sample Server This appendix contains an example of a user-written server process named SNAX/CM Server (SXCMSV) to use with SNAX/CM. This example is not a prerequisite to using SNAX/CM. Note The sample code is for illustration only and is not supported. You can add code to this example process to customize it as your requirements dictate, or you can write the entire server process yourself.
SNAX/CM Sample Server Server Text Commands Server ADD Command The sample server ADD command allows users to: Define call numbers and/or PUIDs for the PUs supported by the server (SXCMSV) process Configure one of four PROCESS options to take in using each of the LUs on a connected PU The syntax for the server ADD command is as follows: ADD option [, option ] ...
SNAX/CM Sample Server Server Text Commands file1 is a file name to be used by the process option selected: When proc-id = 1, file1 is the program file to use when calling NEWPROCESS. When proc-id = 2, file1 is the IN file used in the startup message issued to the new process. file2 is a file name to be used by the process option selected. For both proc-id = 1 and proc-id = 2, file2 is the default subvolume used in the startup message issued to the new process. parm-string is a character string.
SNAX/CM Sample Server Server Text Commands Server ASSUME Command The sample server ASSUME command allows users to select the SXCMGR, by process name, to which subsequent commands are directed. When SXCMSV is run, no SXCMGR is selected. This is shown by the prompt displayed as ")>".
SNAX/CM Sample Server Server Text Commands Server DELETE Command The sample server DELETE command allows users to remove the definition for call numbers and/or PUIDs for the PUs supported by the SXCMSV process, and to delete the PROCESS option definitions for each of the LUs. The syntax for each DELETE command option is the same as for the ADD command, but only enough information to identify the PUID, CALLNUM, or PROCESS is required.
SNAX/CM Sample Server Server Text Commands Server ENVIRONMENT Command The sample server ENVIRONMENT command displays the current log file, the current connections, the configured callstrings, the configured PUIDs, and the configured LU processes. The syntax for the SXCMSV ENVIRONMENT command is as follows: ENV[IRONMENT] The display for the SXCMSV ENVIRONMENT command is as follows: Log active, logfile: log-file Lines Connected: linename . . linename Callstring list: callstring . .
SNAX/CM Sample Server Server Text Commands Server EXIT Command The sample server EXIT command allows a user to terminate the server process. When it receives an EXIT command, SXCMSV calls the Guardian STOP procedure. EXIT is accepted from the IN file or from its $RECEIVE file. The EXIT command is never sent to a SNAX/CM process; rather, the command always stops the SXCMSV process. The syntax for the server EXIT command is as follows: EXIT This command terminates the server process.
SNAX/CM Sample Server User Process Procedures Server OBEY Command The sample server OBEY command causes SXCMSV to read subsequent commands from a disk edit file until EOF is reached in the edit file. The command (OBEY) file is always read by the interface process (provided in this example), and the commands in the disk file are sent to the SXCMGR process, if selected, one line at a time.
SNAX/CM Sample Server User Process Procedures Example TAL Compile Control File Following is an example of a TAL compile control file named SVUSERC: !SVUSERC ?SOURCE svuserd INT PROC writeterm( count ); INT count; EXTERNAL; ?LIST ?NOLIST,SOURCE extdecs( open, writeread, write, read, close ) ?LIST ?NOLIST,SOURCE extdecs( stop, numout, myterm ) ?LIST ?NOLIST,SOURCE extdecs( debug, abend, getcrtpid ) ?LIST ?NOLIST,SOURCE extdecs( fnamecollapse, fnameexpand, createprocessname ) ?LIST ?NOLIST,SOURCE extdecs( ne
SNAX/CM Sample Server User Process Procedures VARSTRING Structures Following are the structures used in messages from the SNAX/CM server interface. If the structure contains variable-length information, it should use the VARSTRING structure to be an offset and length to it. A VARSTRING structure is defined as follows: STRUCT VARSTRING (*); BEGIN INT OFFSET; ! Byte offset to data. It is the offset ! from the outermost structure that the ! varstring is contained in (usually the ! base of the message).
SNAX/CM Sample Server User Process Procedures The User Procedures File SVUSERS Following is sample code in a file named SVUSERS for the user procedures. This example file contains a procedure to make the connection, start the user’s process, and disconnect. -------------------------------------------------------------------------------------------- DO^USERx^CONNECT Procedure -- The "CONNECT" procedure is called when SXCMSV detects that a connection has been made.
SNAX/CM Sample Server User Process Procedures STRUCT .newp^smsg; begin INT msg^code; ! word 0, should be -1 struct default; begin INT volume [0:3]; ! word 1 default volume and subvolume. INT subvol [0:3]; end; struct infile; begin INT volume [0:3]; ! word 9 default input file. INT subvol [0:3]; INT fname [0:3]; end; struct outfile; begin INT volume [0:3]; ! word 21 default output file. INT subvol [0:3]; INT fname [0:3]; end; STRING parms[0:300]; -- buffer for parms end; INT error; INT .
SNAX/CM Sample Server User Process Procedures BEGIN -- OPEN failed CALL FILEINFO( procfn ,error); errmsg ':=' "OPEN after NEWPROCESS failed for LU: " -> @sptr1; @sptr1 := @sptr1 + fnamecollapse( luexpname, sptr1 ); CALL writeterm_( @sptr1 '-' @errmsg ); errmsg ':=' "File Error: " -> @sptr1; CALL numout(sptr1, error, 10, 4 ); @sptr1 := @sptr1 + 4; CALL writeterm_( @sptr1 '-' @errmsg ); CALL STOP ( proc^id ); END -- OPEN failed ELSE BEGIN -- OPEN succeeded -- build and send the start up message newp^smsg.
SNAX/CM Sample Server User Process Procedures END -- buffer is available ELSE BEGIN -- the thing is running, but we have no record RETURN 0D; END; -- the thing is running, but we have no record END; -- WRITE of startup msg succeeded END; -- OPEN succeeded END; -- NEWPROCESS successful RETURN 0D; END; -- do^user1^connect -------------------------------------------------------------------------------------------- DO^USERx^DISCONNECT Procedure -- The "DISCONNECT" procedure is called when SXCMSV detects that a
SNAX/CM Sample Server User Process Procedures STRUCT .newp^smsg; begin STRING base[ 0:-1 ]; INT msg^code; ! word 0, should be -1 struct default; begin INT volume [0:3]; ! word 1 default volume and subvolume. INT subvol [0:3]; end; struct infile; begin INT volume [0:3]; ! word 9 default input file. INT subvol [0:3]; INT fname [0:3]; end; struct outfile; begin INT volume [0:3]; ! word 21 default output file.
SNAX/CM Sample Server User Process Procedures ELSE BEGIN -- OPEN succeeded -- build and send the start up message newp^smsg.msg^code := -1; newp^smsg.default ':=' proc^buf.file2 FOR 8 WORDS; newp^smsg.infile ':=' proc^buf.file1 FOR 12 WORDS; newp^smsg.parms ':=' "line " -> @sptr1; lu^name^len := fnamecollapse( luexpname,sptr1 ); @sptr1 := @sptr1 '+' lu^name^len; IF proc^buf.parmstring.length THEN sptr1 ':=' ","& proc^buf.base[ proc^buf.parmstring.offset ] FOR proc^buf.parmstring.
SNAX/CM Sample Server User Process Procedures INT(32) PROC do^user3^connect( proc^buf, luexpname, errmsg, xpoolhead ); INT .EXT proc^buf( proc^buffer^template ); INT .luexpname; STRING .errmsg; INT .xpoolhead; BEGIN -- do^user3^connect RETURN 0D; END; -- do^user3^connect INT PROC do^user3^disconnect( connect^buf, errmsg, xpoolhead ); INT .EXT connect^buf( connected^buffer^template ); STRING .errmsg; INT .
SNAX/CM Sample Server User Process Procedures (This page left intentionally blank) C–18 097842 Tandem Computers Incorporated
Glossary This glossary defines terms used and referred to in the SNAX Connection Manager Manual. For abbreviations of terms specific to SNAX/XF and other Tandem products, the definition consists of a cross-reference to the spelled-out term. In addition, several definitions have been referenced from the IBM Dictionary of Computing and the IBM Network Program Products: General Information manual.
Glossary checkpoint. A point at which information about the status of a job and the system can be recorded so that the job step can be later restarted. CICS. Customer Information Control System. cluster controller. A device that controls access (I/O operations) to a group of terminals or printers connected to it. A cluster controller may be controlled by a program stored and executed in the unit, or it may be entirely controlled by hardware. command (OBEY) file.
Glossary event. A significant change in some condition in the system or network. Events can be operational errors, notifications of limits exceeded, requests for action, notifications of lines and other objects becoming available, and so on. Note that an event is not always an error. event message. An SPI message that describes an event occurring in the system or network. Compare command message or response message. Exchange Identification (XID). A value that identifies which PUs connect to a SNAX/XF line.
Glossary leased line. A connection between systems or devices that does not have to be made by dialing, synonymous with nonswitched line. A telephone line reserved for exclusive (private) use of the leasing customer. link. The logical connection between nodes, including the end-to-end link control procedures. link station. A protocol machine in an SNA node that manages the exchange of information between a link station in another node and the upper SNA layers in its own node. logical unit (LU).
Glossary OBEY file. See command (OBEY) file. object. In Tandem terminology, an object is an entity that can be configured, controlled, and inquired about by the operator. packet-switching data network. A network that uses packet switching as a means of transmitting data. Passthrough. A function of the SNAX/XF line access software that allows a 3270 terminal attached to a Tandem system to switch between Tandem and IBM applications.
Glossary PSDN. Packet-switched data network. pseudocontroller. A dummy controller, not actual hardware but part of the operating systems software, that simulates the functions of a real controller (such as designating a primary or secondary line). When SNAX/XF acts as an access method, it does not access an actual controller but instead uses $SSCP (the SNAX/XF service manager) as a pseudocontroller. PVC. Permanent virtual circuit. PU. See physical unit. QLLC. Qualified Logical-Link Control protocol.
Glossary SNA session. The creation of a temporary data path consisting of a physical and a logical connection between two LUs in separate domains for information exchange. To establish a data path between two LUs in separate domains for data exchange, four types of sessions must exist: SSCP-SSCP, SSCP-PU, SSCP-LU, and LU-LU. SNAX Connection Manager (SNAX/CM). A subsystem that provides an interface point to control switched connections with remote devices using SNAX/XF lines over X.25 lines.
Glossary switched connection. A temporary association established between two PUs when a PU accepts a call-in. This connection can be initiated in many different ways, such as a telephone dial operation or a call-out request packet on a packet switched network. A PU may receive a call-in after enabling a network port with a SNAX/CM allow-call-in request. The call-in request results from a call-out request issued by a remote PU. switched floating LU. An LU that is subordinate to a switched floating PU.
Glossary throughput. The total useful information processed or communicated during a specified time period. Throughput is usually expressed in bits or bytes per second. token. A sequence of three bytes passed from node to node along the network. The middle field contains a token bit that indicates to a receiving node that the token is available to accept information. If that node has data to transmit, it appends that data to the token and changes the value of the bit. The token now becomes a frame. VTAM.
Glossary (This page left intentionally blank) Glossary–10 097842 Tandem Computers Incorporated
Index A Accepted call 4-4, 4-10 ADD command for the server C-2 Alias LU names 1-3, C-2 LU list 4-10 APPLNAME command 3-2 ASSOCIATESUBDEV attribute 2-7 ASSUME command for the server C-4 AUTOACCEPT attribute when using SNAX/CM 2-2 B BIND file C-8 C Call acceptance 4-4, 4-10 Call disconnected 4-3 Call rejected 4-4, 4-10 Call restriction 4-5 Call validation 4-1, 4-5, 4-6, 4-10 for secondary lines 2-1 message structure 4-6 sample server 4-8 Call-in operations generic PUs 3-15 secondary PUs 3-17 SNAX/CM 2-4 Call-
Index Configuration 2-1, 4-1 SNAX/CM 2-4, 3-2 SNAX/CM network 2-1 SNAX/CM requirements 1-4 SNAX/XF lines 2-1 Token-Ring network 2-8, 2-9 CONNECT command 3-3 CONNECTAPPL line attribute 2-2, 2-3 CONNECTAPPLANY line attribute 2-2 Connected line message structure 4-3 Connection accepted 4-3, 4-4, 4-10 Connection manager See SNAX/CM Connection rejected 4-3, 4-4, 4-10 CONTROL 11 call with SNAX/CM 3-4 Create a server process 4-1 D Define LUs 4-10 Definitions file for the server C-9 DELETE command for the server C
Index Example configuring SNAX/CM 2-4 Token-Ring network 2-9 X.
Index I Incoming calls disable 1-1 receiving 1-1 Interfaces to the server process 4-1, 4-8 L LANRMTADDR attribute 2-7 Line attributes CONNECTAPPL 2-3 DIALTYPE 2-4 MAXPUS 2-4 Line connected message structure 4-3 Line disconnected message structure 4-3 LOG command server process C-7 SNAX/CM 3-20 LOG file 1-1 messages for SNAX/CM B-6, B-11 SNAX/CM 1-2 M MAC address 2-8, 2-9 MAXPUS line attribute 2-3, 2-4 Message structure 4-2 connection rejected 4-4 line connected 4-3 line disconnected 4-3 SNAX/CM replies 4-6
Index Multiple ports 3-17 Multiple SNAX/CM processes 1-6 configuring 2-6 N NOCONNECTAPPL line attribute 2-2 O OBEY command server process C-8 SNAX/CM 3-22 OUT file messages B-6 Outgoing calls 1-1 P PUs call-in operations 2-1 generic 3-15 secondary lines 2-1 R Receiving incoming calls 1-1 Rejected connection 4-3, 4-4, 4-10 Remote devices 1-1 Remote devices, calling 1-1 Replies from SNAX/CM 4-6 Restricting calls 4-5 Return codes for SNAX/CM B-1 RUN command multiple SNAX/CM processes 1-6 SNAX/CM 1-4 SNAX/CM e
Index S SAP address 2-8, 2-9 SCF ADD APPL command 2-3 APPLTYPE attribute 2-3 SCF ADD LINE command 2-3 SCF ALTER LINE command 2-3 SCF attributes 2-3 APPLTYPE 2-3 CONNECTAPPL 2-3 DIALTYPE 2-4 MAXPUS 2-4 Screen call-in requests 4-5 Secondary PUs ASSOCIATESUBDEV attribute 2-1 call-in operations 2-1 Selecting SNAX/CM 2-3 Server commands C-2 ADD C-2 ASSUME C-4 DELETE C-5 ENVIRONMENT C-6 EXIT C-7 HELP C-7 LOG C-7 OBEY C-8 Server process 1-1, 1-2, 4-1, 4-5 BIND file C-8 call validation 4-8 code examples C-8 comman
Index Service manager 1-4 SNAX/CM alias LU names 1-3 call-in operations 2-4 call-out operations 2-4 calling in 1-1 calling out 1-1 commands 3-1 communication lines 1-4 components of 1-1 configuration 3-2 configuration attributes 2-3 configuration example 2-4 configuring the network 2-1 environment 1-1 error codes B-1 event messages A-1 functions 1-1 issuing commands 1-1 LOG file 1-2 log file messages B-1 message structure 4-2 message structure for replies 4-6 monitor messages B-11, B-28 monitoring connecti
Index SNAX/CM (continued) status messages B-1 support over SVCs 1-1 text messages B-6 Token-Ring environment 2-7 TRACE command 1-8 using the RUN command 1-4 validating calls 1-1 validation process 4-5 SNAX/CM commands 3-1 APPLNAME 3-1, 3-2 CONNECT 3-1, 3-3 DISABLE 3-1, 3-8 DISCONNECT 3-1, 3-10 EMSCOLLECTOR 3-1, 3-12 ENABLE 3-1, 3-13 errors in syntax B-11 EXIT 3-1, 3-18 HELP 3-1, 3-19 LOG 3-1, 3-20 OBEY 3-1, 3-22 STATUS LINE 3-1, 3-23 STATUS LINE, PORT 3-1, 3-23, 3-27 STATUS LINE, PU 3-1, 3-23, 3-31 STATUS
Index SYSGEN attributes AUTOACCEPT 2-2 CONNECTAPPL 2-2 CONNECTAPPLANY 2-2 DIALIN 2-2 DIALINOUT 2-2 DIALOUT 2-2 MAXPUS 2-3 NOCONNECTAPPL 2-2 T TAL compile control file C-9 Token-Ring networks 1-1, 2-8, 2-9 MAC address 2-8, 2-9 point-to-point connection 2-8 SAP address 2-8, 2-9 using SNAX/CM 2-7 Tokens categories of A-3 conditional A-3 Tandem internal A-3 unconditional A-3 volatile A-3 TRACE command for SNAX/CM 1-8, 3-37 TRRMTADDR attribute See LANRMTADDR attribute Types of errors B-1 U User procedure litera
Index X X.
Index ZSXC-EVT- (continued) UNEXPECTED-STATUS A-20 UNSUPPORTED-STATUS A-22 ZSXC-TKNALIAS-LU-COUNT A-9, A-31 ALIAS-LU-NAME A-9, A-31, A-42 CM-TIMEOUT-TYPE A-60 FE A-5, A-7, A-13, A-15, A-17, A-19, A-21, A-23, A-33, A-35, A-38, A-40, A-44, A-46, A-48, A-51, A-57 NEWPROCESS-ERR-CODE A-37 NEWPROCESS-ERR-FE A-36 RC A-5, A-7, A-13, A-15, A-17, A-19, A-21, A-23, A-32, A-35, A-48, A-51, A-57 SERVER-PROCNAME A-32, A-34, A-44, A-46 SERVER-TYPE A-55 STATUS A-8, A-13, A-15, A-17, A-19, A-21, A-23, A-24, A-26, A-31 TAC