lokinet/llarp/net/ip.cpp

29 lines
466 B
C++
Raw Normal View History

#include "ip.hpp"
#include <cstring>
2020-05-20 22:48:13 +00:00
namespace llarp::net
{
huint128_t
In6ToHUInt(in6_addr addr)
{
uint8_t* ptr = reinterpret_cast<uint8_t*>(addr.s6_addr);
uint128_t x{0};
for (int i = 0; i < 16; i++)
{
x <<= 8;
x |= ptr[i];
}
return huint128_t{x};
}
in6_addr
HUIntToIn6(huint128_t x)
{
in6_addr addr;
auto i = ntoh128(x.h);
std::memcpy(&addr, &i, 16);
return addr;
}
2020-05-20 22:48:13 +00:00
} // namespace llarp::net