PST File Format SDK v0.4
Loading...
Searching...
No Matches
Header Structures
+ 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.
 

Detailed Description

Enumeration Type Documentation

◆ amap_validity

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.

Template Parameters
Tulonglong for a unicode store, ulong for an ANSI store
See also
[MS-PST] 2.2.2.5

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.

See also
[MS-PST] 2.2.2.5/fAMapValid
Enumerator
invalid_amap 

The AMaps are stale and must be rebuilt before use.

valid_amap1 
Deprecated:
Valid, written by pre Outlook 2007 SP2
valid_amap2 

Valid.

Definition at line 118 of file disk.h.

◆ crypt_method

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.

Definition at line 96 of file disk.h.

◆ database_format

Valid database format values (ANSI vs. Unicode)

See also
[MS-PST] 2.2.2.6/wVer
Enumerator
database_format_ansi_min 

Initial ANSI file version number.

database_format_ansi 

Current ANSI file version number.

database_format_unicode_min 

Initial unicode version number.

database_format_unicode 

Current unicode version number.

Definition at line 67 of file disk.h.

◆ database_type

Vaild database types (OST vs. PST)

See also
[MS-PST] 2.2.2.6/wVerClient
Enumerator
database_ost 

A OST file.

database_pst 

A PST file.

Definition at line 78 of file disk.h.

Variable Documentation

◆ header_fmap_entries

const size_t pstsdk::disk::header_fmap_entries = 128

The number of entries in the header's fmap structure.

See also
[MS-PST] 2.2.2.6/rgbFM

Definition at line 52 of file disk.h.

◆ header_fpmap_size

const size_t pstsdk::disk::header_fpmap_size = 128

The number of entries in the header's fpmap structure.

See also
[MS-PST] 2.2.2.6/rgbFP

Definition at line 57 of file disk.h.

◆ header_lock_entries

const size_t pstsdk::disk::header_lock_entries = 32

The number of entries in the header's lock structure.

See also
[MS-PST] 2.2.2.6/rgbReserved3

Definition at line 62 of file disk.h.

◆ hlmagic

const uint pstsdk::disk::hlmagic = 0x4e444221

High/Low magic number.

At one point there was also a Low/High magic number, but it was never used.

See also
[MS-PST] 2.2.2.6/dwMagic

Definition at line 162 of file disk.h.

◆ ost_magic

const ushort pstsdk::disk::ost_magic = 0x4F53

OST Magic number.

Definition at line 89 of file disk.h.

◆ pst_magic

const ushort pstsdk::disk::pst_magic = 0x4D53

PST Magic number.

Definition at line 86 of file disk.h.