Fairport
v1.0.38
|
Classes | |
struct | fairport::guid |
A Win32 GUID structure. More... | |
Defines | |
#define | FAIRPORT_VALIDATION_LEVEL_WEAK |
Global Validation Settings. | |
#define | make_nid(nid_type, nid_index) (((nid_type)&nid_type_mask)|((nid_index) << 5)) |
Construct a node_id (NID) from a node type and index. | |
#define | make_prv_pub_nid(nid_index) (make_nid(nid_type_folder, nid_index_prv_pub_base + (nid_index))) |
Construct a folders node_id for an OST file. | |
Typedefs | |
typedef boost::uint32_t | fairport::uint |
typedef boost::uint32_t | fairport::ulong |
typedef boost::int32_t | fairport::slong |
typedef boost::uint64_t | fairport::ulonglong |
typedef boost::int64_t | fairport::slonglong |
typedef boost::uint8_t | fairport::byte |
typedef boost::uint16_t | fairport::ushort |
typedef ulong | fairport::node_id |
typedef ulonglong | fairport::block_id |
typedef block_id | fairport::page_id |
typedef ulong | fairport::heap_id |
typedef ulong | fairport::heapnode_id |
typedef ushort | fairport::prop_id |
typedef ulong | fairport::row_id |
Enumerations | |
enum | fairport::nid_type { fairport::nid_type_none = 0x00, fairport::nid_type_internal = 0x01, fairport::nid_type_folder = 0x02, fairport::nid_type_search_folder = 0x03, fairport::nid_type_message = 0x04, fairport::nid_type_attachment = 0x05, fairport::nid_type_search_update_queue = 0x06, fairport::nid_type_search_criteria_object = 0x07, fairport::nid_type_associated_message = 0x08, fairport::nid_type_storage = 0x09, fairport::nid_type_contents_table_index = 0x0A, fairport::nid_type_receive_folder_table = 0x0B, fairport::nid_type_outgoing_queue_table = 0x0C, fairport::nid_type_hierarchy_table = 0x0D, fairport::nid_type_contents_table = 0x0E, fairport::nid_type_associated_contents_table = 0x0F, fairport::nid_type_search_contents_table = 0x10, fairport::nid_type_attachment_table = 0x11, fairport::nid_type_recipient_table = 0x12, fairport::nid_type_search_table_index = 0x13, fairport::nid_type_contents_smp = 0x14, fairport::nid_type_associated_contents_smp = 0x15, fairport::nid_type_change_history_table = 0x16, fairport::nid_type_tombstone_table = 0x17, fairport::nid_type_tombstone_date_table = 0x18, fairport::nid_type_lrep_dups_table = 0x19, fairport::nid_type_folder_path_tombstone_table = 0x1A, fairport::nid_type_ltp = 0x1F, fairport::nid_type_max = 0x20 } |
Different node types found in a PST file. More... | |
enum | fairport::predefined_nid { fairport::nid_message_store = make_nid(nid_type_internal, 0x1), fairport::nid_name_id_map = make_nid(nid_type_internal, 0x3), fairport::nid_normal_folder_template = make_nid(nid_type_folder, 0x6), fairport::nid_search_folder_template = make_nid(nid_type_search_folder, 0x7), fairport::nid_root_folder = make_nid(nid_type_folder, 0x9), fairport::nid_search_management_queue = make_nid(nid_type_internal, 0xF), fairport::nid_search_activity_list = make_nid(nid_type_internal, 0x10), fairport::nid_search_domain_alternative = make_nid(nid_type_internal, 0x12), fairport::nid_search_domain_object = make_nid(nid_type_internal, 0x13), fairport::nid_search_gatherer_queue = make_nid(nid_type_internal, 0x14), fairport::nid_search_gatherer_descriptor = make_nid(nid_type_internal, 0x15), fairport::nid_table_rebuild_queue = make_nid(nid_type_internal, 0x17), fairport::nid_junk_mail_pihsl = make_nid(nid_type_internal, 0x18), fairport::nid_search_gatherer_folder_queue = make_nid(nid_type_internal, 0x19), fairport::nid_tc_sub_props = make_nid(nid_type_internal, 0x27), fairport::nid_index_template = 0x30, fairport::nid_hierarchy_table_template = make_nid(nid_type_hierarchy_table, nid_index_template), fairport::nid_contents_table_template = make_nid(nid_type_contents_table, nid_index_template), fairport::nid_associated_contents_table_template = make_nid(nid_type_associated_contents_table, nid_index_template), fairport::nid_search_contents_table_template = make_nid(nid_type_search_contents_table, nid_index_template), fairport::nid_smp_template = make_nid(nid_type_contents_smp, nid_index_template), fairport::nid_tombstone_table_template = make_nid(nid_type_tombstone_table, nid_index_template), fairport::nid_lrep_dups_table_template = make_nid(nid_type_lrep_dups_table, nid_index_template), fairport::nid_receive_folders = make_nid(nid_type_receive_folder_table, 0x31), fairport::nid_outgoing_queue = make_nid(nid_type_outgoing_queue_table, 0x32), fairport::nid_attachment_table = make_nid(nid_type_attachment_table, 0x33), fairport::nid_recipient_table = make_nid(nid_type_recipient_table, 0x34), fairport::nid_change_history_table = make_nid(nid_type_change_history_table, 0x35), fairport::nid_tombstone_table = make_nid(nid_type_tombstone_table, 0x36), fairport::nid_tombstone_date_table = make_nid(nid_type_tombstone_date_table, 0x37), fairport::nid_all_message_search_folder = make_nid(nid_type_search_folder, 0x39), fairport::nid_all_message_search_contents = make_nid(nid_type_search_contents_table, 0x39), fairport::nid_lrep_gmp = make_nid(nid_type_internal, 0x40), fairport::nid_lrep_folders_smp = make_nid(nid_type_internal, 0x41), fairport::nid_lrep_folders_table = make_nid(nid_type_internal, 0x42), fairport::nid_folder_path_tombstone_table = make_nid(nid_type_internal, 0x43), fairport::nid_hst_hmp = make_nid(nid_type_internal, 0x60), fairport::nid_index_prv_pub_base = 0x100, fairport::nid_pub_root_folder = make_prv_pub_nid(0), fairport::nid_prv_root_folder = make_prv_pub_nid(5), fairport::nid_criterr_notification = make_nid(nid_type_internal, 0x3FD), fairport::nid_object_notification = make_nid(nid_type_internal, 0x3FE), fairport::nid_newemail_notification = make_nid(nid_type_internal, 0x3FF), fairport::nid_extended_notification = make_nid(nid_type_internal, 0x400), fairport::nid_indexing_notification = make_nid(nid_type_internal, 0x401) } |
The predefined nodes in a PST/OST file. More... | |
enum | fairport::prop_type { fairport::prop_type_unspecified = 0, fairport::prop_type_null = 1, fairport::prop_type_short = 2, fairport::prop_type_mv_short = 4098, fairport::prop_type_long = 3, fairport::prop_type_mv_long = 4099, fairport::prop_type_float = 4, fairport::prop_type_mv_float = 4100, fairport::prop_type_double = 5, fairport::prop_type_mv_double = 4101, fairport::prop_type_currency = 6, fairport::prop_type_mv_currency = 4102, fairport::prop_type_apptime = 7, fairport::prop_type_mv_apptime = 4103, fairport::prop_type_error = 10, fairport::prop_type_boolean = 11, fairport::prop_type_object = 13, fairport::prop_type_longlong = 20, fairport::prop_type_mv_longlong = 4116, fairport::prop_type_string = 30, fairport::prop_type_mv_string = 4126, fairport::prop_type_wstring = 31, fairport::prop_type_mv_wstring = 4127, fairport::prop_type_systime = 64, fairport::prop_type_mv_systime = 4160, fairport::prop_type_guid = 72, fairport::prop_type_mv_guid = 4168, fairport::prop_type_binary = 258, fairport::prop_type_mv_binary = 4354 } |
The different property types as defined by MAPI. More... | |
enum | fairport::recipient_type { fairport::mapi_to = 1, fairport::mapi_cc = 2, fairport::mapi_bcc = 3 } |
The different recipient types as defined by MAPI. More... | |
Functions | |
nid_type | fairport::get_nid_type (node_id id) |
Get a node type from a node id. | |
ulong | fairport::get_nid_index (node_id id) |
Get a node index from a node id. | |
ulong | fairport::get_heap_page (heap_id id) |
Get the heap page from the heap id. | |
ulong | fairport::get_heap_index (heap_id id) |
Get the index from the heap id. | |
heap_id | fairport::make_heap_id (ulong page, ulong index) |
Create a heap_id from a page and an index. | |
bool | fairport::is_heap_id (heapnode_id id) |
Inspects a heapnode_id (also known as a HNID) to determine if it is a heap_id (HID) | |
bool | fairport::is_subnode_id (heapnode_id id) |
Inspects a heapnode_id (also known as a HNID) to determine if it is a node_id (NID) | |
Variables | |
const ulong | fairport::nid_type_mask = 0x1FL |
The portion of a node_id reserved for the type. | |
const byte | fairport::message_subject_prefix_lead_byte = 0x01 |
A sentinel byte which indicates the message subject contains a prefix. | |
const guid | fairport::ps_none = { 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } } |
The NULL guid. | |
const guid | fairport::ps_mapi = { 0x20328, 0, 0, { 0xc0, 0, 0, 0, 0, 0, 0, 0x46 } } |
The PS_MAPI guid. | |
const guid | fairport::ps_public_strings = { 0x20329, 0, 0, { 0xc0, 0, 0, 0, 0, 0, 0, 0x46 } } |
The PS_PUBLIC_STRINGS guid. | |
const guid | fairport::ps_task = { 0x62003, 0, 0, { 0xc0, 0, 0, 0, 0, 0, 0, 0x46 } } |
The PSETID_Task guid. | |
const guid | fairport::ps_contact = { 0x62004, 0, 0, { 0xc0, 0, 0, 0, 0, 0, 0, 0x46 } } |
The PSETID_Address guid. | |
const std::wstring | fairport::task_class = "IPM.Task" |
Message class for Task Items. | |
const std::wstring | fairport::contact_class = "IPM.Contact" |
Message class for Contact Items. |
#define FAIRPORT_VALIDATION_LEVEL_WEAK |
Global Validation Settings.
You may optionally define one of the following values before including any Fairport header:
Weak validation is the default.
Definition at line 35 of file primitives.h.
#define make_nid | ( | nid_type, | |
nid_index | |||
) | (((nid_type)&nid_type_mask)|((nid_index) << 5)) |
Construct a node_id (NID) from a node type and index.
Definition at line 142 of file primitives.h.
#define make_prv_pub_nid | ( | nid_index | ) | (make_nid(nid_type_folder, nid_index_prv_pub_base + (nid_index))) |
Construct a folders node_id for an OST file.
Definition at line 146 of file primitives.h.
typedef ulonglong fairport::block_id |
Definition at line 83 of file primitives.h.
typedef boost::uint8_t fairport::byte |
Definition at line 68 of file primitives.h.
typedef ulong fairport::heap_id |
Definition at line 86 of file primitives.h.
typedef ulong fairport::heapnode_id |
Definition at line 87 of file primitives.h.
typedef ulong fairport::node_id |
Definition at line 82 of file primitives.h.
typedef block_id fairport::page_id |
Definition at line 84 of file primitives.h.
typedef ushort fairport::prop_id |
Definition at line 89 of file primitives.h.
typedef ulong fairport::row_id |
Definition at line 91 of file primitives.h.
typedef boost::int32_t fairport::slong |
Definition at line 65 of file primitives.h.
typedef boost::int64_t fairport::slonglong |
Definition at line 67 of file primitives.h.
typedef boost::uint32_t fairport::uint |
Definition at line 63 of file primitives.h.
typedef boost::uint32_t fairport::ulong |
Definition at line 64 of file primitives.h.
typedef boost::uint64_t fairport::ulonglong |
Definition at line 66 of file primitives.h.
typedef boost::uint16_t fairport::ushort |
Definition at line 69 of file primitives.h.
enum fairport::nid_type |
Different node types found in a PST file.
Definition at line 101 of file primitives.h.
The predefined nodes in a PST/OST file.
nid_message_store |
The property bag for this file. |
nid_name_id_map |
Contains the named prop mappings. |
nid_normal_folder_template | |
nid_search_folder_template | |
nid_root_folder |
Root folder of the store. |
nid_search_management_queue | |
nid_search_activity_list | |
nid_search_domain_alternative | |
nid_search_domain_object | |
nid_search_gatherer_queue | |
nid_search_gatherer_descriptor | |
nid_table_rebuild_queue | |
nid_junk_mail_pihsl | |
nid_search_gatherer_folder_queue | |
nid_tc_sub_props | |
nid_index_template | |
nid_hierarchy_table_template | |
nid_contents_table_template | |
nid_associated_contents_table_template | |
nid_search_contents_table_template | |
nid_smp_template | |
nid_tombstone_table_template | |
nid_lrep_dups_table_template | |
nid_receive_folders | |
nid_outgoing_queue | |
nid_attachment_table | |
nid_recipient_table | |
nid_change_history_table | |
nid_tombstone_table | |
nid_tombstone_date_table | |
nid_all_message_search_folder |
|
nid_all_message_search_contents | |
nid_lrep_gmp | |
nid_lrep_folders_smp | |
nid_lrep_folders_table | |
nid_folder_path_tombstone_table | |
nid_hst_hmp | |
nid_index_prv_pub_base | |
nid_pub_root_folder | |
nid_prv_root_folder | |
nid_criterr_notification | |
nid_object_notification | |
nid_newemail_notification | |
nid_extended_notification | |
nid_indexing_notification |
Definition at line 151 of file primitives.h.
enum fairport::prop_type |
The different property types as defined by MAPI.
Definition at line 273 of file primitives.h.
The different recipient types as defined by MAPI.
Definition at line 312 of file primitives.h.
ulong fairport::get_heap_index | ( | heap_id | id | ) | [inline] |
Get the index from the heap id.
[in] | id | The heap id |
Definition at line 233 of file primitives.h.
ulong fairport::get_heap_page | ( | heap_id | id | ) | [inline] |
Get the heap page from the heap id.
[in] | id | The heap id |
Definition at line 225 of file primitives.h.
ulong fairport::get_nid_index | ( | node_id | id | ) | [inline] |
Get a node index from a node id.
[in] | id | The node id |
Definition at line 213 of file primitives.h.
nid_type fairport::get_nid_type | ( | node_id | id | ) | [inline] |
Get a node type from a node id.
[in] | id | The node id |
Definition at line 205 of file primitives.h.
bool fairport::is_heap_id | ( | heapnode_id | id | ) | [inline] |
Inspects a heapnode_id (also known as a HNID) to determine if it is a heap_id (HID)
[in] | id | The heapnode_id |
Definition at line 254 of file primitives.h.
bool fairport::is_subnode_id | ( | heapnode_id | id | ) | [inline] |
Inspects a heapnode_id (also known as a HNID) to determine if it is a node_id (NID)
[in] | id | The heapnode_id |
Definition at line 263 of file primitives.h.
heap_id fairport::make_heap_id | ( | ulong | page, |
ulong | index | ||
) | [inline] |
Create a heap_id from a page and an index.
[in] | page | The page |
[in] | index | The index |
Definition at line 241 of file primitives.h.
const std::wstring fairport::contact_class = "IPM.Contact" |
Message class for Contact Items.
Definition at line 375 of file primitives.h.
const byte fairport::message_subject_prefix_lead_byte = 0x01 |
A sentinel byte which indicates the message subject contains a prefix.
Definition at line 326 of file primitives.h.
const ulong fairport::nid_type_mask = 0x1FL |
The portion of a node_id reserved for the type.
Definition at line 137 of file primitives.h.
const guid fairport::ps_contact = { 0x62004, 0, 0, { 0xc0, 0, 0, 0, 0, 0, 0, 0x46 } } |
const guid fairport::ps_mapi = { 0x20328, 0, 0, { 0xc0, 0, 0, 0, 0, 0, 0, 0x46 } } |
const guid fairport::ps_none = { 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } } |
The NULL guid.
Definition at line 347 of file primitives.h.
const guid fairport::ps_public_strings = { 0x20329, 0, 0, { 0xc0, 0, 0, 0, 0, 0, 0, 0x46 } } |
The PS_PUBLIC_STRINGS guid.
Definition at line 357 of file primitives.h.
const guid fairport::ps_task = { 0x62003, 0, 0, { 0xc0, 0, 0, 0, 0, 0, 0, 0x46 } } |
const std::wstring fairport::task_class = "IPM.Task" |
Message class for Task Items.
Definition at line 371 of file primitives.h.