/* ======================================== Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. ======================================== */ #ifndef __PCI_ITERATOR_H__ #define __PCI_ITERATOR_H__ #include #include #include #include #include #define NE_BUS_COUNT (256) #define NE_DEVICE_COUNT (33) #define NE_FUNCTION_COUNT (8) namespace Kernel::PCI { class Iterator final { public: Iterator() = delete; public: explicit Iterator(const Types::PciDeviceKind deviceType, UInt32 bar); Iterator& operator=(const Iterator&) = default; Iterator(const Iterator&) = default; ~Iterator(); public: Ref operator[](const Size& sz); private: Array fDevices; }; } // namespace Kernel::PCI #endif // __PCI_ITERATOR_H__