|
|
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 root 31: int bpfbuflen = 0;
32: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.