130 return m_DeviceOpened;
134 struct SocketContainer;
143 bool m_DeviceOpened =
false;
145 SocketFamily m_SockFamily;
146 std::unique_ptr<SocketContainer> m_Socket;
147 IPAddress m_InterfaceIP;
Definition: IpAddress.h:318
Definition: PointerVector.h:50
Definition: RawPacket.h:290
Definition: RawSocketDevice.h:39
RecvPacketResult
An enum for reporting packet receive results.
Definition: RawSocketDevice.h:43
@ RecvTimeout
Receive timeout - timeout expired without any packets being captured.
Definition: RawSocketDevice.h:47
@ RecvWouldBlock
Definition: RawSocketDevice.h:50
@ RecvSuccess
Receive success.
Definition: RawSocketDevice.h:45
@ RecvError
Receive error, usually will be followed by an error log.
Definition: RawSocketDevice.h:52
int receivePackets(RawPacketVector &packetVec, double timeout, int &failedRecv)
~RawSocketDevice()
A d'tor for this class. It closes the raw socket if not previously closed by calling close()
int sendPackets(const RawPacketVector &packetVec)
bool sendPacket(const RawPacket *rawPacket)
bool isOpened() const override
Definition: RawSocketDevice.h:128
RecvPacketResult receivePacket(RawPacket &rawPacket, bool blocking=true, double timeout=-1)
RawSocketDevice(const IPAddress &interfaceIP)
void close() override
Close the raw socket.
const ProtocolType Ethernet
Ethernet protocol.
Definition: ProtocolType.h:45
const ProtocolType IPv4
IPv4 protocol.
Definition: ProtocolType.h:48
const ProtocolType IPv6
IPv6 protocol.
Definition: ProtocolType.h:51
The main namespace for the PcapPlusPlus lib.
Definition: AssertionUtils.h:19