|
|
1.1 root 1: //
2: // nono
1.1.1.2 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 NetDriverTap : public NetDriver
12: {
1.1.1.2 root 13: using inherited = NetDriver;
1.1 root 14: public:
15: // コンストラクタ
1.1.1.4 ! root 16: NetDriverTap(EthernetDevice *parent_, int loglevel_,
1.1.1.3 root 17: const std::string& devpath_);
1.1 root 18: // デストラクタ
1.1.1.2 root 19: ~NetDriverTap() override;
1.1 root 20:
1.1.1.4 ! root 21: bool InitDriver() override;
1.1.1.2 root 22: bool SendPacket(const std::vector<uint8>& data) override;
1.1.1.4 ! root 23:
! 24: protected:
! 25: ssize_t RecvPacket() override;
! 26: void MonitorUpdateMD(TextScreen&) override;
1.1 root 27:
28: private:
1.1.1.3 root 29: #if defined(__linux__)
30: bool OpenLinux();
31: #endif
32: bool OpenDirect();
33: bool OpenNumbered();
34: bool OpenCloning();
35:
36: void CloseFd();
1.1.1.2 root 37: void Close();
1.1.1.3 root 38:
1.1.1.4 ! root 39: // デバイスファイルパス
! 40: std::string devpath {};
1.1 root 41: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.