Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, TACL
F–4 46958 Tandem Computers Incorporated
#SET l^status [#SSINIT [l^buf^symbol]
[zdns^val^ssid]
[l^cmd] / OBJECT [l^obj]/]
[#IF [l^status] |THEN|
[dns^spierr SSINIT [l^status]]
]
#UNFRAME
?SECTION dns^3^to^end MACRO
==
== Returns its third through last parameters.
==
%3 TO *%
?SECTION dns^ssget ROUTINE
==
== Jacket procedure for #SSGET:
==
== dns^ssget <buffer> <token-code> [ <value^symbol> ]
==
== Expands to error number.
==
#FRAME
#PUSH l^buf^sym, l^token^sym, l^status, l^token^value, l^value^sym
SINK [#ARGUMENT/VALUE l^buf^sym/ VARIABLE]
SINK [#ARGUMENT/VALUE l^token^sym/ VARIABLE]
[#IF ([#ARGUMENT/VALUE l^value^sym/ VARIABLE END] = 2) |THEN| #SET
l^value^sym]
#SET l^token^value [#SSGET [l^buf^sym] [[l^token^sym]]]
#SETMANY l^status , [l^token^value]
[#IF NOT [l^status] |THEN|
[#IF NOT [#EMPTYV l^value^sym] |THEN|
#SET [l^value^sym ] [dns^3^to^end [l^token^value]]
]
]
#RESULT [l^status]
#UNFRAME
?SECTION dns^err ROUTINE
==
== Called when we get an unexpected value for ZSPI^TKN^RETCODE:
==
== dns^err <retcode-value>
==