|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2021 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: #pragma once
8:
9: #include "object.h"
10: #include "netdriver.h"
11:
12: class EthernetDevice;
13:
14: // NetDriver セレクタ
15: class NetDriverSelector : public Object
16: {
17: using inherited = Object;
18: public:
19: NetDriverSelector(EthernetDevice *parent_);
20: ~NetDriverSelector() override;
21:
22: NetDriver *InitDriver();
23:
24: // コンパイル済みのドライバ名一覧を返す
25: static std::vector<std::string> GetDrivers();
26:
27: private:
28: NetDriver *InitNone();
29: NetDriver *InitTap();
30: NetDriver *InitBPF();
31: NetDriver *InitAFPacket();
32:
33: EthernetDevice *parent {};
34:
35: std::string errmsg {};
36: };
37:
38: extern std::unique_ptr<NetDriverSelector> gNetDriverSelector;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.