diff options
| -rw-r--r-- | ares/ares_dns.h | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/ares/ares_dns.h b/ares/ares_dns.h index adac9d663..3e5757237 100644 --- a/ares/ares_dns.h +++ b/ares/ares_dns.h @@ -18,6 +18,7 @@  #ifndef ARES__DNS_H  #define ARES__DNS_H +#if 0  #define DNS__16BIT(p)                   (((p)[0] << 8) | (p)[1])  #define DNS__32BIT(p)                   (((p)[0] << 24) | ((p)[1] << 16) | \                                           ((p)[2] << 8) | (p)[3]) @@ -27,6 +28,12 @@                                           ((p)[1] = ((v) >> 16) & 0xff), \                                           ((p)[2] = ((v) >> 8) & 0xff), \                                           ((p)[3] = (v) & 0xff)) +#else  /* big-endian aware versions */ +#define DNS__16BIT(p)                   ntohs(*(unsigned short*)(p)) +#define DNS__32BIT(p)                   ntohl(*(unsigned long*)(p)) +#define DNS__SET16BIT(p, v)             *(unsigned short*)(p) = htons(v) +#define DNS__SET32BIT(p, v)             *(unsigned long*)(p) = htonl(v) +#endif  /* Macros for parsing a DNS header */  #define DNS_HEADER_QID(h)               DNS__16BIT(h) | 
