1.1 --- a/epoc32/include/stdapis/arpa/nameser_compat.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/stdapis/arpa/nameser_compat.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,191 @@
1.4 -nameser_compat.h
1.5 +/* Copyright (c) 1983, 1989
1.6 + * The Regents of the University of California. All rights reserved.
1.7 + *
1.8 + * Redistribution and use in source and binary forms, with or without
1.9 + * modification, are permitted provided that the following conditions
1.10 + * are met:
1.11 + * 1. Redistributions of source code must retain the above copyright
1.12 + * notice, this list of conditions and the following disclaimer.
1.13 + * 2. Redistributions in binary form must reproduce the above copyright
1.14 + * notice, this list of conditions and the following disclaimer in the
1.15 + * documentation and/or other materials provided with the distribution.
1.16 + * 4. Neither the name of the University nor the names of its contributors
1.17 + * may be used to endorse or promote products derived from this software
1.18 + * without specific prior written permission.
1.19 + *
1.20 + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
1.21 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1.22 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1.23 + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
1.24 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1.25 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1.26 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1.27 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1.28 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1.29 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1.30 + * SUCH DAMAGE.
1.31 + */
1.32 +
1.33 +/*
1.34 + * from nameser.h 8.1 (Berkeley) 6/2/93
1.35 + * From: Id: nameser_compat.h,v 8.9 1998/03/20 23:25:10 halley Exp
1.36 + * $FreeBSD: src/include/arpa/nameser_compat.h,v 1.4 2002/05/28 04:32:25 mike Exp $
1.37 + */
1.38 +
1.39 +#ifndef _ARPA_NAMESER_COMPAT_
1.40 +#define _ARPA_NAMESER_COMPAT_
1.41 +
1.42 +#define __BIND 19950621 /* (DEAD) interface version stamp. */
1.43 +
1.44 +#include <machine/endian.h>
1.45 +
1.46 +#if !defined(_BYTE_ORDER) || \
1.47 + (_BYTE_ORDER != _BIG_ENDIAN && _BYTE_ORDER != _LITTLE_ENDIAN && \
1.48 + _BYTE_ORDER != _PDP_ENDIAN)
1.49 + /* you must determine what the correct bit order is for
1.50 + * your compiler - the next line is an intentional error
1.51 + * which will force your compiles to bomb until you fix
1.52 + * the above macros.
1.53 + */
1.54 +#error "Undefined or invalid _BYTE_ORDER";
1.55 +#endif
1.56 +
1.57 +/*
1.58 + * Structure for query header. The order of the fields is machine- and
1.59 + * compiler-dependent, depending on the byte/bit order and the layout
1.60 + * of bit fields. We use bit fields only in int variables, as this
1.61 + * is all ANSI requires. This requires a somewhat confusing rearrangement.
1.62 + */
1.63 +
1.64 +typedef struct {
1.65 + unsigned id :16; /* query identification number */
1.66 +#if _BYTE_ORDER == _BIG_ENDIAN
1.67 + /* fields in third byte */
1.68 + unsigned qr: 1; /* response flag */
1.69 + unsigned opcode: 4; /* purpose of message */
1.70 + unsigned aa: 1; /* authoritive answer */
1.71 + unsigned tc: 1; /* truncated message */
1.72 + unsigned rd: 1; /* recursion desired */
1.73 + /* fields in fourth byte */
1.74 + unsigned ra: 1; /* recursion available */
1.75 + unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
1.76 + unsigned ad: 1; /* authentic data from named */
1.77 + unsigned cd: 1; /* checking disabled by resolver */
1.78 + unsigned rcode :4; /* response code */
1.79 +#endif
1.80 +#if _BYTE_ORDER == _LITTLE_ENDIAN || _BYTE_ORDER == _PDP_ENDIAN
1.81 + /* fields in third byte */
1.82 + unsigned rd :1; /* recursion desired */
1.83 + unsigned tc :1; /* truncated message */
1.84 + unsigned aa :1; /* authoritive answer */
1.85 + unsigned opcode :4; /* purpose of message */
1.86 + unsigned qr :1; /* response flag */
1.87 + /* fields in fourth byte */
1.88 + unsigned rcode :4; /* response code */
1.89 + unsigned cd: 1; /* checking disabled by resolver */
1.90 + unsigned ad: 1; /* authentic data from named */
1.91 + unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
1.92 + unsigned ra :1; /* recursion available */
1.93 +#endif
1.94 + /* remaining bytes */
1.95 + unsigned qdcount :16; /* number of question entries */
1.96 + unsigned ancount :16; /* number of answer entries */
1.97 + unsigned nscount :16; /* number of authority entries */
1.98 + unsigned arcount :16; /* number of resource entries */
1.99 +} HEADER;
1.100 +
1.101 +#define PACKETSZ NS_PACKETSZ
1.102 +#define MAXDNAME NS_MAXDNAME
1.103 +#define MAXCDNAME NS_MAXCDNAME
1.104 +#define MAXLABEL NS_MAXLABEL
1.105 +#define HFIXEDSZ NS_HFIXEDSZ
1.106 +#define QFIXEDSZ NS_QFIXEDSZ
1.107 +#define RRFIXEDSZ NS_RRFIXEDSZ
1.108 +#define INT32SZ NS_INT32SZ
1.109 +#define INT16SZ NS_INT16SZ
1.110 +#define INADDRSZ NS_INADDRSZ
1.111 +#define IN6ADDRSZ NS_IN6ADDRSZ
1.112 +#define INDIR_MASK NS_CMPRSFLGS
1.113 +#define NAMESERVER_PORT NS_DEFAULTPORT
1.114 +
1.115 +#define S_ZONE ns_s_zn
1.116 +#define S_PREREQ ns_s_pr
1.117 +#define S_UPDATE ns_s_ud
1.118 +#define S_ADDT ns_s_ar
1.119 +
1.120 +#define QUERY ns_o_query
1.121 +#define IQUERY ns_o_iquery
1.122 +#define STATUS ns_o_status
1.123 +#define NS_NOTIFY_OP ns_o_notify
1.124 +#define NS_UPDATE_OP ns_o_update
1.125 +
1.126 +#define NOERROR ns_r_noerror
1.127 +#define FORMERR ns_r_formerr
1.128 +#define SERVFAIL ns_r_servfail
1.129 +#define NXDOMAIN ns_r_nxdomain
1.130 +#define NOTIMP ns_r_notimpl
1.131 +#define REFUSED ns_r_refused
1.132 +#define YXDOMAIN ns_r_yxdomain
1.133 +#define YXRRSET ns_r_yxrrset
1.134 +#define NXRRSET ns_r_nxrrset
1.135 +#define NOTAUTH ns_r_notauth
1.136 +#define NOTZONE ns_r_notzone
1.137 +
1.138 +#define DELETE ns_uop_delete
1.139 +#define ADD ns_uop_add
1.140 +
1.141 +#define T_A ns_t_a
1.142 +#define T_NS ns_t_ns
1.143 +#define T_MD ns_t_md
1.144 +#define T_MF ns_t_mf
1.145 +#define T_CNAME ns_t_cname
1.146 +#define T_SOA ns_t_soa
1.147 +#define T_MB ns_t_mb
1.148 +#define T_MG ns_t_mg
1.149 +#define T_MR ns_t_mr
1.150 +#define T_NULL ns_t_null
1.151 +#define T_WKS ns_t_wks
1.152 +#define T_PTR ns_t_ptr
1.153 +#define T_HINFO ns_t_hinfo
1.154 +#define T_MINFO ns_t_minfo
1.155 +#define T_MX ns_t_mx
1.156 +#define T_TXT ns_t_txt
1.157 +#define T_RP ns_t_rp
1.158 +#define T_AFSDB ns_t_afsdb
1.159 +#define T_X25 ns_t_x25
1.160 +#define T_ISDN ns_t_isdn
1.161 +#define T_RT ns_t_rt
1.162 +#define T_NSAP ns_t_nsap
1.163 +#define T_NSAP_PTR ns_t_nsap_ptr
1.164 +#define T_SIG ns_t_sig
1.165 +#define T_KEY ns_t_key
1.166 +#define T_PX ns_t_px
1.167 +#define T_GPOS ns_t_gpos
1.168 +#define T_AAAA ns_t_aaaa
1.169 +#define T_LOC ns_t_loc
1.170 +#define T_NXT ns_t_nxt
1.171 +#define T_EID ns_t_eid
1.172 +#define T_NIMLOC ns_t_nimloc
1.173 +#define T_SRV ns_t_srv
1.174 +#define T_ATMA ns_t_atma
1.175 +#define T_NAPTR ns_t_naptr
1.176 +#define T_OPT ns_t_opt
1.177 +#define T_IXFR ns_t_ixfr
1.178 +#define T_AXFR ns_t_axfr
1.179 +#define T_MAILB ns_t_mailb
1.180 +#define T_MAILA ns_t_maila
1.181 +#define T_ANY ns_t_any
1.182 +
1.183 +#define C_IN ns_c_in
1.184 +#define C_CHAOS ns_c_chaos
1.185 +#define C_HS ns_c_hs
1.186 +/* BIND_UPDATE */
1.187 +#define C_NONE ns_c_none
1.188 +#define C_ANY ns_c_any
1.189 +
1.190 +#define GETSHORT NS_GET16
1.191 +#define GETLONG NS_GET32
1.192 +#define PUTSHORT NS_PUT16
1.193 +#define PUTLONG NS_PUT32
1.194 +
1.195 +#endif /* _ARPA_NAMESER_COMPAT_ */