Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, TAL
G–24 46958 Tandem Computers Incorporated
STRUCT .EXT req^buf(zdns^ddl^msg^buffer^def); !Request buffer
STRUCT .EXT resp^buf(zdns^ddl^msg^buffer^def); !Response buffer
INT(32)
 result !Value returned by DNS^Send.
 ;
STRUCT !DELETE DNSOBJ parameter.
 .param(zdns^ddl^del^dnsobj^def)
 ;
 !DELETE DNSOBJ parameter map.
INT param^map[0:zdns^map^del^dnsobj^wln - 1] = 'P' := zdns^map^del^dnsobj;
!
! Initialize request buffer.
!
IF (status := ssinit(req^buf
 , zdns^val^buflen
 , dns^ssid
 , zspi^val^cmdhdr
 , zdns^cmd^delete
 , dnstype
 ,
 ,
 , true))
THEN
 RETURN dns^spierr(status);
!
! Initialize DELETE DNSOBJ parameter.
!
IF (status := ssnull(param^map, param)) THEN
 RETURN dns^spierr(status);
!
! Store name in DELETE DNSOBJ parameter.
!
param.zname ':=' dnsname FOR zdns^val^dnslen;
!
! Store DELETE DNSOBJ parameter in request buffer.
!
IF (status := ssput(req^buf, param^map, param)) THEN
 RETURN dns^spierr(status);
!
! Start a TMF transaction.
!
IF (status := begintransaction) THEN
 RETURN dns^tmferr(status);










