OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [libnetworking/] [arpa/] [nameser_compat.h] - Blame information for rev 416

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/* 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
35
 *      From: Id: nameser_compat.h,v 8.9 1998/03/20 23:25:10 halley Exp
36
 *      $Id: nameser_compat.h,v 1.2 2001-09-27 12:01:48 chris Exp $
37
 */
38
 
39
#ifndef _ARPA_NAMESER_COMPAT_
40
#define _ARPA_NAMESER_COMPAT_
41
 
42
#define __BIND          19950621        /* (DEAD) interface version stamp. */
43
 
44
#include <machine/endian.h>
45
 
46
#if !defined(BYTE_ORDER) || \
47
    (BYTE_ORDER != BIG_ENDIAN && BYTE_ORDER != LITTLE_ENDIAN && \
48
    BYTE_ORDER != PDP_ENDIAN)
49
        /* you must determine what the correct bit order is for
50
         * your compiler - the next line is an intentional error
51
         * which will force your compiles to bomb until you fix
52
         * the above macros.
53
         */
54
  error "Undefined or invalid BYTE_ORDER";
55
#endif
56
 
57
/*
58
 * Structure for query header.  The order of the fields is machine- and
59
 * compiler-dependent, depending on the byte/bit order and the layout
60
 * of bit fields.  We use bit fields only in int variables, as this
61
 * is all ANSI requires.  This requires a somewhat confusing rearrangement.
62
 */
63
 
64
typedef struct {
65
        unsigned        id :16;         /* query identification number */
66
#if BYTE_ORDER == BIG_ENDIAN
67
                        /* fields in third byte */
68
        unsigned        qr: 1;          /* response flag */
69
        unsigned        opcode: 4;      /* purpose of message */
70
        unsigned        aa: 1;          /* authoritive answer */
71
        unsigned        tc: 1;          /* truncated message */
72
        unsigned        rd: 1;          /* recursion desired */
73
                        /* fields in fourth byte */
74
        unsigned        ra: 1;          /* recursion available */
75
        unsigned        unused :1;      /* unused bits (MBZ as of 4.9.3a3) */
76
        unsigned        ad: 1;          /* authentic data from named */
77
        unsigned        cd: 1;          /* checking disabled by resolver */
78
        unsigned        rcode :4;       /* response code */
79
#endif
80
#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
81
                        /* fields in third byte */
82
        unsigned        rd :1;          /* recursion desired */
83
        unsigned        tc :1;          /* truncated message */
84
        unsigned        aa :1;          /* authoritive answer */
85
        unsigned        opcode :4;      /* purpose of message */
86
        unsigned        qr :1;          /* response flag */
87
                        /* fields in fourth byte */
88
        unsigned        rcode :4;       /* response code */
89
        unsigned        cd: 1;          /* checking disabled by resolver */
90
        unsigned        ad: 1;          /* authentic data from named */
91
        unsigned        unused :1;      /* unused bits (MBZ as of 4.9.3a3) */
92
        unsigned        ra :1;          /* recursion available */
93
#endif
94
                        /* remaining bytes */
95
        unsigned        qdcount :16;    /* number of question entries */
96
        unsigned        ancount :16;    /* number of answer entries */
97
        unsigned        nscount :16;    /* number of authority entries */
98
        unsigned        arcount :16;    /* number of resource entries */
99
} HEADER;
100
 
101
#define PACKETSZ        NS_PACKETSZ
102
#define MAXDNAME        NS_MAXDNAME
103
#define MAXCDNAME       NS_MAXCDNAME
104
#define MAXLABEL        NS_MAXLABEL
105
#define HFIXEDSZ        NS_HFIXEDSZ
106
#define QFIXEDSZ        NS_QFIXEDSZ
107
#define RRFIXEDSZ       NS_RRFIXEDSZ
108
#define INT32SZ         NS_INT32SZ
109
#define INT16SZ         NS_INT16SZ
110
#define INADDRSZ        NS_INADDRSZ
111
#define IN6ADDRSZ       NS_IN6ADDRSZ
112
#define INDIR_MASK      NS_CMPRSFLGS
113
#define NAMESERVER_PORT NS_DEFAULTPORT
114
 
115
#define S_ZONE          ns_s_zn
116
#define S_PREREQ        ns_s_pr
117
#define S_UPDATE        ns_s_ud
118
#define S_ADDT          ns_s_ar
119
 
120
#define QUERY           ns_o_query
121
#define IQUERY          ns_o_iquery
122
#define STATUS          ns_o_status
123
#define NS_NOTIFY_OP    ns_o_notify
124
#define NS_UPDATE_OP    ns_o_update
125
 
126
#define NOERROR         ns_r_noerror
127
#define FORMERR         ns_r_formerr
128
#define SERVFAIL        ns_r_servfail
129
#define NXDOMAIN        ns_r_nxdomain
130
#define NOTIMP          ns_r_notimpl
131
#define REFUSED         ns_r_refused
132
#define YXDOMAIN        ns_r_yxdomain
133
#define YXRRSET         ns_r_yxrrset
134
#define NXRRSET         ns_r_nxrrset
135
#define NOTAUTH         ns_r_notauth
136
#define NOTZONE         ns_r_notzone
137
 
138
#define DELETE          ns_uop_delete
139
#define ADD             ns_uop_add
140
 
141
#define T_A             ns_t_a
142
#define T_NS            ns_t_ns
143
#define T_MD            ns_t_md
144
#define T_MF            ns_t_mf
145
#define T_CNAME         ns_t_cname
146
#define T_SOA           ns_t_soa
147
#define T_MB            ns_t_mb
148
#define T_MG            ns_t_mg
149
#define T_MR            ns_t_mr
150
#define T_NULL          ns_t_null
151
#define T_WKS           ns_t_wks
152
#define T_PTR           ns_t_ptr
153
#define T_HINFO         ns_t_hinfo
154
#define T_MINFO         ns_t_minfo
155
#define T_MX            ns_t_mx
156
#define T_TXT           ns_t_txt
157
#define T_RP            ns_t_rp
158
#define T_AFSDB         ns_t_afsdb
159
#define T_X25           ns_t_x25
160
#define T_ISDN          ns_t_isdn
161
#define T_RT            ns_t_rt
162
#define T_NSAP          ns_t_nsap
163
#define T_NSAP_PTR      ns_t_nsap_ptr
164
#define T_SIG           ns_t_sig
165
#define T_KEY           ns_t_key
166
#define T_PX            ns_t_px
167
#define T_GPOS          ns_t_gpos
168
#define T_AAAA          ns_t_aaaa
169
#define T_LOC           ns_t_loc
170
#define T_NXT           ns_t_nxt
171
#define T_EID           ns_t_eid
172
#define T_NIMLOC        ns_t_nimloc
173
#define T_SRV           ns_t_srv
174
#define T_ATMA          ns_t_atma
175
#define T_NAPTR         ns_t_naptr
176
#define T_IXFR          ns_t_ixfr
177
#define T_AXFR          ns_t_axfr
178
#define T_MAILB         ns_t_mailb
179
#define T_MAILA         ns_t_maila
180
#define T_ANY           ns_t_any
181
 
182
#define C_IN            ns_c_in
183
#define C_CHAOS         ns_c_chaos
184
#define C_HS            ns_c_hs
185
/* BIND_UPDATE */
186
#define C_NONE          ns_c_none
187
#define C_ANY           ns_c_any
188
 
189
#define GETSHORT                NS_GET16
190
#define GETLONG                 NS_GET32
191
#define PUTSHORT                NS_PUT16
192
#define PUTLONG                 NS_PUT32
193
 
194
#endif /* _ARPA_NAMESER_COMPAT_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.