Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)

named(8)

dn_comp(3)  —  Subroutines

OSF

NAME

dn_comp − Compresses a domain name

LIBRARY

Standard C Library (libc.a)

SYNOPSIS

#include <sys/types.h>

#include <netinet/in.h>

#include <arpa/nameser.h>

#include <resolv.h>

int dn_comp (
    u_char ∗expanded_name,
    u_char ∗compressed_name,
    int length,
    u_char ∗∗name_ptrs,
    u_char ∗∗end_ptr );

PARAMETERS

expanded_name
Points to a domain name.

compressed_name
Points to an array containing the compressed domain name.

lengthSpecifies the size of the array pointed to by the compressed_name parameter. 

name_ptrsSpecifies a list of pointers to previously compressed names in the current message. 

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

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. 

FILES

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

RELATED INFORMATION

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)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026