Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, TAL
46958 Tandem Computers Incorporated G–11
IF (status := ssget(resp^buf, br^map, basic^response, 1)) THEN
result := dns^spierr(status);
IF (status := ssget(resp^buf, dr^map, detailed^response, 1)) THEN
result := dns^spierr(status);
!
! Remember that we found one.
!
have^response := true;
END;
!
! Exit the current data list.
!
IF (status := ssgettkn(resp^buf, zspi^tkn^endlist)) THEN
result := dns^spierr(status);
END;
!
! Either we're finished, had an error, or there were no more data lists.
!
IF NOT (done OR error OR status = zspi^err^mistkn) THEN
result := dns^spierr(status);
!
! If we're not finished, see if the name manager has more responses
! for us.
!
IF NOT (done OR error) THEN
IF (status := ssgettkn(resp^buf, zspi^tkn^context, , 1)) THEN
IF status = zspi^err^mistkn THEN
!
! No; we're finished.
!
done := true
ELSE
result := dns^spierr(status)
ELSE
!
! Yes; set MORE to indicate that the context token
! should be moved to the request buffer.
!
more := true;
END;
RETURN result;
END;
?PAGE "LOOKUP A NAME"