#include "ntrtlp.h"
#include "range.h"
Go to the source code of this file.
Defines | |
#define | RtlpDumpRangeListEntry(Level, Entry, Indent) |
#define | RtlpDumpRangeList(Level, RangeList) |
#define | RtlpAllocateRangeListEntry() |
#define | RtlpFreeRangeListEntry(Entry) RtlFreeHeap( RtlProcessHeap(), 0, (Entry) ) |
#define | RtlpRangeListAllocatePool(Size) RtlAllocateHeap(RtlProcessHeap(), RTL_RANGE_LIST_MISC_TAG, (Size)) |
#define | RtlpRangeListFreePool(Free) RtlFreeHeap( RtlProcessHeap(), 0, (Free) ) |
Functions | |
NTSTATUS | RtlpAddRange (IN OUT PLIST_ENTRY ListHead, IN PRTLP_RANGE_LIST_ENTRY Entry, IN ULONG AddRangeFlags) |
NTSTATUS | RtlpAddToMergedRange (IN PRTLP_RANGE_LIST_ENTRY Merged, IN PRTLP_RANGE_LIST_ENTRY Entry, IN ULONG AddRangeFlags) |
NTSTATUS | RtlpConvertToMergedRange (IN PRTLP_RANGE_LIST_ENTRY Entry) |
PRTLP_RANGE_LIST_ENTRY | RtlpCreateRangeListEntry (IN ULONGLONG Start, IN ULONGLONG End, IN UCHAR Attributes, IN PVOID UserData, IN PVOID Owner) |
NTSTATUS | RtlpAddIntersectingRanges (IN PLIST_ENTRY ListHead, IN PRTLP_RANGE_LIST_ENTRY First, IN PRTLP_RANGE_LIST_ENTRY Entry, IN ULONG AddRangeFlags) |
NTSTATUS | RtlpDeleteFromMergedRange (IN PRTLP_RANGE_LIST_ENTRY Delete, IN PRTLP_RANGE_LIST_ENTRY Merged) |
PRTLP_RANGE_LIST_ENTRY | RtlpCopyRangeListEntry (PRTLP_RANGE_LIST_ENTRY Entry) |
VOID | RtlpDeleteRangeListEntry (IN PRTLP_RANGE_LIST_ENTRY Entry) |
BOOLEAN | RtlpIsRangeAvailable (IN PRTL_RANGE_LIST_ITERATOR Iterator, IN ULONGLONG Start, IN ULONGLONG End, IN UCHAR AttributeAvailableMask, IN BOOLEAN SharedOK, IN BOOLEAN NullConflictOK, IN BOOLEAN Forward, IN PVOID Context OPTIONAL, IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL) |
VOID | RtlInitializeRangeList (IN OUT PRTL_RANGE_LIST RangeList) |
NTSTATUS | RtlAddRange (IN OUT PRTL_RANGE_LIST RangeList, IN ULONGLONG Start, IN ULONGLONG End, IN UCHAR Attributes, IN ULONG Flags, IN PVOID UserData, OPTIONAL IN PVOID Owner OPTIONAL) |
NTSTATUS | RtlDeleteRange (IN OUT PRTL_RANGE_LIST RangeList, IN ULONGLONG Start, IN ULONGLONG End, IN PVOID Owner) |
NTSTATUS | RtlDeleteOwnersRanges (IN OUT PRTL_RANGE_LIST RangeList, IN PVOID Owner) |
NTSTATUS | RtlCopyRangeList (OUT PRTL_RANGE_LIST CopyRangeList, IN PRTL_RANGE_LIST RangeList) |
VOID | RtlFreeRangeList (IN PRTL_RANGE_LIST RangeList) |
NTSTATUS | RtlIsRangeAvailable (IN PRTL_RANGE_LIST RangeList, IN ULONGLONG Start, IN ULONGLONG End, IN ULONG Flags, IN UCHAR AttributeAvailableMask, IN PVOID Context OPTIONAL, IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL, OUT PBOOLEAN Available) |
NTSTATUS | RtlFindRange (IN PRTL_RANGE_LIST RangeList, IN ULONGLONG Minimum, IN ULONGLONG Maximum, IN ULONG Length, IN ULONG Alignment, IN ULONG Flags, IN UCHAR AttributeAvailableMask, IN PVOID Context OPTIONAL, IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL, OUT PULONGLONG Start) |
NTSTATUS | RtlGetFirstRange (IN PRTL_RANGE_LIST RangeList, OUT PRTL_RANGE_LIST_ITERATOR Iterator, OUT PRTL_RANGE *Range) |
NTSTATUS | RtlGetLastRange (IN PRTL_RANGE_LIST RangeList, OUT PRTL_RANGE_LIST_ITERATOR Iterator, OUT PRTL_RANGE *Range) |
NTSTATUS | RtlGetNextRange (IN OUT PRTL_RANGE_LIST_ITERATOR Iterator, OUT PRTL_RANGE *Range, IN BOOLEAN MoveForwards) |
NTSTATUS | RtlMergeRangeLists (OUT PRTL_RANGE_LIST MergedRangeList, IN PRTL_RANGE_LIST RangeList1, IN PRTL_RANGE_LIST RangeList2, IN ULONG Flags) |
NTSTATUS | RtlInvertRangeList (OUT PRTL_RANGE_LIST InvertedRangeList, IN PRTL_RANGE_LIST RangeList) |
|
Value:
Definition at line 267 of file range.c. Referenced by RtlpCopyRangeListEntry(), and RtlpCreateRangeListEntry(). |
|
|
|
|
|
Definition at line 280 of file range.c. Referenced by RtlAddRange(), RtlDeleteOwnersRanges(), RtlDeleteRange(), RtlpAddIntersectingRanges(), RtlpDeleteFromMergedRange(), and RtlpDeleteRangeListEntry(). |
|
|
|
|
|
Definition at line 340 of file range.c. References DEBUG_PRINT, End, NT_SUCCESS, NTSTATUS(), NULL, Owner, _RTLP_RANGE_LIST_ENTRY::PublicFlags, RTL_PAGED_CODE, RtlpAddRange(), RtlpCreateRangeListEntry(), RtlpFreeRangeListEntry, and Start. Referenced by ArbAddAllocation(), IopBusNumberInitialize(), IopMemInitialize(), IopPortAddAllocation(), and RtlInvertRangeList().
|
|
Definition at line 1552 of file range.c. References ASSERT, DEBUG_PRINT, FOR_ALL_IN_LIST, _RTLP_RANGE_LIST_ENTRY::ListEntry, NTSTATUS(), RTL_PAGED_CODE, RtlFreeRangeList(), and RtlpCopyRangeListEntry(). Referenced by ArbBootAllocation(), ArbQueryConflict(), ArbRetestAllocation(), ArbTestAllocation(), and RtlMergeRangeLists().
|
|
Definition at line 1197 of file range.c. References _RTLP_RANGE_LIST_ENTRY::Allocated, ASSERT, DEBUG_PRINT, _RTLP_RANGE_LIST_ENTRY::End, FOR_ALL_IN_LIST_SAFE, _RTLP_RANGE_LIST_ENTRY::ListEntry, _RTLP_RANGE_LIST_ENTRY::Merged, MERGED, NT_SUCCESS, NTSTATUS(), Owner, RTL_PAGED_CODE, RtlpDeleteFromMergedRange(), RtlpFreeRangeListEntry, and _RTLP_RANGE_LIST_ENTRY::Start. Referenced by ArbQueryConflict(), ArbRetestAllocation(), and ArbTestAllocation().
|
|
Definition at line 1071 of file range.c. References _RTLP_RANGE_LIST_ENTRY::Allocated, ASSERT, DEBUG_PRINT, _RTLP_RANGE_LIST_ENTRY::End, End, exit, FOR_ALL_IN_LIST_SAFE, _RTLP_RANGE_LIST_ENTRY::ListEntry, _RTLP_RANGE_LIST_ENTRY::Merged, MERGED, NT_SUCCESS, NTSTATUS(), Owner, RTL_PAGED_CODE, RtlpDeleteFromMergedRange(), RtlpFreeRangeListEntry, _RTLP_RANGE_LIST_ENTRY::Start, and Start. Referenced by ArbBacktrackAllocation(), ArbQueryConflict(), and IopPortBacktrackAllocation().
|
|
Definition at line 1954 of file range.c. References ASSERT, DEBUG_PRINT, dummy(), FALSE, RTL_PAGED_CODE, RtlGetLastRange(), RtlpIsRangeAvailable(), and Start. Referenced by ArbFindSuitableRange(), and IopPortFindSuitableRange().
|
|
Definition at line 1693 of file range.c. References ASSERT, FOR_ALL_IN_LIST_SAFE, _RTLP_RANGE_LIST_ENTRY::ListEntry, RTL_PAGED_CODE, and RtlpDeleteRangeListEntry(). Referenced by ArbBootAllocation(), ArbCommitAllocation(), ArbDeleteArbiterInstance(), ArbQueryConflict(), ArbRetestAllocation(), ArbRollbackAllocation(), ArbTestAllocation(), RtlCopyRangeList(), and RtlMergeRangeLists().
|
|
Definition at line 2124 of file range.c. References ASSERT, _RTLP_RANGE_LIST_ENTRY::Merged, MERGED, NTSTATUS(), NULL, RANGE_LIST_ENTRY_FROM_LIST_ENTRY, and RTL_PAGED_CODE. Referenced by RtlIsRangeAvailable().
|
|
Definition at line 2205 of file range.c. References ASSERT, _RTLP_RANGE_LIST_ENTRY::Merged, MERGED, NTSTATUS(), NULL, RANGE_LIST_ENTRY_FROM_LIST_ENTRY, and RTL_PAGED_CODE. Referenced by RtlFindRange().
|
|
Definition at line 2286 of file range.c. References ASSERT, ASSERTMSG, FALSE, _RTLP_RANGE_LIST_ENTRY::ListEntry, _RTLP_RANGE_LIST_ENTRY::Merged, MERGED, NULL, RANGE_LIST_ENTRY_FROM_LIST_ENTRY, RANGE_LIST_FROM_LIST_HEAD, and RTL_PAGED_CODE.
|
|
Definition at line 305 of file range.c. References ASSERT, DEBUG_PRINT, and RTL_PAGED_CODE. Referenced by ArbInitializeArbiterInstance(), and ArbQueryConflict().
|
|
Definition at line 2599 of file range.c. References ASSERT, _RTLP_RANGE_LIST_ENTRY::End, FOR_ALL_IN_LIST, MAX_ULONGLONG, NT_SUCCESS, NTSTATUS(), NULL, RTL_PAGED_CODE, RtlAddRange(), and _RTLP_RANGE_LIST_ENTRY::Start.
|
|
Definition at line 1744 of file range.c. References ASSERT, DEBUG_PRINT, dummy(), End, NT_SUCCESS, NTSTATUS(), RTL_PAGED_CODE, RtlGetFirstRange(), RtlpIsRangeAvailable(), Start, and TRUE. Referenced by IopPortIsAliasedRangeAvailable().
|
|
Definition at line 2450 of file range.c. References CONFLICT, DEBUG_PRINT, FOR_ALL_IN_LIST, _RTLP_RANGE_LIST_ENTRY::Merged, MERGED, NT_SUCCESS, NTSTATUS(), RTL_PAGED_CODE, RtlCopyRangeList(), RtlFreeRangeList(), RtlpAddRange(), and RtlpCopyRangeListEntry().
|
|
Definition at line 843 of file range.c. References ASSERT, FOR_ALL_IN_LIST, FOR_ALL_IN_LIST_SAFE, FOR_REST_IN_LIST, FOR_REST_IN_LIST_SAFE, _RTLP_RANGE_LIST_ENTRY::ListEntry, _RTLP_RANGE_LIST_ENTRY::Merged, MERGED, NT_SUCCESS, NTSTATUS(), RANGE_INTERSECT, RANGE_LIST_ENTRY_FROM_LIST_ENTRY, RTL_PAGED_CODE, RtlpAddToMergedRange(), RtlpConvertToMergedRange(), RtlpFreeRangeListEntry, SHARED, and _RTLP_RANGE_LIST_ENTRY::Start. Referenced by RtlpAddRange().
|
|
Definition at line 461 of file range.c. References ASSERT, DEBUG_PRINT, exit, FOR_ALL_IN_LIST, InsertEntryList, _RTLP_RANGE_LIST_ENTRY::ListEntry, NTSTATUS(), RANGE_INTERSECT, RTL_PAGED_CODE, RtlpAddIntersectingRanges(), and _RTLP_RANGE_LIST_ENTRY::Start. Referenced by RtlAddRange(), RtlMergeRangeLists(), and RtlpDeleteFromMergedRange().
|
|
Definition at line 565 of file range.c. References ASSERT, DEBUG_PRINT, FOR_ALL_IN_LIST, InsertEntryList, _RTLP_RANGE_LIST_ENTRY::ListEntry, MERGED, NULL, _RTLP_RANGE_LIST_ENTRY::PublicFlags, RANGE_INTERSECT, RTL_PAGED_CODE, SHARED, and _RTLP_RANGE_LIST_ENTRY::Start. Referenced by RtlpAddIntersectingRanges(), and RtlpDeleteFromMergedRange().
|
|
Definition at line 711 of file range.c. References ASSERT, CONFLICT, _RTLP_RANGE_LIST_ENTRY::ListEntry, MERGED, RTL_PAGED_CODE, RTLP_RANGE_LIST_ENTRY_MERGED, and RtlpCopyRangeListEntry(). Referenced by RtlpAddIntersectingRanges().
|
|
Definition at line 1467 of file range.c. References ASSERT, FOR_ALL_IN_LIST, _RTLP_RANGE_LIST_ENTRY::ListEntry, _RTLP_RANGE_LIST_ENTRY::Merged, MERGED, NULL, RTL_PAGED_CODE, RTLP_RANGE_LIST_ENTRY, RtlpAllocateRangeListEntry, and RtlpDeleteRangeListEntry(). Referenced by RtlCopyRangeList(), RtlMergeRangeLists(), and RtlpConvertToMergedRange().
|
|
Definition at line 771 of file range.c. References _RTLP_RANGE_LIST_ENTRY::Allocated, ASSERT, _RTLP_RANGE_LIST_ENTRY::Attributes, _RTLP_RANGE_LIST_ENTRY::End, End, _RTLP_RANGE_LIST_ENTRY::ListEntry, NULL, Owner, _RTLP_RANGE_LIST_ENTRY::PrivateFlags, _RTLP_RANGE_LIST_ENTRY::PublicFlags, RTL_PAGED_CODE, RtlpAllocateRangeListEntry, _RTLP_RANGE_LIST_ENTRY::Start, and Start. Referenced by RtlAddRange().
|
|
Definition at line 1311 of file range.c. References ASSERT, Delete(), FOR_ALL_IN_LIST_SAFE, _RTLP_RANGE_LIST_ENTRY::ListEntry, MERGED, NT_SUCCESS, NTSTATUS(), _RTLP_RANGE_LIST_ENTRY::PublicFlags, RTL_PAGED_CODE, RtlpAddRange(), RtlpAddToMergedRange(), and RtlpFreeRangeListEntry. Referenced by RtlDeleteOwnersRanges(), and RtlDeleteRange().
|
|
Definition at line 1647 of file range.c. References FOR_ALL_IN_LIST_SAFE, MERGED, RTL_PAGED_CODE, and RtlpFreeRangeListEntry. Referenced by RtlFreeRangeList(), and RtlpCopyRangeListEntry().
|
|
Definition at line 1839 of file range.c. References ASSERT, DEBUG_PRINT, End, FALSE, FOR_REST_OF_RANGES, NULL, RANGE_LIMITS_INTERSECT, RTL_PAGED_CODE, Start, and TRUE. Referenced by RtlFindRange(), and RtlIsRangeAvailable().
|