int dn_comp (
u_char **end_ptr );
The dn_comp() (domain name compression) function compresses the domain name pointed to by the expanded_name parameter and stores it in the area pointed to by the compressed_name parameter.
The dn_comp() function inserts labels into the message as the name is compressed. The dn_comp() function also maintains a list of pointers to the message labels.
If the value of the name_ptrs parameter is null, the dn_comp() function does not compress any names, but instead translates a domain name from ASCII to internal format without removing suffixes (compressing). Otherwise, the name_ptrs parameter is the address of pointers to previously compressed suffixes.
If the end_ptr parameter is null, the dn_comp() function does not update the list of label pointers.
The dn_comp() function is one of a set of subroutines that form the resolver, a set of functions that resolves domain names. Global information that is used by the resolver functions is kept in the _res data structure. The /include/resolv.h file contains the _res data structure definition.
Upon successful completion, the dn_comp() function returns the size of the compressed domain name. Otherwise, a value of -1 is returned.
Functions: res_init(3), res_mkquery(3), res_send(3), dn_expand(3), dn_find(3), _getshort(3), _getlong(3), putshort(3), putlong(3), dn_skipname(3)
Commands: named(8) delim off