Distributed Name Service (DNS) Management Programming Manual
DNS Programming Example, C
46958 Tandem Computers Incorporated H–7
/*==================================================================*/
/* Look up an alias in a DNS database */
/*==================================================================*/
error_return_def dns_lookup_alias
 (int file_desc /* File number */
 , char *name /* Alias */
 , char *defnode /* Alias's DEFNODE */
 , zdns_ddl_info_alias_br_def *basic_response /* Output is */
 , zdns_ddl_info_alias_dr_def *detailed_response /* placed here. */
 , int *ambiguous) /* If true on */
 /* return, name is */
 /* ambiguous */
{
error_return_def result;
int have_response = false;
int done = false;
int status;
int retcode;
int more = false;
zdns_ddl_msg_buffer_def request_buf;
zdns_ddl_msg_buffer_def response_buf;
zdns_ddl_info_dnsobj_p_def param;
/*-------------------------------*/
/* Clear caller's AMBIGUOUS flag */
/*-------------------------------*/
*ambiguous = false;
/*----------------------------------*/
/* Initialize INFO DNSOBJ parameter */
/*----------------------------------*/
if (status = SSNULL((short *) &zdns_map_info_dnsobj_p
 , (char *) ¶m))
 return dns_return(spi_err, status);
/*----------------*/
/* Get parameters */
/*----------------*/
dns_strtomem(¶m.zname, name, ZDNS_VAL_DNSLEN);
dns_strtomem(¶m.zdefnode, defnode, ZDNS_VAL_NODELEN);
/*------------------------------------------------*/
/* Default to all nodes if node name not supplied */
/*------------------------------------------------*/
if (! strncmp((char *)¶m.zdefnode.u_z_c.z_b, " ", 1))
 memcpy(param.zdefnode.u_z_c.z_b, "*", 1);
/*----------------------------*/
/* Request detailed responses */
/*----------------------------*/
param.zdetail = true;










