Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, TAL
46958 Tandem Computers Incorporated G–3
STRUCT .dns^ssid(zdns^val^ssid^def);
END BLOCK;
?NOLIST
?SOURCE EXTDECS0(
?ABEND,
?ABORTTRANSACTION,
?BEGINTRANSACTION,
?CLOSE,
?DEBUG,
?ENDTRANSACTION,
?FILEINFO,
?GETSYSTEMNAME,
?INITIALIZER,
?MYSYSTEMNUMBER,
?OPEN,
?SSGET,
?SSGETTKN,
?SSINIT,
?SSMOVE,
?SSNULL,
?SSPUT,
?SSPUTTKN,
?WRITEREADX
?)
?LIST
?PAGE "SEND REQUEST TO THE NAME MANAGER"
!
! Perform a WRITEREADX to the name manager.
!
! The SPI-formatted request is passed in request.
! The SPI-formatted response is returned in the response.
!
! If a value other than DNS^NOERR is returned, the contents
! of response are undefined.
!
INT(32) PROC dns^send(fno, request, response, move^context);
INT fno; !i - File number of name manager
INT .EXT request(zdns^ddl^msg^buffer^def);
!i - Request buffer
INT .EXT response(zdns^ddl^msg^buffer^def);
!i/o - Response buffer
INT move^context; !i - IF true, move ZSPI^TKN^CONTEXT from
! the response buffer to the request
! buffer prior to WRITEREADX
BEGIN