lokinet/llarp/net/ip.cpp
dr7ana f574cd798f Clang format include sorting + CMake
- includes are now sorted in consistent, logical order; first step in an attempt to fix the tomfoolery (no relation to Tom) brought in by include-what-you-use
- shuffled around some cmake linking to simplify dependency graph
- superfluous files removed
2024-01-31 07:54:12 -08:00

30 lines
467 B
C++

#include "ip.hpp"
#include <cstring>
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;
}
} // namespace llarp::net