--- nono/vm/ethernet.h 2026/04/29 17:05:21 1.1.1.10 +++ nono/vm/ethernet.h 2026/04/29 17:05:46 1.1.1.14 @@ -29,19 +29,23 @@ class EthernetDevice : public IODevice { using inherited = IODevice; protected: - EthernetDevice(int objid_); + explicit EthernetDevice(uint objid_); public: - virtual ~EthernetDevice() override; + ~EthernetDevice() override; bool Create() override; // 設定から MAC アドレスを取得するヘルパー関数。 // (MAC アドレスを保持するデバイスが呼ぶ) - static bool GetConfigMacAddr(int n, macaddr_t *dst, bool accept_rom); + static bool GetConfigMacAddr(uint n, MacAddr *dst, bool accept_rom); + + // CRC32 を計算する。 + static uint32 CRC32(const uint8 *buf, size_t buflen); + static uint32 CRC32(const MacAddr& mac); protected: // ホストスレッドからの受信通知 - void HostRxCallback(); + void HostRxCallback(uint32); std::unique_ptr hostnet /*{}*/; };