tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 8fc15e4861b37f7799abde6b9d6ec63fdceb55da
parent 4dda026f0da05dfccf4fb8a13492b81af9324a39
Author: Nick Mathewson <nickm@torproject.org>
Date:   Thu, 28 Jun 2018 13:26:27 -0400

Add ntohs and htons to lib/arch/bytes.h

Diffstat:
Msrc/lib/arch/bytes.h | 27+++++++++++++++++++++++++++
1 file changed, 27 insertions(+), 0 deletions(-)

diff --git a/src/lib/arch/bytes.h b/src/lib/arch/bytes.h @@ -87,6 +87,18 @@ set_uint64(void *cp, uint64_t v) } #ifdef WORDS_BIGENDIAN +static inline uint16_t +tor_htons(uint32_t a) +{ + return a; +} + +static inline uint16_t +tor_ntohs(uint64_t a) +{ + return a; +} + static inline uint32_t tor_htonl(uint32_t a) { @@ -111,6 +123,21 @@ tor_ntohll(uint64_t a) return a; } #else +static inline uint16_t +tor_htons(uint16_t a) +{ + /* Our compilers will indeed recognize this as bswap. */ + return + ((a & 0x00ff) << 8) | + ((a & 0xff00) >> 8); +} + +static inline uint16_t +tor_ntohs(uint16_t a) +{ + return tor_htons(a); +} + static inline uint32_t tor_htonl(uint32_t a) {