Distributed Name Service (DNS) Management Programming Manual

DNS Programming Example, TACL
F–16 46958 Tandem Computers Incorporated
#SET l^types [#rest]
[#IF [#EMPTYV l^types] |THEN|
#SET l^types [zdns^obj^alias] &
[zdns^obj^atype] &
[zdns^obj^comp] &
[zdns^obj^ctype] &
[zdns^obj^dom] &
[zdns^obj^group] &
[zdns^obj^ss] &
[zdns^obj^ssmgr] &
[zdns^obj^ssobj] &
[zdns^obj^sstype]
]
==
== Initialize INFO NAME parameter.
==
dns^ssnull zdns^map^info^name^p l^param
==
== Build INFO NAME parameter.
==
[#IF [#MATCH $* [1^name]] |THEN|
#SET 1^param:zname:z^fn:z^fname [1^name]
|ELSE|
[#IF [#MATCH \* [1^name]] |THEN|
#SET 1^param:zname:z^fn:z^fname [1^name]
|ELSE|
#SET 1^param:zname [1^name]]]
[#IF NOT [#EMPTYV l^defnode] |THEN|
#SET l^param:zdefnode [l^defnode]
]
==
== Initialize INFO NAME request buffer.
==
dns^ssinit l^request^buf zdns^cmd^info zdns^obj^name
==
== Put INFO NAME parameter in the request buffer.
==
dns^ssputv l^request^buf zdns^map^info^name^p l^param
==
== We want as many responses as will fit in the response buffer.
==
dns^ssput l^request^buf zspi^tkn^maxresp l^maxresp
==
== Look up the name.
==