Distributed Name Service (DNS) Management Programming Manual

DNS Programming Example, C
H–12 46958 Tandem Computers Incorporated
if (status = SSINIT((short *) &req_buf
, ZDNS_VAL_BUFLEN
, (short *) &dns_ssid
, ZSPI_VAL_CMDHDR
, ZDNS_CMD_INFO
, ZDNS_OBJ_NAME
, -1
, true))
return dns_return(spi_err, status);
/*-------------------------------------------------*/
/* Put INFO NAME paremeter into the request buffer */
/*-------------------------------------------------*/
if (status = SSPUT((short *) &req_buf
, (short *) &zdns_map_info_name_p
, (char *) &param))
return dns_return(spi_err, status);
while (! done)
{
/*--------------------------------------------*/
/* Send INFO NAME request to the name manager */
/*--------------------------------------------*/
result = dns_send(file_desc, &req_buf, &resp_buf, more);
if (result.err_class)
/*-------------------------------*/
/* DNS_SEND encountered an error */
/*-------------------------------*/
return result;
/*-----------------------------------------------*/
/* Examine each data list in the response buffer */
/*-----------------------------------------------*/
while (! (status = SSGETTKN((short *) &resp_buf, ZSPI_TKN_DATALIST)))
{
/*--------------------------------*/
/* Get RETCODE for this data list */
/*--------------------------------*/
if (status = SSGETTKN((short *) &resp_buf
, ZSPI_TKN_RETCODE
, (char *) &retcode))
return dns_return(spi_err, status);
if (retcode == ZDNS_ERR_NOMORE)
/*------------------------------------*/
/* Name manager has no more responses */
/*------------------------------------*/