Annotation of embedaddon/dhcp/includes/arpa/nameser_compat.h, revision 1.1.1.1

1.1       misho       1: /* Copyright (c) 1983, 1989
                      2:  *    The Regents of the University of California.  All rights reserved.
                      3:  * 
                      4:  * Redistribution and use in source and binary forms, with or without
                      5:  * modification, are permitted provided that the following conditions
                      6:  * are met:
                      7:  * 1. Redistributions of source code must retain the above copyright
                      8:  *    notice, this list of conditions and the following disclaimer.
                      9:  * 2. Redistributions in binary form must reproduce the above copyright
                     10:  *    notice, this list of conditions and the following disclaimer in the
                     11:  *    documentation and/or other materials provided with the distribution.
                     12:  * 3. All advertising materials mentioning features or use of this software
                     13:  *    must display the following acknowledgement:
                     14:  *     This product includes software developed by the University of
                     15:  *     California, Berkeley and its contributors.
                     16:  * 4. Neither the name of the University nor the names of its contributors
                     17:  *    may be used to endorse or promote products derived from this software
                     18:  *    without specific prior written permission.
                     19:  * 
                     20:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     21:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     22:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     23:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     24:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     25:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     26:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     27:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     28:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     29:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     30:  * SUCH DAMAGE.
                     31:  */
                     32: 
                     33: /*
                     34:  *      from nameser.h 8.1 (Berkeley) 6/2/93
1.1.1.1 ! misho      35:  *     $Id: nameser_compat.h,v 1.2 2000/01/27 23:28:08 mellon Exp $
1.1       misho      36:  */
                     37: 
                     38: #ifndef _ARPA_NAMESER_COMPAT_
                     39: #define        _ARPA_NAMESER_COMPAT_
                     40: 
                     41: /*
                     42:  * Structure for query header.  The order of the fields is machine- and
                     43:  * compiler-dependent, depending on the byte/bit order and the layout
                     44:  * of bit fields.  We use bit fields only in int variables, as this
                     45:  * is all ANSI requires.  This requires a somewhat confusing rearrangement.
                     46:  */
                     47: 
                     48: typedef struct {
                     49:        unsigned        id :16;         /* query identification number */
                     50: #if BYTE_ORDER == BIG_ENDIAN
                     51:                        /* fields in third byte */
                     52:        unsigned        qr: 1;          /* response flag */
                     53:        unsigned        opcode: 4;      /* purpose of message */
                     54:        unsigned        aa: 1;          /* authoritive answer */
                     55:        unsigned        tc: 1;          /* truncated message */
                     56:        unsigned        rd: 1;          /* recursion desired */
                     57:                        /* fields in fourth byte */
                     58:        unsigned        ra: 1;          /* recursion available */
                     59:        unsigned        unused :1;      /* unused bits (MBZ as of 4.9.3a3) */
                     60:        unsigned        ad: 1;          /* authentic data from named */
                     61:        unsigned        cd: 1;          /* checking disabled by resolver */
                     62:        unsigned        rcode :4;       /* response code */
                     63: #endif
                     64: #if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
                     65:                        /* fields in third byte */
                     66:        unsigned        rd :1;          /* recursion desired */
                     67:        unsigned        tc :1;          /* truncated message */
                     68:        unsigned        aa :1;          /* authoritive answer */
                     69:        unsigned        opcode :4;      /* purpose of message */
                     70:        unsigned        qr :1;          /* response flag */
                     71:                        /* fields in fourth byte */
                     72:        unsigned        rcode :4;       /* response code */
                     73:        unsigned        cd: 1;          /* checking disabled by resolver */
                     74:        unsigned        ad: 1;          /* authentic data from named */
                     75:        unsigned        unused :1;      /* unused bits (MBZ as of 4.9.3a3) */
                     76:        unsigned        ra :1;          /* recursion available */
                     77: #endif
                     78:                        /* remaining bytes */
                     79:        unsigned        qdcount :16;    /* number of question entries */
                     80:        unsigned        ancount :16;    /* number of answer entries */
                     81:        unsigned        nscount :16;    /* number of authority entries */
                     82:        unsigned        arcount :16;    /* number of resource entries */
                     83: } HEADER;
                     84: 
                     85: #define PACKETSZ       NS_PACKETSZ
                     86: #define MAXDNAME       NS_MAXDNAME
                     87: #define MAXCDNAME      NS_MAXCDNAME
                     88: #define MAXLABEL       NS_MAXLABEL
                     89: #define        HFIXEDSZ        NS_HFIXEDSZ
                     90: #define QFIXEDSZ       NS_QFIXEDSZ
                     91: #define RRFIXEDSZ      NS_RRFIXEDSZ
                     92: #define        INT32SZ         NS_INT32SZ
                     93: #define        INT16SZ         NS_INT16SZ
                     94: #define        INADDRSZ        NS_INADDRSZ
                     95: #define        IN6ADDRSZ       NS_IN6ADDRSZ
                     96: #define        INDIR_MASK      NS_CMPRSFLGS
                     97: #define NAMESERVER_PORT        NS_DEFAULTPORT
                     98: 
                     99: #define S_ZONE         ns_s_zn
                    100: #define S_PREREQ       ns_s_pr
                    101: #define S_UPDATE       ns_s_ud
                    102: #define S_ADDT         ns_s_ar
                    103: 
                    104: #define QUERY          ns_o_query
                    105: #define IQUERY         ns_o_iquery
                    106: #define STATUS         ns_o_status
                    107: #define        NS_NOTIFY_OP    ns_o_notify
                    108: #define        NS_UPDATE_OP    ns_o_update
                    109: 
                    110: #define NOERROR                ns_r_noerror
                    111: #define FORMERR                ns_r_formerr
                    112: #define SERVFAIL       ns_r_servfail
                    113: #define NXDOMAIN       ns_r_nxdomain
                    114: #define NOTIMP         ns_r_notimpl
                    115: #define REFUSED                ns_r_refused
                    116: #define YXDOMAIN       ns_r_yxdomain
                    117: #define YXRRSET                ns_r_yxrrset
                    118: #define NXRRSET                ns_r_nxrrset
                    119: #define NOTAUTH                ns_r_notauth
                    120: #define NOTZONE                ns_r_notzone
                    121: /*#define BADSIG               ns_r_badsig*/
                    122: /*#define BADKEY               ns_r_badkey*/
                    123: /*#define BADTIME              ns_r_badtime*/
                    124: 
                    125: 
                    126: #define DELETE         ns_uop_delete
                    127: #define ADD            ns_uop_add
                    128: 
                    129: #define T_A            ns_t_a
                    130: #define T_NS           ns_t_ns
                    131: #define T_MD           ns_t_md
                    132: #define T_MF           ns_t_mf
                    133: #define T_CNAME                ns_t_cname
                    134: #define T_SOA          ns_t_soa
                    135: #define T_MB           ns_t_mb
                    136: #define T_MG           ns_t_mg
                    137: #define T_MR           ns_t_mr
                    138: #define T_NULL         ns_t_null
                    139: #define T_WKS          ns_t_wks
                    140: #define T_PTR          ns_t_ptr
                    141: #define T_HINFO                ns_t_hinfo
                    142: #define T_MINFO                ns_t_minfo
                    143: #define T_MX           ns_t_mx
                    144: #define T_TXT          ns_t_txt
                    145: #define        T_RP            ns_t_rp
                    146: #define T_AFSDB                ns_t_afsdb
                    147: #define T_X25          ns_t_x25
                    148: #define T_ISDN         ns_t_isdn
                    149: #define T_RT           ns_t_rt
                    150: #define T_NSAP         ns_t_nsap
                    151: #define T_NSAP_PTR     ns_t_nsap_ptr
                    152: #define        T_SIG           ns_t_sig
                    153: #define        T_KEY           ns_t_key
                    154: #define        T_PX            ns_t_px
                    155: #define        T_GPOS          ns_t_gpos
                    156: #define        T_AAAA          ns_t_aaaa
                    157: #define        T_LOC           ns_t_loc
                    158: #define        T_NXT           ns_t_nxt
                    159: #define        T_EID           ns_t_eid
                    160: #define        T_NIMLOC        ns_t_nimloc
                    161: #define        T_SRV           ns_t_srv
                    162: #define T_ATMA         ns_t_atma
                    163: #define T_NAPTR                ns_t_naptr
                    164: #define        T_TSIG          ns_t_tsig
                    165: #define        T_IXFR          ns_t_ixfr
                    166: #define T_AXFR         ns_t_axfr
                    167: #define T_MAILB                ns_t_mailb
                    168: #define T_MAILA                ns_t_maila
                    169: #define T_ANY          ns_t_any
                    170: 
                    171: #define C_IN           ns_c_in
                    172: #define C_CHAOS                ns_c_chaos
                    173: #define C_HS           ns_c_hs
                    174: /* BIND_UPDATE */
                    175: #define C_NONE         ns_c_none
                    176: #define C_ANY          ns_c_any
                    177: 
                    178: #define        GETSHORT                NS_GET16
                    179: #define        GETLONG                 NS_GET32
                    180: #define        PUTSHORT                NS_PUT16
                    181: #define        PUTLONG                 NS_PUT32
                    182: 
                    183: #endif /* _ARPA_NAMESER_COMPAT_ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>