17 void init(uint16_t len);
31 static_assert(
sizeof(
wol_header) == 102,
"wol_header size is not 102 bytes");
107 return (port == 0) || (port == 7) || (port == 9);
147 static std::vector<FieldDescriptor>
all()
151 std::copy(extra.begin(), extra.end(), std::back_inserter(result));
Definition: IpAddress.h:30
Definition: MacAddress.h:24
Definition: Serializers.h:230
Class for representing the Wake on LAN Layer.
Definition: WakeOnLanLayer.h:15
WakeOnLanLayer(const pcpp::MacAddress &targetAddr, const IPv4Address &password)
std::string toString() const override
OsiModelLayer getOsiModelLayer() const override
Definition: WakeOnLanLayer.h:133
void computeCalculateFields() override
Does nothing for this layer.
Definition: WakeOnLanLayer.h:129
pcpp::MacAddress getTargetAddr() const
bool setPassword(const uint8_t *password, uint8_t len)
bool setPassword(const std::string &password)
WakeOnLanLayer(const pcpp::MacAddress &targetAddr)
void serializeLayer(ObjectScope &serializer) const override
wol_header * getWakeOnLanHeader() const
Definition: WakeOnLanLayer.h:65
static bool isDataValid(const uint8_t *data, size_t dataSize)
size_t getHeaderLen() const override
Definition: WakeOnLanLayer.h:123
WakeOnLanLayer(const pcpp::MacAddress &targetAddr, uint8_t *password, uint8_t len)
bool setPassword(const MacAddress &addr)
bool setPassword(const IPv4Address &addr)
WakeOnLanLayer(const pcpp::MacAddress &targetAddr, const pcpp::MacAddress &password)
void setTargetAddr(const pcpp::MacAddress &targetAddr)
static bool isWakeOnLanPort(uint16_t port)
Definition: WakeOnLanLayer.h:105
std::string getPassword() const
WakeOnLanLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: WakeOnLanLayer.h:38
void parseNextLayer() override
Parses the next layer. Wake on LAN is the always last so does nothing for this layer.
Definition: WakeOnLanLayer.h:119
const ProtocolType WakeOnLan
Wake On LAN (WOL) Protocol.
Definition: ProtocolType.h:207
The main namespace for the PcapPlusPlus lib.
Definition: AssertionUtils.h:19
OsiModelLayer
An enum representing OSI model layers.
Definition: ProtocolType.h:420
@ OsiModelDataLinkLayer
Data link layer (layer 2)
Definition: ProtocolType.h:424
Definition: Serializers.h:18
static std::vector< FieldDescriptor > all()
Definition: Layer.h:214
Definition: WakeOnLanLayer.h:145
static const FieldDescriptor TargetAddress
Target MAC address that the magic packet wakes, as a string.
Definition: WakeOnLanLayer.h:156
static std::vector< FieldDescriptor > all()
Definition: WakeOnLanLayer.h:147
static const FieldDescriptor Password
Optional SecureOn password, if present.
Definition: WakeOnLanLayer.h:159