diff options
author | Paul Selkirk <paul@psgd.org> | 2016-05-24 15:42:15 -0400 |
---|---|---|
committer | Paul Selkirk <paul@psgd.org> | 2016-05-24 15:43:13 -0400 |
commit | 1fe3c1370d668afd68b9c3b6d0e9480bf3700a7e (patch) | |
tree | abddf1e91d75ec7339ac45ed803df301e4068cbf /hal_internal.h | |
parent | 9f4389f372576c377a070e18ca402482de9cdf21 (diff) |
Move htonl to hal_internal.h
Diffstat (limited to 'hal_internal.h')
-rw-r--r-- | hal_internal.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/hal_internal.h b/hal_internal.h index 253dc09..60aed3b 100644 --- a/hal_internal.h +++ b/hal_internal.h @@ -46,6 +46,27 @@ */ /* + * htonl is not available in arm-none-eabi headers or libc. + */ +#ifndef STM32F4XX +#include <arpa/inet.h> +#else +#ifdef __ARMEL__ /* little endian */ +inline uint32_t htonl(uint32_t w) +{ + return + ((w & 0x000000ff) << 24) + + ((w & 0x0000ff00) << 8) + + ((w & 0x00ff0000) >> 8) + + ((w & 0xff000000) >> 24); +} +#else /* big endian */ +#define htonl(x) (x) +#endif +#define ntohl htonl +#endif + +/* * Longest hash block and digest we support at the moment. */ |