|
PST File Format SDK v0.4
|
Collaboration diagram for Header Structures:Classes | |
| struct | pstsdk::disk::header< ulonglong > |
| The Unicode header structure. More... | |
| struct | pstsdk::disk::header< ulong > |
| The ANSI header structure. More... | |
| struct | pstsdk::disk::header_crc_locations< ulong > |
| The byte offsets used to calculate the CRCs in an ANSI PST. More... | |
| struct | pstsdk::disk::header_crc_locations< ulonglong > |
| The byte offsets used to calculate the CRCs in a Unicode PST file. More... | |
Enumerations | |
| enum | pstsdk::disk::database_format { pstsdk::disk::database_format_ansi_min = 14 , pstsdk::disk::database_format_ansi = 15 , pstsdk::disk::database_format_unicode_min = 20 , pstsdk::disk::database_format_unicode = 23 } |
| Valid database format values (ANSI vs. Unicode) More... | |
| enum | pstsdk::disk::database_type { pstsdk::disk::database_ost = 12 , pstsdk::disk::database_pst = 19 } |
| Vaild database types (OST vs. PST) More... | |
| enum | pstsdk::disk::crypt_method { pstsdk::disk::crypt_method_none = 0 , pstsdk::disk::crypt_method_permute = 1 , pstsdk::disk::crypt_method_cyclic = 2 } |
| Valid "encryption" methods. More... | |
| enum | pstsdk::disk::amap_validity { pstsdk::disk::invalid_amap = 0 , pstsdk::disk::valid_amap1 = 1 , pstsdk::disk::valid_amap2 = 2 } |
| The root of the database. More... | |
Variables | |
| const size_t | pstsdk::disk::header_fmap_entries = 128 |
| The number of entries in the header's fmap structure. | |
| const size_t | pstsdk::disk::header_fpmap_size = 128 |
| The number of entries in the header's fpmap structure. | |
| const size_t | pstsdk::disk::header_lock_entries = 32 |
| The number of entries in the header's lock structure. | |
| const ushort | pstsdk::disk::pst_magic = 0x4D53 |
| PST Magic number. | |
| const ushort | pstsdk::disk::ost_magic = 0x4F53 |
| OST Magic number. | |
| const uint | pstsdk::disk::hlmagic = 0x4e444221 |
| High/Low magic number. | |
The root of the database.
The root structures describes where the root pages of the NBT and BBT are located, the EOF location, how much space is free, the allocation state flag, and more.
Values for root::fAMapValid
A store marked invalid_amap has its allocation maps rebuilt from the BBT by the next client to open it, which is how an in place edit can free space without maintaining the AMaps itself.
| Enumerator | |
|---|---|
| invalid_amap | The AMaps are stale and must be rebuilt before use. |
| valid_amap1 |
|
| valid_amap2 | Valid. |
Valid "encryption" methods.
This value indicates what method was used to "encrypt" external data (external data means the data section of external blocks) in the file.
| Enumerator | |
|---|---|
| crypt_method_none | No "encryption" was used. |
| crypt_method_permute | The permute method is used in this file. |
| crypt_method_cyclic | The cyclic method is used in this file. |
Valid database format values (ANSI vs. Unicode)
| const size_t pstsdk::disk::header_fmap_entries = 128 |
| const size_t pstsdk::disk::header_fpmap_size = 128 |
| const size_t pstsdk::disk::header_lock_entries = 32 |