--- nono/host/netdriver_afpacket.cpp 2026/04/29 17:05:21 1.1.1.3 +++ nono/host/netdriver_afpacket.cpp 2026/04/29 17:06:02 1.1.1.5 @@ -23,7 +23,7 @@ // コンストラクタ NetDriverAFPacket::NetDriverAFPacket(HostDevice *hostdev_, const std::string& ifname_) - : inherited(hostdev_, "AFPacket") + : inherited(hostdev_, "afpacket") { ifname = ifname_; if (ifname.empty()) { @@ -39,7 +39,7 @@ NetDriverAFPacket::~NetDriverAFPacket() // ドライバ初期化 bool -NetDriverAFPacket::InitDriver() +NetDriverAFPacket::InitDriver(bool startup) { packet_mreq mreq {}; int len; @@ -169,7 +169,7 @@ NetDriverAFPacket::Close() // モニタ (ドライバ依存情報のみ) void -NetDriverAFPacket::MonitorUpdateMD(TextScreen& screen, int y) +NetDriverAFPacket::MonitorScreenMD(TextScreen& screen, int y) { screen.Print(0, y, "Interface: %s", ifname.c_str()); } @@ -182,11 +182,11 @@ NetDriverAFPacket::Write(const void *buf n = sendto(fd, buf, buflen, 0, (const sockaddr *)&sll, sizeof(sll)); if (n < 0) { - putmsg(0, "write: %s", strerror(errno)); + putmsg(0, "sendto(%d): %s", buflen, strerror(errno)); return; } if (n < buflen) { - putmsg(0, "write: short"); + putmsg(0, "sendto(%d): short(%zd)", buflen, n); return; } } @@ -195,14 +195,15 @@ NetDriverAFPacket::Write(const void *buf int NetDriverAFPacket::Read(NetPacket *p) { + uint8 buf[1600]; int n; - n = recv(fd, p->data(), p->size(), 0); + n = recv(fd, buf, sizeof(buf), 0); if (n < 0) { putmsg(0, "recv: %s", strerror(errno)); return NODATA; } - p->length = n; + p->Assign(buf, n); return 0; } @@ -220,7 +221,7 @@ NetDriverAFPacket::SelectInterface() int level = 1; if (getifaddrs(&ifa_list) == -1) { - errmsg = "getifaddrs"; + errmsg = string_format("getifaddrs: %s", strerror(errno)); return 0; }