PcapPlusPlus  Next
NullLoopbackLayer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Layer.h"
4 
6 
9 namespace pcpp
10 {
11 
13 #define PCPP_BSD_AF_INET 2
15 #define PCPP_BSD_AF_NS 6
17 #define PCPP_BSD_AF_ISO 7
19 #define PCPP_BSD_AF_APPLETALK 16
21 #define PCPP_BSD_AF_IPX 23
23 #define PCPP_BSD_AF_INET6_BSD 24
25 #define PCPP_BSD_AF_INET6_FREEBSD 28
27 #define PCPP_BSD_AF_INET6_DARWIN 30
28 
31  class NullLoopbackLayer : public Layer
32  {
33  public:
38  NullLoopbackLayer(uint8_t* data, size_t dataLen, Packet* packet)
39  : Layer(data, dataLen, nullptr, packet, NULL_LOOPBACK)
40  {}
41 
44  explicit NullLoopbackLayer(uint32_t family);
45 
47  ~NullLoopbackLayer() override = default;
48 
50  uint32_t getFamily() const;
51 
54  void setFamily(uint32_t family);
55 
56  // implement abstract methods
57 
63  void parseNextLayer() override;
64 
66  size_t getHeaderLen() const override
67  {
68  return sizeof(uint32_t);
69  }
70 
72  void computeCalculateFields() override
73  {}
74 
75  std::string toString() const override;
76 
78  {
79  return OsiModelDataLinkLayer;
80  }
81  };
82 } // namespace pcpp
Definition: Layer.h:60
Definition: NullLoopbackLayer.h:32
uint32_t getFamily() const
void computeCalculateFields() override
Does nothing for this layer.
Definition: NullLoopbackLayer.h:72
NullLoopbackLayer(uint8_t *data, size_t dataLen, Packet *packet)
Definition: NullLoopbackLayer.h:38
std::string toString() const override
NullLoopbackLayer(uint32_t family)
void setFamily(uint32_t family)
size_t getHeaderLen() const override
Definition: NullLoopbackLayer.h:66
~NullLoopbackLayer() override=default
A destructor for this layer (does nothing)
OsiModelLayer getOsiModelLayer() const override
Definition: NullLoopbackLayer.h:77
void parseNextLayer() override
Definition: Packet.h:22
The main namespace for the PcapPlusPlus lib.
OsiModelLayer
An enum representing OSI model layers.
Definition: ProtocolType.h:225
@ OsiModelDataLinkLayer
Data link layer (layer 2)
Definition: ProtocolType.h:229
const ProtocolType NULL_LOOPBACK
Null/Loopback protocol.
Definition: ProtocolType.h:95