NeKernel dev
Loading...
Searching...
No Matches
Iterator.h
Go to the documentation of this file.
1/* ========================================
2
3 Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
4
5======================================== */
6
7#ifndef __PCI_ITERATOR_H__
8#define __PCI_ITERATOR_H__
9
12#include <NeKit/Array.h>
13#include <NeKit/Config.h>
14#include <NeKit/Ref.h>
15
16#define NE_BUS_COUNT (256)
17#define NE_DEVICE_COUNT (33)
18#define NE_FUNCTION_COUNT (8)
19
20namespace Kernel::PCI {
21class Iterator final {
22 public:
23 Iterator() = delete;
24
25 public:
26 explicit Iterator(const Types::PciDeviceKind deviceType, UInt32 bar);
27
28 Iterator& operator=(const Iterator&) = default;
29 Iterator(const Iterator&) = default;
30
31 ~Iterator();
32
33 public:
35
36 private:
38};
39} // namespace Kernel::PCI
40
41#endif // __PCI_ITERATOR_H__
Definition Array.h:15
Iterator & operator=(const Iterator &)=default
Iterator(const Iterator &)=default
~Iterator()
Definition Iterator.cc:25
Array< PCI::Device, NE_BUS_COUNT > fDevices
Definition Iterator.h:37
Ref< PCI::Device > operator[](const Size &sz)
Definition Iterator.cc:27
Reference wrapper class. /// =========================================================== ///.
Definition Ref.h:22
Definition Device.cc:38
PciDeviceKind
Definition Database.h:14
__SIZE_TYPE__ Size
Definition Config.h:59
__UINT32_TYPE__ UInt32
Definition Config.h:44