Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, TACL
46958 Tandem Computers Incorporated F–21
==
== Opens the DNS name manager.
==
== dns^open [ <system> ]
==
#FRAME
#PUSH l^systemname {<system>}
#DEF l^request^buf STRUCT LIKE zdns^ddl^msg^buffer; {SPI request}
#DEF l^response^buf STRUCT LIKE zdns^ddl^msg^buffer; {SPI response}
#PUSH l^status {SPI status}
#PUSH l^banner {Server banner}
==
== Construct DNS name manager name.
==
[#IF ([#ARGUMENT /VALUE l^systemname/ SYSTEMNAME END]) = 1 |THEN|
#SET dns^manager [l^systemname].$ZDNS
|ELSE|
#SET dns^manager $ZDNS
]
==
== Close current name manager, if any.
==
[#IF NOT [#MATCH [dns^send^error] NOTOPEN] |THEN|
SINK [#REQUESTER CLOSE dns^response]
]
==
== Initialize variables for #REQUESTER use.
==
#SET dns^send^error
#SET dns^request
#SET dns^response
==
== Open the name manager.
==
#SET l^status [#REQUESTER/WAIT 5000/READ [dns^manager].#ZSPI
dns^send^error
dns^response
dns^request]
[#IF [l^status] |THEN|
==
== Open error: issue message and raise exception.
==