ares_inet_ntop.3: s/socklen_t/ares_socklen_t
[platform/upstream/c-ares.git] / nameser.h
index 196291e..a0302fd 100644 (file)
--- a/nameser.h
+++ b/nameser.h
@@ -1,30 +1,23 @@
-/* Windows-only header file provided by liren@vivisimo.com to make his Windows
-   port build */
 
-#include <windows.h>
-#include <sys/types.h>
+#ifndef ARES_NAMESER_H
+#define ARES_NAMESER_H
 
-#define MAXHOSTNAMELEN 256
+/* header file provided by liren@vivisimo.com */
 
-#define EINPROGRESS WSAEINPROGRESS
+#ifndef HAVE_ARPA_NAMESER_H
 
-/* Structure for scatter/gather I/O.  */
-struct iovec
-{
-    void *iov_base;     /* Pointer to data.  */
-    size_t iov_len;     /* Length of data.  */
-};
-
-#define getpid() _getpid()
-
-int strcasecmp(const char *a, const char *b);
-int gettimeofday(struct timeval *tv, struct timezone *tz);
-
-#define NS_CMPRSFLGS  0xc0  
-
-
-  /* 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. */
@@ -35,11 +28,9 @@ typedef enum __ns_class {
     /* Query class values which do not appear in resource records */
     ns_c_none = 254,        /* for prereq. sections in update requests */
     ns_c_any = 255,         /* Wildcard match. */
-        ns_c_max = 65536
+    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. */
@@ -83,6 +74,13 @@ typedef enum __ns_type {
     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. */
@@ -93,19 +91,6 @@ typedef enum __ns_type {
     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). */
@@ -113,23 +98,9 @@ typedef enum __ns_opcode {
                                 /* Opcode 3 is undefined/reserved. */
     ns_o_notify = 4,        /* Zone change notification. */
     ns_o_update = 5,        /* Zone update message. */
-        ns_o_max = 6
+    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. */
@@ -147,17 +118,35 @@ typedef enum __ns_rcode {
     /* The following are TSIG extended errors */
     ns_r_badsig = 16,
     ns_r_badkey = 17,
-        ns_r_badtime = 18
+    ns_r_badtime = 18
 } ns_rcode;
 
-#define SERVFAIL       ns_r_servfail
-#define NOTIMP         ns_r_notimpl
-#define REFUSED        ns_r_refused
-#define NOERROR                ns_r_noerror
-#define FORMERR                ns_r_formerr
-#define NXDOMAIN       ns_r_nxdomain
+#endif /* HAVE_ARPA_NAMESER_H */
+
+#ifndef HAVE_ARPA_NAMESER_COMPAT_H
 
-#define C_CHAOS                ns_c_chaos
+#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
+#undef NOERROR /* it seems this is already defined in winerror.h */
+#define NOERROR         ns_r_noerror
+#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 C_ANY           ns_c_any
@@ -197,9 +186,26 @@ typedef enum __ns_rcode {
 #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_MAILB         ns_t_mailb
 #define T_MAILA         ns_t_maila
 #define T_ANY           ns_t_any
+
+#endif /* HAVE_ARPA_NAMESER_COMPAT_H */
+
+#endif /* ARES_NAMESER_H */