Annotation of nono/host/netdriver_selector.h, revision 1.1.1.1

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;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.