Distributed Name Service (DNS) Management Programming Manual

DNS Programming Example, C
H–2 46958 Tandem Computers Incorporated
typedef struct {error_class err_class;
int err_number;}
error_return_def;
/*-------------------------------------------------------------------*/
/* Masks for selecting various types of DNS names */
/*-------------------------------------------------------------------*/
#define dns_alias_mask (020000000000ul >> ZDNS_OBJ_ALIAS)
#define dns_atype_mask (020000000000ul >> ZDNS_OBJ_ATYPE)
#define dns_comp_mask (020000000000ul >> ZDNS_OBJ_COMP)
#define dns_ctype_mask (020000000000ul >> ZDNS_OBJ_CTYPE)
#define dns_dom_mask (020000000000ul >> ZDNS_OBJ_DOM)
#define dns_group_mask (020000000000ul >> ZDNS_OBJ_GROUP)
#define dns_ss_mask (020000000000ul >> ZDNS_OBJ_SS)
#define dns_ssmgr_mask (020000000000ul >> ZDNS_OBJ_SSMGR)
#define dns_ssobj_mask (020000000000ul >> ZDNS_OBJ_SSOBJ)
#define dns_sstype_mask (020000000000ul >> ZDNS_OBJ_SSTYPE)
/*-------------------------------------------------------------------*/
/* DNS SSID */
/*-------------------------------------------------------------------*/
#pragma nowarn
zdns_val_ssid_def dns_ssid = {ZSPI_VAL_TANDEM,
ZSPI_SSN_ZDNS,
ZDNS_VAL_VERSION};
#pragma warn
/*===================================================================*/
/* Calculate USEDLEN of a SPI buffer */
/*===================================================================*/
int spi_usedlen(zdns_ddl_msg_buffer_def *buffer)
{ return (int) buffer -> z_occurs + 6; }
#pragma page "DNS_RETURN"
/*===================================================================*/
/* Construct and return an ERROR_RETURN */
/*===================================================================*/
error_return_def dns_return(error_class err_class, int err_number)
{
error_return_def result; /* Value to Return */
result.err_class = err_class;
result.err_number = err_number;
return result;
}
#pragma page "DNS_SEND"
/*===================================================================*/
/* Send a request to the name manager */
/*===================================================================*/