mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-11 07:10:36 +00:00
46ad8d4058
- 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
30 lines
467 B
C++
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
|