/* * Copyright (c) 2021, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include #include #include #include namespace Kernel { class E1000ENetworkAdapter final : public E1000NetworkAdapter { public: static RefPtr try_to_initialize(PCI::Address); virtual bool initialize() override; virtual ~E1000ENetworkAdapter() override; virtual const char* purpose() const override { return class_name(); } private: E1000ENetworkAdapter(PCI::Address, u8 irq); virtual const char* class_name() const override { return "E1000ENetworkAdapter"; } virtual void detect_eeprom() override; virtual u32 read_eeprom(u8 address) override; }; }