OSI/MHS Management Programming Manual

Examples
OSI/MHS Management Programming Manual424824-001
C-2
SPI Example in TACL
?TACL MACRO
==
*****************************************************************************
==
== TACL macro to issue ADD MTA
==
== The command executed (in SCF structure):
== ADD MTA $MHS1.#MTAX,
== REM-LOGON-VALIDATION ON,
== REM-OUR-PASSW MTA2OURLOGON,
== REM-THEIR-PASSW MTA2ITSLOGON,
== REM-APPLIC-CONTEXT MTS-TRANSFER-PROTOCOL-1984,
== REM-DIALOGUE-MODE MONOLOGUE,
== REM-MAX-MSG-LEN 20000,
== REM-LOCAL-INIT ON,
== REM-REMOTE-INIT ON,
== REM-NSAP-1 52,
== LOC-NSAP-1 51,
== REM-MTA-NAME MTAISTHENAME,
== ISO-COUNTRY-NAME US,
== X121-COUNTRY-NAME 310,
== COUNTRY-NAME UNITEDSTATESOFAMERICA,
== REM-ADMD MTA2ADMD,
== REM-PRMD MTA2PRMD
==
#FRAME
== Variable definitions
#PUSH dummy
#LOAD /keep 1, loaded dummy/ $system.zspidef.zcomtacl
#LOAD /keep 1, loaded dummy/ $system.zspidef.zscptacl
#LOAD /keep 1, loaded dummy/ $system.zspidef.zspitacl
#LOAD /keep 1, loaded dummy/ $system.zspidef.zmhstacl
#POP dummy
#PUSH subsys_status
#PUSH err == Error return value.
#PUSH retcode == Return code from server.
#PUSH io_err == I/O error return value.
#PUSH request == Request I/O variable.
#PUSH reply == Reply I/O variable.
#PUSH scp_name == Name of the SCP
#PUSH subsys == Name of MHS subsys
#PUSH mta_objname == Object name
#PUSH mta_objname_len == length of object name
#PUSH spi_buflen == SPI buffer length
#DEF scp^val^ssid struct like zscp^val^ssid;
#DEF mhs^val^ssid struct like zmhs^val^ssid;
#set subsys $MHS1
[#DEF mhs_mgr_name STRUCT
BEGIN
FNAME32 mhs_mgr_name value [#mysystem].[subsys];
END;
]
#SET scp_name $ZNET
#SET SCP^val^ssid [zspi^val^TANDEM].[zspi^SSN^zSCP].[zSCP^val^VERSION]
#SET MHS^VAL^SSID [ZSPI^VAL^TANDEM].[ZSPI^SSN^ZMHS].[zMHS^val^VERSION]
#DEF spi_req STRUCT LIKE ZCOM^DDL^MAX^MSG^BUFFER; == SPI request buffer
#DEF add_mta_req STRUCT LIKE ZCOM^DDL^MAX^MSG^BUFFER; == Add MTA SPI req
buf
#DEF spi_rep STRUCT LIKE ZCOM^DDL^MAX^MSG^BUFFER; == SPI reply buffer