+
#ifndef ARES_NAMESER_H
#define ARES_NAMESER_H
-/* Windows-only header file provided by liren@vivisimo.com to make his Windows
- port build */
-
-#ifndef NETWARE
-#include <windows.h>
-#include <process.h> /* for the _getpid() proto */
-#endif /* !NETWARE */
-#include <sys/types.h>
-
-#ifndef NETWARE
-
-#define MAXHOSTNAMELEN 256
-
-#define EINPROGRESS WSAEINPROGRESS
-#define EWOULDBLOCK WSAEWOULDBLOCK
-#define EMSGSIZE ERANGE /* FIX: is there a better replacement? */
-#define EAFNOSUPPORT ERANGE /* FIX: is there a better replacement? */
-
-/* Structure for scatter/gather I/O. */
-struct iovec
-{
- void *iov_base; /* Pointer to data. */
- size_t iov_len; /* Length of data. */
-};
-
-#define getpid() _getpid()
+/* header file provided by liren@vivisimo.com */
-int ares_writev (SOCKET s, const struct iovec *vector, size_t count);
-#define writev(s,vect,count) ares_writev(s,vect,count)
+#ifndef HAVE_ARPA_NAMESER_H
-struct timezone { int dummy; };
-
-int ares_gettimeofday(struct timeval *tv, struct timezone *tz);
-#define gettimeofday(tv,tz) ares_gettimeofday(tv,tz)
-
-#endif /* !NETWARE */
-
-#define NS_CMPRSFLGS 0xc0
-#define NS_IN6ADDRSZ 16
-#define NS_INT16SZ 2
-#define NS_INADDRSZ 4
-
- /* Flag bits indicating name compression. */
-#define INDIR_MASK NS_CMPRSFLGS
+#define NS_PACKETSZ 512 /* maximum packet size */
+#define NS_MAXDNAME 256 /* maximum domain name */
+#define NS_MAXCDNAME 255 /* maximum compressed domain name */
+#define NS_MAXLABEL 63
+#define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */
+#define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */
+#define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
+#define NS_INT16SZ 2
+#define NS_INADDRSZ 4
+#define NS_IN6ADDRSZ 16
+#define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */
+#define NS_DEFAULTPORT 53 /* For both TCP and UDP. */
typedef enum __ns_class {
ns_c_invalid = 0, /* Cookie. */
ns_c_max = 65536
} ns_class;
-#define C_IN ns_c_in
-
typedef enum __ns_type {
ns_t_invalid = 0, /* Cookie. */
ns_t_a = 1, /* Host address. */
ns_t_dname = 39, /* Non-terminal DNAME (for IPv6) */
ns_t_sink = 40, /* Kitchen sink (experimentatl) */
ns_t_opt = 41, /* EDNS0 option (meta-RR) */
+ ns_t_apl = 42, /* Address prefix list (RFC3123) */
+ ns_t_ds = 43, /* Delegation Signer (RFC4034) */
+ ns_t_sshfp = 44, /* SSH Key Fingerprint (RFC4255) */
+ ns_t_rrsig = 46, /* Resource Record Signature (RFC4034) */
+ ns_t_nsec = 47, /* Next Secure (RFC4034) */
+ ns_t_dnskey = 48, /* DNS Public Key (RFC4034) */
+ ns_t_tkey = 249, /* Transaction key */
ns_t_tsig = 250, /* Transaction signature. */
ns_t_ixfr = 251, /* Incremental zone transfer. */
ns_t_axfr = 252, /* Transfer zone of authority. */
ns_t_max = 65536
} ns_type;
-#define T_PTR ns_t_ptr
-#define T_A ns_t_a
-
-
-#define NS_DEFAULTPORT 53 /* For both TCP and UDP. */
-#define NAMESERVER_PORT NS_DEFAULTPORT
-
-#define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */
-#define HFIXEDSZ NS_HFIXEDSZ
-
-#define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */
-#define QFIXEDSZ NS_QFIXEDSZ
-
typedef enum __ns_opcode {
ns_o_query = 0, /* Standard query. */
ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */
ns_o_max = 6
} ns_opcode;
-#define QUERY ns_o_query
-
-#define NS_MAXLABEL 63
-#define MAXLABEL NS_MAXLABEL
-
-#define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
-#define RRFIXEDSZ NS_RRFIXEDSZ
-
-#define T_CNAME ns_t_cname
-
-
-#define NS_PACKETSZ 512 /* maximum packet size */
-#define PACKETSZ NS_PACKETSZ
-
typedef enum __ns_rcode {
ns_r_noerror = 0, /* No error occurred. */
ns_r_formerr = 1, /* Format error. */
ns_r_badtime = 18
} ns_rcode;
+#endif /* HAVE_ARPA_NAMESER_H */
+
+#ifndef HAVE_ARPA_NAMESER_COMPAT_H
+
+#define PACKETSZ NS_PACKETSZ
+#define MAXDNAME NS_MAXDNAME
+#define MAXCDNAME NS_MAXCDNAME
+#define MAXLABEL NS_MAXLABEL
+#define HFIXEDSZ NS_HFIXEDSZ
+#define QFIXEDSZ NS_QFIXEDSZ
+#define RRFIXEDSZ NS_RRFIXEDSZ
+#define INDIR_MASK NS_CMPRSFLGS
+#define NAMESERVER_PORT NS_DEFAULTPORT
+
+#define QUERY ns_o_query
+
#define SERVFAIL ns_r_servfail
#define NOTIMP ns_r_notimpl
#define REFUSED ns_r_refused
#define FORMERR ns_r_formerr
#define NXDOMAIN ns_r_nxdomain
+#define C_IN ns_c_in
#define C_CHAOS ns_c_chaos
#define C_HS ns_c_hs
#define C_NONE ns_c_none
#define T_SRV ns_t_srv
#define T_ATMA ns_t_atma
#define T_NAPTR ns_t_naptr
+#define T_KX ns_t_kx
+#define T_CERT ns_t_cert
+#define T_A6 ns_t_a6
+#define T_DNAME ns_t_dname
+#define T_SINK ns_t_sink
+#define T_OPT ns_t_opt
+#define T_APL ns_t_apl
+#define T_DS ns_t_ds
+#define T_SSHFP ns_t_sshfp
+#define T_RRSIG ns_t_rrsig
+#define T_NSEC ns_t_nsec
+#define T_DNSKEY ns_t_dnskey
+#define T_TKEY ns_t_tkey
#define T_TSIG ns_t_tsig
#define T_IXFR ns_t_ixfr
#define T_AXFR ns_t_axfr
#define T_MAILA ns_t_maila
#define T_ANY ns_t_any
+#endif /* HAVE_ARPA_NAMESER_COMPAT_H */
+
#endif /* ARES_NAMESER_H */