Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, C
46958 Tandem Computers Incorporated H–5
if (status = SSINIT((short *) &req_buf
, ZDNS_VAL_BUFLEN
, (short *) &dns_ssid
, ZSPI_VAL_CMDHDR
, ZSPI_CMD_GETVERSION
, 0
, 0
, true))
{
/*----------------------------------------*/
/* SSINIT error; close file and return */
/*----------------------------------------*/
close(*file_desc);
*file_desc = -1;
return dns_return(spi_err, status);
}
/*---------------------------------------------*/
/* Send GETVERSION request to the name manager */
/*---------------------------------------------*/
send_result = dns_send(*file_desc, &req_buf, &resp_buf, false);
if (send_result.err_class != no_err)
{
/*-------------------------------*/
/* DNS_SEND encountered an error */
/*-------------------------------*/
close(*file_desc);
*file_desc = -1;
return send_result;
}
/*---------------------------------------*/
/* Retrieve RETCODE from response buffer */
/*---------------------------------------*/
if (status = SSGETTKN((short *) &resp_buf
, ZSPI_TKN_RETCODE
, (char *) &retcode))
{
/*---------------------------------------------------*/
/* Error getting RETCODE; close manager and return */
/*---------------------------------------------------*/
close(*file_desc);
*file_desc = -1;
return dns_return(spi_err, status);
}
/*----------------------------------------------*/
/* Retrieve SERVER VERSION from response buffer */
/*----------------------------------------------*/