Index Index for
Section 3
Index Alphabetical
listing for D
Bottom of page Bottom of
page

dn_comp(3)

NAME

dn_comp - Compress a domain name

SYNOPSIS

#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 );

LIBRARY

Standard C Library (libc)

PARAMETERS

expanded_name Points to a domain name. compressed_name Points to an array containing the compressed domain name. length Specifies the size of the array pointed to by the compressed_name parameter. name_ptrs Specifies a list of pointers to previously compressed names in the current message. end_ptr Points to the end of the array pointed to by the compressed_name parameter.

DESCRIPTION

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.

RETURN VALUES

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>.

FILES

/etc/resolv.conf Defines name server and domain name structures, constants, and values.

SEE ALSO

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).

Index Index for
Section 3
Index Alphabetical
listing for D
Top of page Top of
page