[NTOSKRNL:CC] MDL Handler's Header with MDL Specific defination
This commit is contained in:
parent
85794e26cd
commit
381c91cc01
63
NTOSKRNL/CC/ccmdl.hpp
Normal file
63
NTOSKRNL/CC/ccmdl.hpp
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/* PROJECT: Alcyone Kernel
|
||||||
|
* LICENSE: BSD Clause 3
|
||||||
|
* PURPOSE: Cache Controller:: MDL Handler
|
||||||
|
* NT KERNEL: 5.11.9360
|
||||||
|
* COPYRIGHT: 2023-2029 Dibymartanda Samanta <>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Iterator class for MDL*/
|
||||||
|
constexpr unsigned int MDL_READTYPE_DiskIoAttribution = 0;
|
||||||
|
constexpr unsigned int OPTIONAL_IRP = 0;
|
||||||
|
constexpr unsigned int MDL MAXIO_DISPATCH = 76;
|
||||||
|
constexpr unsigned int NOPRIORITY = 0 ;
|
||||||
|
constexpr unsigned int FLAG_UPDATE_READAHEAD = 0x20000;' '
|
||||||
|
|
||||||
|
class MDLIterator {
|
||||||
|
public:
|
||||||
|
MDLIterator(PMDL p) : ptr(p) {}
|
||||||
|
|
||||||
|
// Prefix ++ operator
|
||||||
|
MDLIterator& operator++() {
|
||||||
|
if (ptr) {
|
||||||
|
ptr = ptr->Next;
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Postfix ++ operator
|
||||||
|
MDLIterator operator++(int) {
|
||||||
|
MDLIterator tmp(*this);
|
||||||
|
operator++();
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dereference operator
|
||||||
|
PMDL operator*() const {
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Equality operator
|
||||||
|
bool operator==(const MDLIterator& rhs) const {
|
||||||
|
return ptr == rhs.ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Inequality operator
|
||||||
|
bool operator!=(const MDLIterator& rhs) const {
|
||||||
|
return ptr != rhs.ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
PMDL ptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Helper function to get the beginning of the MDL chain*/
|
||||||
|
MDLIterator begin(PMDL p) {
|
||||||
|
return MDLIterator(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Helper function to get the end of the MDL chain*/
|
||||||
|
MDLIterator end(PMDL) {
|
||||||
|
return MDLIterator(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user