projects
/
platform
/
upstream
/
c-ares.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fbb01a0
)
Support big-endian machines.
author
Gisle Vanem
<gvanem@broadpark.no>
Sat, 12 Nov 2005 15:15:27 +0000
(15:15 +0000)
committer
Gisle Vanem
<gvanem@broadpark.no>
Sat, 12 Nov 2005 15:15:27 +0000
(15:15 +0000)
ares_dns.h
patch
|
blob
|
history
diff --git
a/ares_dns.h
b/ares_dns.h
index
adac9d6
..
3e57572
100644
(file)
--- a/
ares_dns.h
+++ b/
ares_dns.h
@@
-18,6
+18,7
@@
#ifndef ARES__DNS_H
#define ARES__DNS_H
#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])
#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))
((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)
/* Macros for parsing a DNS header */
#define DNS_HEADER_QID(h) DNS__16BIT(h)