Fairport
v1.0.38
|
A metapage holding information about AMap pages. More...
#include <disk.h>
Public Attributes | |
byte | flags |
Flags indicating the state of the dlist page. | |
byte | num_entries |
Number of entries in the entries array. | |
union { | |
ulong current_page | |
The current AMap page used for allocations. | |
ulong backfill_location | |
The current backfill marker, when backfilling. | |
}; | |
union { | |
ulong entries [max_entries] | |
Each entry has bits for the amap page (ordinal) and free space (slots) | |
byte _ignore [extra_space] | |
}; | |
page_trailer< T > | trailer |
The page trailer. | |
Static Public Attributes | |
static const size_t | extra_space = page<T>::page_data_size - 8 |
static const size_t | max_entries = extra_space / sizeof(ulong) |
Maximum number of entries in the dlist page. |
A metapage holding information about AMap pages.
The Density List page contains a list of AMap pages in the file, in ascending order of density. That is to say, the "emptiest" page is at the top. This is the data backing the new allocation scheme which replaced the old pmap/fmap/fpmap scheme, starting in Outlook 2007 SP2.
union { ... } |
union { ... } |
byte fairport::disk::dlist_page< T >::_ignore[extra_space] |
ulong fairport::disk::dlist_page< T >::backfill_location |
ulong fairport::disk::dlist_page< T >::current_page |
ulong fairport::disk::dlist_page< T >::entries[max_entries] |
const size_t fairport::disk::dlist_page< T >::extra_space = page<T>::page_data_size - 8 [static] |
byte fairport::disk::dlist_page< T >::flags |
const size_t fairport::disk::dlist_page< T >::max_entries = extra_space / sizeof(ulong) [static] |
byte fairport::disk::dlist_page< T >::num_entries |
page_trailer<T> fairport::disk::dlist_page< T >::trailer |