|
|
|
@ -18,7 +18,18 @@ |
|
|
|
|
#ifndef ARES__DNS_H |
|
|
|
|
#define ARES__DNS_H |
|
|
|
|
|
|
|
|
|
#if 0 |
|
|
|
|
#ifdef ARES_BIG_ENDIAN |
|
|
|
|
/* big-endian aware versions */ |
|
|
|
|
#define DNS__16BIT(p) (((p)[1] << 8) | (p)[0]) |
|
|
|
|
#define DNS__32BIT(p) (((p)[3] << 24) | ((p)[2] << 16) | \ |
|
|
|
|
((p)[1] << 8) | (p)[0]) |
|
|
|
|
#define DNS__SET16BIT(p, v) (((p)[1] = ((v) >> 8) & 0xff), \ |
|
|
|
|
((p)[0] = (v) & 0xff)) |
|
|
|
|
#define DNS__SET32BIT(p, v) (((p)[3] = ((v) >> 24) & 0xff), \ |
|
|
|
|
((p)[2] = ((v) >> 16) & 0xff), \
|
|
|
|
|
((p)[1] = ((v) >> 8) & 0xff), \
|
|
|
|
|
((p)[0] = (v) & 0xff)) |
|
|
|
|
#else |
|
|
|
|
#define DNS__16BIT(p) (((p)[0] << 8) | (p)[1]) |
|
|
|
|
#define DNS__32BIT(p) (((p)[0] << 24) | ((p)[1] << 16) | \ |
|
|
|
|
((p)[2] << 8) | (p)[3]) |
|
|
|
@ -28,7 +39,11 @@ |
|
|
|
|
((p)[1] = ((v) >> 16) & 0xff), \
|
|
|
|
|
((p)[2] = ((v) >> 8) & 0xff), \
|
|
|
|
|
((p)[3] = (v) & 0xff)) |
|
|
|
|
#else /* big-endian aware versions */ |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if 0 |
|
|
|
|
/* we cannot use this approach on systems where we can't access 16/32 bit
|
|
|
|
|
data on un-aligned addresses */ |
|
|
|
|
#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) |
|
|
|
|