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