dn_comp - Compress a domain name
#include <sys/types.h> #include <netinet/in.h> #include
<arpa/nameser.h> #include <resolv.h>
int dn_comp(
const char *expanded_name,
u_char *compressed_name,
int length,
u_char **name_ptrs,
u_char **end_ptr );
Standard C Library (libc)
Points to a domain name. Points to an array containing
the compressed domain name. Specifies the size of the
array pointed to by the compressed_name parameter. Specifies
a list of pointers to previously compressed names in
the current message. Points to the end of the array
pointed to by the compressed_name parameter.
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. The list ends with
NULL.
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 and the h_errno external variable is set
with an error code, if any. Error code values and reasons
are defined in <netdb.h>.
Defines name server and domain name structures, constants,
and values.
Functions: dn_expand(3), dn_find(3), dn_skipname(3), putshort(3), putlong(3), res_init(3), res_mkquery(3),
res_query(3), res_search(3), res_send(3), _getshort(3),
_getlong(3).
Commands: named(8).
dn_comp(3)
[ Back ] |