--- nono/host/netdriver_afpacket.h 2026/04/29 17:04:54 1.1.1.1 +++ nono/host/netdriver_afpacket.h 2026/04/29 17:05:47 1.1.1.4 @@ -4,8 +4,10 @@ // Licensed under nono-license.txt // -// AF_PACKET を用いたドライバ -// Linux 2.2 以降専用 +// +// ホストネットワークの AF_PACKET ドライバ +// (Linux 専用) +// #pragma once @@ -18,22 +20,19 @@ class NetDriverAFPacket : public NetDriv { using inherited = NetDriver; public: - // コンストラクタ - NetDriverAFPacket(EthernetDevice *parent_, int loglevel_, - const std::string& devpath_); - // デストラクタ + NetDriverAFPacket(HostDevice *hostdev_, const std::string& ifname_); ~NetDriverAFPacket() override; - bool InitDriver() override; - bool SendPacket(const std::vector& data) override; + bool InitDriver(bool startup) override; + int Read(NetPacket *p) override; + void Write(const void *buf, int buflen) override; - protected: - ssize_t RecvPacket() override; - void MonitorUpdateMD(TextScreen&) override; + void MonitorUpdateMD(TextScreen&, int y) override; private: void Close(); + // インタフェース番号を返す int SelectInterface(); sockaddr_ll sll {};