diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-05-11 14:01:43 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2006-05-11 14:01:43 +0000 |
commit | 3ec0d26c76d6905501034692d05bddbabae64e76 (patch) | |
tree | 191efcdfd934a0369cdef723fe4f650fe2f3dcfc /include/arpa | |
parent | 262cf6b3df91d5bb7cbdcae2390333b21e8008d5 (diff) | |
download | glibc-3ec0d26c76d6905501034692d05bddbabae64e76.tar glibc-3ec0d26c76d6905501034692d05bddbabae64e76.tar.gz glibc-3ec0d26c76d6905501034692d05bddbabae64e76.tar.bz2 glibc-3ec0d26c76d6905501034692d05bddbabae64e76.zip |
Updated to fedora-glibc-20060511T1325cvs/fedora-glibc-2_4_90-7
Diffstat (limited to 'include/arpa')
-rw-r--r-- | include/arpa/nameser.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h index 944fe732a6..449f5b452e 100644 --- a/include/arpa/nameser.h +++ b/include/arpa/nameser.h @@ -1 +1,44 @@ #include <resolv/arpa/nameser.h> + +/* If the machine allows unaligned access we can do better than using + the NS_GET16, NS_GET32, NS_PUT16, and NS_PUT32 macros from the + installed header. */ +#include <string.h> +#include <stdint.h> +#include <netinet/in.h> + +#if _STRING_ARCH_unaligned + +# undef NS_GET16 +# define NS_GET16(s, cp) \ + do { \ + uint16_t *t_cp = (uint16_t *) (cp); \ + (s) = ntohs (*t_cp); \ + (cp) += NS_INT16SZ; \ + } while (0) + +# undef NS_GET32 +# define NS_GET32(l, cp) \ + do { \ + uint32_t *t_cp = (uint32_t *) (cp); \ + (l) = ntohl (*t_cp); \ + (cp) += NS_INT32SZ; \ + } while (0) + +# undef NS_PUT16 +# define NS_PUT16(s, cp) \ + do { \ + uint16_t *t_cp = (uint16_t *) (cp); \ + *t_cp = htons (s); \ + (cp) += NS_INT16SZ; \ + } while (0) + +# undef NS_PUT32 +# define NS_PUT32(l, cp) \ + do { \ + uint32_t *t_cp = (uint32_t *) (cp); \ + *t_cp = htonl (l); \ + (cp) += NS_INT32SZ; \ + } while (0) + +#endif |