Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, TAL
46958 Tandem Computers Incorporated G–15
 result := dns^dnserr(retcode);
 IF NOT (done OR error) THEN
 BEGIN
 !
 ! Get INFO NAME response from RESPONSE buffer.
 !
 IF (status := ssget(resp^buf, resp^map, candidate, 1)) THEN
 result := dns^spierr(status);
 IF NOT error THEN
 BEGIN
 !
 ! We'll use MATCH to indicate whether this name matches
 ! MASK.
 !
 match := false;
 !
 ! First see if the name itself matches.
 !
 IF (mask '<<' candidate.zdnstype) < 0d THEN
 match := true
 ELSE
 !
 ! Name didn't match; if it's an alias, does its
 ! referent have the right type?
 !
 IF candidate.zdnstype = zdns^obj^alias AND
 (mask '<<' candidate.zreftype) < 0d
 THEN
 BEGIN
 !
 ! Yes; look up the referent.
 !
 result := dns^lookup^alias(fno
 , candidate.zdnsname
 , candidate.zdefnode
 , alias^br
 , alias^dr
 , status);
 IF NOT error THEN
 IF status THEN
 !
 ! We specified both the name and defnode, so the
 ! name should have been unique.
 !










