GDSX Manual
User Exit Descriptions
Extended General Device Support (GDSX) Manual–134303
9-14
USER^COMMANDS
Example 9-1. Listing of TELLGDS File (page 1 of 4)
?TACL ROUTINE 
== 
== This TACL routine ("TELLGDS") sends a broadcast message to 
== a GDSX process via the SPI interface. It is invoked as follows: 
== 
== RUN TELLGDS <GDSX-process-name> "Quoted-string" 
== 
attach^definitions 
#FRAME 
#PUSH procname text 
SINK [#ARGUMENT/VALUE procname/PROCESSNAME] == Get the arguments 
verify^process [procname] == Needed due to bug in #ARGUMENT 
SINK [#ARGUMENT/VALUE text/STRING] 
SINK [#ARGUMENT END] == NO MORE 
#PUSH #USELIST 
#PUSH err retcode 
#SET #USELIST :GDSX [#USELIST] 
#DEF ssid STRUCT LIKE zgds^val^ssid; 
#SET ssid [zspi^val^tandem].[zspi^ssn^zgds].[zgds^val^version] 
#DEF spibuf STRUCT LIKE zgds^ddl^msg^buffer; 
spicmd #SSINIT spibuf [ssid] [ugds^cmd^tell] /OBJECT zcom^obj^null/ 
spicmd #SSPUT spibuf [zcom^tkn^objname] [_LONGEST [procname]] [procname] 
spicmd #SSPUT spibuf [ugds^tkn^text] [text] 
spi^open [procname] 
spi^send spibuf 
spi^close 
spicmd #SSPUT spibuf zspi^tkn^reset^buffer zgds^val^buflen 
#SETMANY err _ retcode,[#SSGET /INDEX 1/ spibuf zspi^tkn^retcode] 
[#IF [err] 
 |THEN| leave^routine Error [err] on SSGET 
] 
[#IF (retcode <> zspi^err^ok) 
 |THEN| leave^routine [gds^error [retcode]] 
] 
#UNFRAME 
The UTACLIB file for this example contains:
?SECTION xeq MACRO 
== 
== Macro to display and execute whatever was passed 
== 
#OUTPUT >%*% 
%*% 
?SECTION spi^error ROUTINE 
== 
== Routine to return the text of an SPI error 
== 










