ReactOS 0.4.16-dev-306-g647d351
|
#include "bl.h"
Go to the source code of this file.
Classes | |
struct | _BL_HEAP_POINTER |
struct | _BL_FREE_HEAP_ENTRY |
struct | _BL_BUSY_HEAP_ENTRY |
struct | _BL_HEAP_BOUNDARIES |
Macros | |
#define | BL_HEAP_POINTER_FLAG_BITS 3 |
Typedefs | |
typedef struct _BL_HEAP_POINTER | BL_HEAP_POINTER |
typedef struct _BL_HEAP_POINTER * | PBL_HEAP_POINTER |
typedef struct _BL_FREE_HEAP_ENTRY | BL_FREE_HEAP_ENTRY |
typedef struct _BL_FREE_HEAP_ENTRY * | PBL_FREE_HEAP_ENTRY |
typedef struct _BL_BUSY_HEAP_ENTRY | BL_BUSY_HEAP_ENTRY |
typedef struct _BL_BUSY_HEAP_ENTRY * | PBL_BUSY_HEAP_ENTRY |
typedef struct _BL_HEAP_BOUNDARIES | BL_HEAP_BOUNDARIES |
typedef struct _BL_HEAP_BOUNDARIES * | PBL_HEAP_BOUNDARIES |
Functions | |
FORCEINLINE PBL_FREE_HEAP_ENTRY | MmHapDecodeLink (_In_ BL_HEAP_POINTER Link) |
FORCEINLINE ULONG | MmHapBufferSize (_In_ PVOID FreeEntry) |
FORCEINLINE ULONG | MmHapUserBufferSize (_In_ PVOID FreeEntry) |
NTSTATUS | MmHapHeapAllocatorExtend (_In_ ULONG ExtendSize) |
ULONG | MmHapGetBucketId (_In_ ULONG Size) |
VOID | MmHapReportHeapCorruption (_In_ PBL_FREE_HEAP_ENTRY BufferEntry) |
PVOID | MmHapCheckFreeLinks (_In_ PVOID BufferEntry) |
PVOID | MmHapCheckBufferLinks (_In_ PVOID BufferEntry) |
PBL_FREE_HEAP_ENTRY | MmHapRemoveBufferFromFreeList (_In_ PBL_FREE_HEAP_ENTRY FreeEntry) |
PBL_FREE_HEAP_ENTRY | MmHapCoalesceFreeBuffer (_In_ PBL_FREE_HEAP_ENTRY FreeEntry) |
PBL_FREE_HEAP_ENTRY | MmHapAddToFreeList (_In_ PBL_BUSY_HEAP_ENTRY Entry, _In_ ULONG Flags) |
PBL_BUSY_HEAP_ENTRY | MmHapFindBufferInFreeList (_In_ ULONG Size) |
NTSTATUS | MmHaInitialize (_In_ ULONG HeapSize, _In_ ULONG HeapAttributes) |
PVOID | BlMmAllocateHeap (_In_ SIZE_T Size) |
NTSTATUS | BlMmFreeHeap (_In_ PVOID Buffer) |
Variables | |
ULONG | HapInitializationStatus |
LIST_ENTRY | MmHeapBoundaries |
ULONG | HapMinimumHeapSize |
ULONG | HapAllocationAttributes |
PBL_FREE_HEAP_ENTRY * | MmFreeList |
#define BL_HEAP_POINTER_FLAG_BITS 3 |
Definition at line 15 of file heapalloc.c.
typedef struct _BL_HEAP_POINTER BL_HEAP_POINTER |
typedef struct _BL_BUSY_HEAP_ENTRY * PBL_BUSY_HEAP_ENTRY |
typedef struct _BL_FREE_HEAP_ENTRY * PBL_FREE_HEAP_ENTRY |
typedef struct _BL_HEAP_BOUNDARIES * PBL_HEAP_BOUNDARIES |
typedef struct _BL_HEAP_POINTER * PBL_HEAP_POINTER |
Definition at line 569 of file heapalloc.c.
Referenced by BcdEnumerateAndUnpackElements(), BcdOpenStoreFromFile(), BfLoadFontFile(), BiEnumerateElements(), BiEnumerateSubKeys(), BiGetRegistryValue(), BiLoadHive(), BiOpenKey(), BlAppendBootOptionBoolean(), BlAppendBootOptionInteger(), BlAppendBootOptions(), BlAppendBootOptionString(), BlCopyBootOptions(), BlGetBootOptionDevice(), BlGetBootOptionGuidList(), BlGetBootOptionString(), BlHtCreate(), BlHtStore(), BlImgLoadBootApplication(), BlMmGetMemoryMap(), BlockIoEfiCreateDeviceEntry(), BlockIoOpen(), BlockIopInitialize(), BlpDeviceInitialize(), BlpDeviceOpen(), BlpFileInitialize(), BlpFileRegisterFileSystem(), BlpGetBootOptionIntegerList(), BlpIoInitialize(), BlpMmCreateBlockAllocator(), BlReplaceBootOptions(), BlTblSetEntry(), BmEnumerateBootEntries(), BmFwInitializeBootDirectoryPath(), BmGetBootSequence(), BmGetOptionList(), BmOpenDataStore(), BmpFwGetApplicationDirectoryPath(), BmpFwGetFullPath(), BmpGetSelectedBootEntry(), BmpPopulateBootEntryList(), CmpAllocate(), ConsoleCreateLocalInputConsole(), ConsoleCreateRemoteConsole(), ConsoleEfiTextFindModeFromAllowed(), ConsoleInputBaseConstruct(), ConsolepClearBuffer(), ConvertBmpToGopBlt(), DsppInitialize(), DsppLoadFontFile(), EfiLocateHandleBuffer(), EfiVmOpenProtocol(), EtfsInitialize(), EtfsMount(), EtfsOpen(), EtfspCreateContext(), FatInitialize(), FileIoCopyFileName(), FileIoCopyParentDirectoryPath(), ImgpInitializeBootApplicationParameters(), MmBaInitialize(), MmMdFreeGlobalDescriptors(), OslPrepareTarget(), and RtlpAllocateMemory().
Definition at line 663 of file heapalloc.c.
Referenced by BcdEnumerateAndUnpackElements(), BcdOpenStoreFromFile(), BfiFreeDeferredFontFile(), BiCloseKey(), BiDeleteKey(), BiEnumerateElements(), BiEnumerateSubKeys(), BiGetObjectDescription(), BiLoadHive(), BiOpenKey(), BlAppendBootOptionBoolean(), BlAppendBootOptionInteger(), BlAppendBootOptions(), BlAppendBootOptionString(), BlDestroyBootEntry(), BlFwEnumerateDevice(), BlGetBootOptionDevice(), BlHtCreate(), BlHtDelete(), BlImgLoadBootApplication(), BlImgUnloadBootApplication(), BlMmGetMemoryMap(), BlockIoDeviceTableDestroy(), BlockIoDeviceTableDestroyEntry(), BlockIoEfiCompareDevice(), BlockIoEfiCreateDeviceEntry(), BlockIoEfiGetChildHandle(), BlockIoFirmwareOpen(), BlockIopDestroy(), BlockIopFreeAllocations(), BlpDeviceOpen(), BlpFileRegisterFileSystem(), BlpMmCreateBlockAllocator(), BlpResourceInitialize(), BlReplaceBootOptions(), BlTblSetEntry(), BmEnumerateBootEntries(), BmErrorPurge(), BmFwInitializeBootDirectoryPath(), BmGetBootSequence(), BmGetOptionList(), BmLaunchRecoverySequence(), BmMain(), BmOpenDataStore(), BmpFwGetApplicationDirectoryPath(), BmpGetSelectedBootEntry(), BmpInitializeBootStatusDataLog(), BmpPopulateBootEntryList(), BmpTransferExecution(), BmpUpdateApplicationOptions(), CmpFree(), ConsoleCreateLocalInputConsole(), ConsoleCreateRemoteConsole(), ConsoleEfiTextFindModeFromAllowed(), ConsoleInputLocalDestruct(), DeviceTableDestroyEntry(), DsppInitialize(), DsppLoadFontFile(), EfiLocateHandleBuffer(), EfiVmOpenProtocol(), EfiVmpFreeInterfaceEntry(), EtfsMount(), EtfsOpen(), EtfspDeviceContextDestroy(), FileIoCopyParentDirectoryPath(), FileIoOpen(), FileTableDestroyEntry(), ImgpInitializeBootApplicationParameters(), MmBapFreeBlockAllocatorTableEntry(), MmMdFreeDescriptor(), OslpRemoveInternalApplicationOptions(), OslPrepareTarget(), and RtlpFreeMemory().
Definition at line 538 of file heapalloc.c.
Referenced by BlpMmInitialize().
PBL_FREE_HEAP_ENTRY MmHapAddToFreeList | ( | _In_ PBL_BUSY_HEAP_ENTRY | Entry, |
_In_ ULONG | Flags | ||
) |
Definition at line 393 of file heapalloc.c.
Referenced by BlMmFreeHeap(), and MmHapFindBufferInFreeList().
FORCEINLINE ULONG MmHapBufferSize | ( | _In_ PVOID | FreeEntry | ) |
Definition at line 76 of file heapalloc.c.
Referenced by MmHapAddToFreeList(), MmHapFindBufferInFreeList(), MmHapRemoveBufferFromFreeList(), and MmHapUserBufferSize().
Definition at line 268 of file heapalloc.c.
Referenced by MmHapAddToFreeList(), MmHapCoalesceFreeBuffer(), and MmHapFindBufferInFreeList().
Definition at line 243 of file heapalloc.c.
Referenced by MmHapRemoveBufferFromFreeList().
PBL_FREE_HEAP_ENTRY MmHapCoalesceFreeBuffer | ( | _In_ PBL_FREE_HEAP_ENTRY | FreeEntry | ) |
Definition at line 333 of file heapalloc.c.
Referenced by MmHapAddToFreeList().
FORCEINLINE PBL_FREE_HEAP_ENTRY MmHapDecodeLink | ( | _In_ BL_HEAP_POINTER | Link | ) |
Definition at line 66 of file heapalloc.c.
Referenced by BlMmAllocateHeap(), MmHapBufferSize(), MmHapCheckBufferLinks(), MmHapCheckFreeLinks(), MmHapCoalesceFreeBuffer(), MmHapFindBufferInFreeList(), and MmHapRemoveBufferFromFreeList().
PBL_BUSY_HEAP_ENTRY MmHapFindBufferInFreeList | ( | _In_ ULONG | Size | ) |
Definition at line 450 of file heapalloc.c.
Referenced by BlMmAllocateHeap().
Definition at line 199 of file heapalloc.c.
Referenced by MmHapAddToFreeList(), MmHapFindBufferInFreeList(), and MmHapRemoveBufferFromFreeList().
Definition at line 102 of file heapalloc.c.
Referenced by BlMmAllocateHeap(), and MmHaInitialize().
PBL_FREE_HEAP_ENTRY MmHapRemoveBufferFromFreeList | ( | _In_ PBL_FREE_HEAP_ENTRY | FreeEntry | ) |
Definition at line 293 of file heapalloc.c.
Referenced by MmHapCoalesceFreeBuffer(), and MmHapFindBufferInFreeList().
VOID MmHapReportHeapCorruption | ( | _In_ PBL_FREE_HEAP_ENTRY | BufferEntry | ) |
Definition at line 222 of file heapalloc.c.
Referenced by MmHapCheckBufferLinks(), and MmHapCheckFreeLinks().
FORCEINLINE ULONG MmHapUserBufferSize | ( | _In_ PVOID | FreeEntry | ) |
Definition at line 88 of file heapalloc.c.
Referenced by MmHapAddToFreeList().
ULONG HapAllocationAttributes |
Definition at line 59 of file heapalloc.c.
Referenced by MmHaInitialize(), and MmHapHeapAllocatorExtend().
ULONG HapInitializationStatus |
Definition at line 56 of file heapalloc.c.
Referenced by BlMmAllocateHeap(), BlMmFreeHeap(), and MmHaInitialize().
ULONG HapMinimumHeapSize |
Definition at line 58 of file heapalloc.c.
Referenced by MmHaInitialize(), and MmHapHeapAllocatorExtend().
PBL_FREE_HEAP_ENTRY* MmFreeList |
Definition at line 60 of file heapalloc.c.
Referenced by MmHaInitialize(), MmHapAddToFreeList(), MmHapFindBufferInFreeList(), MmHapHeapAllocatorExtend(), and MmHapRemoveBufferFromFreeList().
LIST_ENTRY MmHeapBoundaries |
Definition at line 57 of file heapalloc.c.
Referenced by BlMmAllocateHeap(), BlMmFreeHeap(), MmHaInitialize(), and MmHapHeapAllocatorExtend().