Fairport
v1.0.38
|
Classes | |
struct | fairport::disk::page_trailer< ulonglong > |
The Unicode store version of the page trailer. More... | |
struct | fairport::disk::page_trailer< ulong > |
The ANSI store version of the page trailer. More... | |
struct | fairport::disk::page< T > |
Generic page structure. More... | |
struct | fairport::disk::amap_page< T > |
The authoritative source of free space in the file. More... | |
struct | fairport::disk::pmap_page< T > |
An old allocation system optimized for pages. More... | |
struct | fairport::disk::fmap_page< T > |
A deprecated allocation system optimized for AMap page searching. More... | |
struct | fairport::disk::fpmap_page< T > |
A deprecated allocation system optimized for PMap page searching. More... | |
struct | fairport::disk::dlist_page< T > |
A metapage holding information about AMap pages. More... | |
struct | fairport::disk::bt_entry< T > |
BTree Entry. More... | |
struct | fairport::disk::nbt_leaf_entry< T > |
NBT Leaf Entry. More... | |
struct | fairport::disk::bbt_leaf_entry< T > |
BBT Leaf Entry. More... | |
struct | fairport::disk::bt_page< T, EntryType > |
The fundamental page structure which forms the basis of the two BTrees. More... | |
struct | fairport::disk::nbt_nonleaf_page< T > |
NBT non-leaf page. More... | |
struct | fairport::disk::bbt_nonleaf_page< T > |
BBT non-leaf page. More... | |
struct | fairport::disk::nbt_leaf_page< T > |
NBT leaf page. More... | |
struct | fairport::disk::bbt_leaf_page< T > |
BBT leaf page. More... | |
Enumerations | |
enum | fairport::disk::page_type { fairport::disk::page_type_bbt = 0x80, fairport::disk::page_type_nbt = 0x81, fairport::disk::page_type_fmap = 0x82, fairport::disk::page_type_pmap = 0x83, fairport::disk::page_type_amap = 0x84, fairport::disk::page_type_fpmap = 0x85, fairport::disk::page_type_dlist = 0x86 } |
Valid page types. More... | |
Functions | |
ulong | fairport::disk::dlist_get_page_num (ulong entry) |
Get a amap page number (ordinal) from a DLIST entry. | |
ulong | fairport::disk::dlist_get_slots (ulong entry) |
Get the number of free slots from a DLIST entry. | |
Variables | |
const size_t | fairport::disk::page_size = 512 |
Size of all pages in the file in bytes, including the page trailer. | |
const size_t | fairport::disk::bytes_per_slot = 64 |
Number of bytes each slot (bit) in an AMap page refers to. | |
const size_t | fairport::disk::first_amap_page_location = 0x4400 |
The location of the first AMap page in the file. | |
const size_t | fairport::disk::dlist_page_location = 0x4200 |
The location of the only DList page in the file. | |
const ulong | fairport::disk::dlist_page_num_mask = 0x0000FFFF |
The portion of the dlist entry which refers to the amap page number. | |
const ulong | fairport::disk::dlist_slots_shift = 20 |
The bits to shift a dlist entry to get the slots on that amap page. |
Valid page types.
Used in the page_type and page_type_repeat fields of the page trailer.
page_type_bbt |
A BBT (Blocks BTree) page. |
page_type_nbt |
A NBT (Nodes BTree) page. |
page_type_fmap |
|
page_type_pmap |
|
page_type_amap |
An AMap (Allocation Map) page. |
page_type_fpmap |
|
page_type_dlist |
A DList (Density List) page. |
ulong fairport::disk::dlist_get_page_num | ( | ulong | entry | ) | [inline] |
ulong fairport::disk::dlist_get_slots | ( | ulong | entry | ) | [inline] |
const size_t fairport::disk::bytes_per_slot = 64 |
const size_t fairport::disk::dlist_page_location = 0x4200 |
const ulong fairport::disk::dlist_page_num_mask = 0x0000FFFF |
const ulong fairport::disk::dlist_slots_shift = 20 |
const size_t fairport::disk::first_amap_page_location = 0x4400 |
const size_t fairport::disk::page_size = 512 |