--- nono/vm/ethernet.h 2026/04/29 17:05:21 1.1.1.10 +++ nono/vm/ethernet.h 2026/04/29 17:05:38 1.1.1.13 @@ -29,15 +29,19 @@ 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: // ホストスレッドからの受信通知