mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-19 09:25:28 +00:00
7caa87862e
All #ifndef guards on headers have been removed, I think, in favor of #pragma once Headers are now included as `#include "filename"` if the included file resides in the same directory as the file including it, or any subdirectory therein. Otherwise they are included as `#include <project/top/dir/relative/path/filename>` The above does not include system/os headers.
29 lines
466 B
C++
29 lines
466 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
|