// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/nekernel-org/nekernel #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__