28 lines
572 B
C++
28 lines
572 B
C++
#ifndef HWADDRESSTRANSLATOR_H
|
|
#define HWADDRESSTRANSLATOR_H
|
|
|
|
#include <cstddef>
|
|
#include <stdint.h>
|
|
#include <tins/hw_address.h>
|
|
#include "Main_t.h"
|
|
#include "Ip6Packet_t.h"
|
|
|
|
|
|
#ifndef DefaultSizeOf
|
|
#define DefaultSizeOfHwAddress 6
|
|
#endif
|
|
|
|
|
|
typedef Tins::HWAddress<DefaultSizeOfHwAddress> HwAddress;
|
|
typedef std::unique_ptr<HwAddress> UPtrHwAddress;
|
|
|
|
class HwAddressTranslator
|
|
{
|
|
|
|
public:
|
|
static void toSolicitedNodeAddress(IN const Tins::IPv6Address & ipv6Address, INOUT HwAddress & resultHwAddress);
|
|
private:
|
|
static const uint8_t solicitedNodeAddressPrefix[];
|
|
};
|
|
#endif
|