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);