Distributed Name Service (DNS) Management Programming Manual

DNS Programming Example, TAL
G–6 46958 Tandem Computers Incorporated
!
! Open was unsuccessful, get the file management error number.
!
CALL fileinfo(-1, status);
!
! Return open error.
!
RETURN dns^openerr(status);
END;
!
! Initialize REQ^BUF for GETVERSION command.
!
IF (status := ssinit(req^buf
, zdns^val^buflen
, dns^ssid
, zspi^val^cmdhdr
, zspi^cmd^getversion
, zdns^obj^dns
,
,
, true))
THEN
BEGIN
!
! Couldn't do it; close the manager and return SPI error.
!
CALL close(fno);
RETURN dns^spierr(status);
END;
!
! Send the GETVERSION request to the name manager.
!
IF (result := dns^send(fno, req^buf, resp^buf, false)) <> 0d THEN
BEGIN
!
! Some sort of error; close the manager and return.
!
CALL close(fno);
RETURN result;
END;
!
! Get RETCODE.
!
IF (status := ssgettkn(resp^buf, zspi^tkn^retcode, retcode)) THEN
BEGIN