Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, TAL
46958 Tandem Computers Incorporated G–9
!INFO ALIAS detailed response map.
, dr^map[0:zdns^map^info^alias^dr^wln - 1] = 'P' := zdns^map^info^alias^dr
;
!
! Procedure body: set ambiguous flag to false for now.
!
ambiguous := false;
!
! Initialize INFO ALIAS parameter.
!
IF (status := ssnull(param^map, param)) THEN
result := dns^spierr(status);
IF NOT error THEN
BEGIN
!
! Move procedure parameters for INFO ALIAS parameter.
!
param.zname ':=' name FOR zdns^val^objlen;
param.zdefnode ':=' defnode FOR 8;
IF param.zdefnode.z^b = " " THEN
param.zdefnode.z^b := "*";
param.zdetail := true; !We want detailed response.
!
! Initialize INFO ALIAS request.
!
IF (status := ssinit(req^buf
, zdns^val^buflen
, dns^ssid
, zspi^val^cmdhdr
, zdns^cmd^info
, zdns^obj^alias))
THEN
result := dns^spierr(status);
END;
!
! Put INFO ALIAS parameter in the REQUEST buffer.
!
IF NOT error THEN
IF (status := ssput(req^buf, param^map, param)) THEN
result := dns^spierr(status);
!
! Indicate that the name manager is to return as many responses
! as will fit in the RESPONSE buffer.
!