Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, TAL
G–16 46958 Tandem Computers Incorporated
 CALL debug
 ELSE
 !
 ! Initialize INFO NAME response.
 !
 IF (status := ssnull(resp^map, candidate)) THEN
 result := dns^spierr(status)
 ELSE
 BEGIN
 !
 ! Build an INFO NAME response for the referent.
 !
 candidate.zdnsname ':=' alias^br.zname
 FOR zdns^val^dnslen;
 candidate.zdefnode ':=' alias^br.zdefnode
 FOR 8;
 candidate.zremote := false;
 candidate.zdnstype := alias^br.zreftype;
 candidate.zssobj ':=' alias^dr.zssobj
 FOR zdns^val^objlen;
 candidate.zssmgr ':=' alias^dr.zssmgr
 FOR zdns^val^mgrlen;
 candidate.zsstype ':=' alias^dr.zsstype
 FOR zdns^val^sstlen;
 candidate.zss ':=' alias^dr.zss
 FOR zdns^val^sslen;
 candidate.zowner ':=' alias^dr.zowner FOR 8;
 candidate.zssnum := alias^dr.zssnum;
 candidate.ztypenum := alias^dr.ztypenum;
 !
 ! We have a match.
 !
 match := true;
 END;
 END;
 IF match THEN
 IF have^response THEN
 !
 ! We already have a response; we need to check to
 ! see if this response is different since we will
 ! get two identical responses for SSOBJECT with
 ! EXTERNAL ON.
 !
 IF response <> candidate FOR 1 ELEMENTS THEN
 BEGIN










