~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to system/include/net/arpa/nameser_compat.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 * 4. Neither the name of the University nor the names of its contributors
 
13
 *    may be used to endorse or promote products derived from this software
 
14
 *    without specific prior written permission.
 
15
 *
 
16
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 
17
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
18
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
19
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 
20
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 
21
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 
22
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 
23
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 
24
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 
25
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 
26
 * SUCH DAMAGE.
 
27
 */
 
28
 
 
29
/*%
 
30
 *      from nameser.h  8.1 (Berkeley) 6/2/93
 
31
 *      $BINDId: nameser_compat.h,v 8.11 1999/01/02 08:00:58 vixie Exp $
 
32
 */
 
33
 
 
34
#ifndef _ARPA_NAMESER_COMPAT_
 
35
#define _ARPA_NAMESER_COMPAT_
 
36
 
 
37
#define __BIND          19950621        /*%< (DEAD) interface version stamp. */
 
38
 
 
39
#include <endian.h>
 
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 INT8SZ          NS_INT8SZ
 
95
#define INADDRSZ        NS_INADDRSZ
 
96
#define IN6ADDRSZ       NS_IN6ADDRSZ
 
97
#define INDIR_MASK      NS_CMPRSFLGS
 
98
#define NAMESERVER_PORT NS_DEFAULTPORT
 
99
 
 
100
#define S_ZONE          ns_s_zn
 
101
#define S_PREREQ        ns_s_pr
 
102
#define S_UPDATE        ns_s_ud
 
103
#define S_ADDT          ns_s_ar
 
104
 
 
105
#define QUERY           ns_o_query
 
106
#define IQUERY          ns_o_iquery
 
107
#define STATUS          ns_o_status
 
108
#define NS_NOTIFY_OP    ns_o_notify
 
109
#define NS_UPDATE_OP    ns_o_update
 
110
 
 
111
#define NOERROR         ns_r_noerror
 
112
#define FORMERR         ns_r_formerr
 
113
#define SERVFAIL        ns_r_servfail
 
114
#define NXDOMAIN        ns_r_nxdomain
 
115
#define NOTIMP          ns_r_notimpl
 
116
#define REFUSED         ns_r_refused
 
117
#define YXDOMAIN        ns_r_yxdomain
 
118
#define YXRRSET         ns_r_yxrrset
 
119
#define NXRRSET         ns_r_nxrrset
 
120
#define NOTAUTH         ns_r_notauth
 
121
#define NOTZONE         ns_r_notzone
 
122
/*#define BADSIG                ns_r_badsig*/
 
123
/*#define BADKEY                ns_r_badkey*/
 
124
/*#define BADTIME               ns_r_badtime*/
 
125
 
 
126
 
 
127
#define DELETE          ns_uop_delete
 
128
#define ADD             ns_uop_add
 
129
 
 
130
#define T_A             ns_t_a
 
131
#define T_NS            ns_t_ns
 
132
#define T_MD            ns_t_md
 
133
#define T_MF            ns_t_mf
 
134
#define T_CNAME         ns_t_cname
 
135
#define T_SOA           ns_t_soa
 
136
#define T_MB            ns_t_mb
 
137
#define T_MG            ns_t_mg
 
138
#define T_MR            ns_t_mr
 
139
#define T_NULL          ns_t_null
 
140
#define T_WKS           ns_t_wks
 
141
#define T_PTR           ns_t_ptr
 
142
#define T_HINFO         ns_t_hinfo
 
143
#define T_MINFO         ns_t_minfo
 
144
#define T_MX            ns_t_mx
 
145
#define T_TXT           ns_t_txt
 
146
#define T_RP            ns_t_rp
 
147
#define T_AFSDB         ns_t_afsdb
 
148
#define T_X25           ns_t_x25
 
149
#define T_ISDN          ns_t_isdn
 
150
#define T_RT            ns_t_rt
 
151
#define T_NSAP          ns_t_nsap
 
152
#define T_NSAP_PTR      ns_t_nsap_ptr
 
153
#define T_SIG           ns_t_sig
 
154
#define T_KEY           ns_t_key
 
155
#define T_PX            ns_t_px
 
156
#define T_GPOS          ns_t_gpos
 
157
#define T_AAAA          ns_t_aaaa
 
158
#define T_LOC           ns_t_loc
 
159
#define T_NXT           ns_t_nxt
 
160
#define T_EID           ns_t_eid
 
161
#define T_NIMLOC        ns_t_nimloc
 
162
#define T_SRV           ns_t_srv
 
163
#define T_ATMA          ns_t_atma
 
164
#define T_NAPTR         ns_t_naptr
 
165
#define T_A6            ns_t_a6
 
166
#define T_DNAME         ns_t_dname
 
167
#define T_TSIG          ns_t_tsig
 
168
#define T_IXFR          ns_t_ixfr
 
169
#define T_AXFR          ns_t_axfr
 
170
#define T_MAILB         ns_t_mailb
 
171
#define T_MAILA         ns_t_maila
 
172
#define T_ANY           ns_t_any
 
173
 
 
174
#define C_IN            ns_c_in
 
175
#define C_CHAOS         ns_c_chaos
 
176
#define C_HS            ns_c_hs
 
177
/* BIND_UPDATE */
 
178
#define C_NONE          ns_c_none
 
179
#define C_ANY           ns_c_any
 
180
 
 
181
#define GETSHORT                NS_GET16
 
182
#define GETLONG                 NS_GET32
 
183
#define PUTSHORT                NS_PUT16
 
184
#define PUTLONG                 NS_PUT32
 
185
 
 
186
#endif /* _ARPA_NAMESER_COMPAT_ */
 
187
/*! \file */