summaryrefslogtreecommitdiff
path: root/Source/Core/Common/PcapFile.h
diff options
context:
space:
mode:
authorSepalani <sepalani@hotmail.fr>2017-08-29 22:14:01 +0100
committerSepalani <sepalani@hotmail.fr>2021-01-30 19:35:09 +0400
commit82bb5d99152b1fac5e2ed1542b38b172beddd1da (patch)
tree43325dbf5105dcde9b3a8c7197532e1768a7df54 /Source/Core/Common/PcapFile.h
parent906fbf6c8e33b1f0247376b1f5d8f0ead5368c18 (diff)
NetworkCaptureLogger: PCAP support added
Log TCP/UDP read/write with fake packet.
Diffstat (limited to 'Source/Core/Common/PcapFile.h')
-rw-r--r--Source/Core/Common/PcapFile.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/Core/Common/PcapFile.h b/Source/Core/Common/PcapFile.h
index dae0c1b2bb..957c5ca6e4 100644
--- a/Source/Core/Common/PcapFile.h
+++ b/Source/Core/Common/PcapFile.h
@@ -24,9 +24,18 @@ namespace Common
class PCAP final
{
public:
+ enum class LinkType : u32
+ {
+ Ethernet = 1, // IEEE 802.3 Ethernet
+ User = 147, // Reserved for internal use
+ };
+
// Takes ownership of the file object. Assumes the file object is already
// opened in write mode.
- explicit PCAP(File::IOFile* fp) : m_fp(fp) { AddHeader(); }
+ explicit PCAP(File::IOFile* fp, LinkType link_type = LinkType::User) : m_fp(fp)
+ {
+ AddHeader(static_cast<u32>(link_type));
+ }
template <typename T>
void AddPacket(const T& obj)
{
@@ -36,7 +45,7 @@ public:
void AddPacket(const u8* bytes, size_t size);
private:
- void AddHeader();
+ void AddHeader(u32 link_type);
std::unique_ptr<File::IOFile> m_fp;
};