|
|
1.1 root 1: //
2: // nono
1.1.1.3 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
7: #pragma once
8:
9: #include "netdriver.h"
10:
11: class NetDriverBPF : public NetDriver
12: {
1.1.1.3 root 13: using inherited = NetDriver;
1.1 root 14: public:
15: // コンストラクタ
1.1.1.3 root 16: NetDriverBPF(EthernetDevice *parent_, std::mutex *mtx_,
17: std::condition_variable *cv_);
1.1 root 18: // デストラクタ
1.1.1.3 root 19: ~NetDriverBPF() override;
1.1 root 20:
1.1.1.3 root 21: bool Init() override;
22: bool SendPacket(const std::vector<uint8>& data) override;
23: void ThreadRun() override;
1.1 root 24:
25: private:
1.1.1.3 root 26: void Close();
1.1 root 27:
28: std::string FindInterface();
29:
1.1.1.2 root 30: std::unique_ptr<char[]> bpfbuf {};
1.1.1.4 ! root 31: int bpfbuflen {};
1.1 root 32: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.