#include "define.h"
Include dependency graph for libpst.c:
Go to the source code of this file.
Data Structures | |
struct | pst_table_ptr_struct32 |
struct | pst_table_ptr_structn |
struct | pst_block_header |
struct | pst_id2_assoc32 |
struct | pst_id2_assoc |
struct | pst_table3_rec32 |
struct | pst_table3_rec |
struct | pst_block_hdr |
struct | pst_x_attrib |
Defines | |
#define | ASSERT(x) { if(!(x)) raise( SIGSEGV ); } |
#define | INDEX_TYPE32 0x0E |
#define | INDEX_TYPE32A 0x0F |
#define | INDEX_TYPE64 0x17 |
#define | INDEX_TYPE64A 0x15 |
#define | INDEX_TYPE_OFFSET (int64_t)0x0A |
#define | FILE_SIZE_POINTER32 (int64_t)0xA8 |
#define | INDEX_POINTER32 (int64_t)0xC4 |
#define | INDEX_BACK32 (int64_t)0xC0 |
#define | SECOND_POINTER32 (int64_t)0xBC |
#define | SECOND_BACK32 (int64_t)0xB8 |
#define | ENC_TYPE32 (int64_t)0x1CD |
#define | FILE_SIZE_POINTER64 (int64_t)0xB8 |
#define | INDEX_POINTER64 (int64_t)0xF0 |
#define | INDEX_BACK64 (int64_t)0xE8 |
#define | SECOND_POINTER64 (int64_t)0xE0 |
#define | SECOND_BACK64 (int64_t)0xD8 |
#define | ENC_TYPE64 (int64_t)0x201 |
#define | FILE_SIZE_POINTER ((pf->do_read64) ? FILE_SIZE_POINTER64 : FILE_SIZE_POINTER32) |
#define | INDEX_POINTER ((pf->do_read64) ? INDEX_POINTER64 : INDEX_POINTER32) |
#define | INDEX_BACK ((pf->do_read64) ? INDEX_BACK64 : INDEX_BACK32) |
#define | SECOND_POINTER ((pf->do_read64) ? SECOND_POINTER64 : SECOND_POINTER32) |
#define | SECOND_BACK ((pf->do_read64) ? SECOND_BACK64 : SECOND_BACK32) |
#define | ENC_TYPE ((pf->do_read64) ? ENC_TYPE64 : ENC_TYPE32) |
#define | PST_SIGNATURE 0x4E444221 |
#define | ITEM_COUNT_OFFSET32 0x1f0 |
#define | LEVEL_INDICATOR_OFFSET32 0x1f3 |
#define | BACKLINK_OFFSET32 0x1f8 |
#define | ITEM_SIZE32 12 |
#define | DESC_SIZE32 16 |
#define | INDEX_COUNT_MAX32 41 |
#define | DESC_COUNT_MAX32 31 |
#define | ITEM_COUNT_OFFSET64 0x1e8 |
#define | LEVEL_INDICATOR_OFFSET64 0x1eb |
#define | BACKLINK_OFFSET64 0x1f8 |
#define | ITEM_SIZE64 24 |
#define | DESC_SIZE64 32 |
#define | INDEX_COUNT_MAX64 20 |
#define | DESC_COUNT_MAX64 15 |
#define | BLOCK_SIZE 512 |
#define | DESC_BLOCK_SIZE 512 |
#define | ITEM_COUNT_OFFSET (size_t)((pf->do_read64) ? ITEM_COUNT_OFFSET64 : ITEM_COUNT_OFFSET32) |
#define | LEVEL_INDICATOR_OFFSET (size_t)((pf->do_read64) ? LEVEL_INDICATOR_OFFSET64 : LEVEL_INDICATOR_OFFSET32) |
#define | BACKLINK_OFFSET (size_t)((pf->do_read64) ? BACKLINK_OFFSET64 : BACKLINK_OFFSET32) |
#define | ITEM_SIZE (size_t)((pf->do_read64) ? ITEM_SIZE64 : ITEM_SIZE32) |
#define | DESC_SIZE (size_t)((pf->do_read64) ? DESC_SIZE64 : DESC_SIZE32) |
#define | INDEX_COUNT_MAX (int32_t)((pf->do_read64) ? INDEX_COUNT_MAX64 : INDEX_COUNT_MAX32) |
#define | DESC_COUNT_MAX (int32_t)((pf->do_read64) ? DESC_COUNT_MAX64 : DESC_COUNT_MAX32) |
#define | SAFE_FREE(x) {if (x) free(x);} |
#define | MALLOC_EMAIL(x) { if (!x->email) { x->email = (pst_item_email*) xmalloc(sizeof(pst_item_email)); memset(x->email, 0, sizeof(pst_item_email) );} } |
#define | MALLOC_FOLDER(x) { if (!x->folder) { x->folder = (pst_item_folder*) xmalloc(sizeof(pst_item_folder)); memset(x->folder, 0, sizeof(pst_item_folder) );} } |
#define | MALLOC_CONTACT(x) { if (!x->contact) { x->contact = (pst_item_contact*) xmalloc(sizeof(pst_item_contact)); memset(x->contact, 0, sizeof(pst_item_contact) );} } |
#define | MALLOC_MESSAGESTORE(x) { if (!x->message_store) { x->message_store = (pst_item_message_store*) xmalloc(sizeof(pst_item_message_store)); memset(x->message_store, 0, sizeof(pst_item_message_store));} } |
#define | MALLOC_JOURNAL(x) { if (!x->journal) { x->journal = (pst_item_journal*) xmalloc(sizeof(pst_item_journal)); memset(x->journal, 0, sizeof(pst_item_journal) );} } |
#define | MALLOC_APPOINTMENT(x) { if (!x->appointment) { x->appointment = (pst_item_appointment*) xmalloc(sizeof(pst_item_appointment)); memset(x->appointment, 0, sizeof(pst_item_appointment) );} } |
#define | LIST_COPY(targ, type) |
#define | LIST_COPY_TIME(targ) |
#define | LIST_COPY_SIZE(targ, type, mysize) |
#define | NULL_CHECK(x) { if (!x) { DEBUG_EMAIL(("NULL_CHECK: Null Found\n")); break;} } |
#define | PST_PTR_BLOCK_SIZE 0x120 |
Typedefs | |
typedef pst_block_header | pst_block_header |
typedef pst_id2_assoc32 | pst_id2_assoc32 |
typedef pst_id2_assoc | pst_id2_assoc |
typedef pst_table3_rec32 | pst_table3_rec32 |
typedef pst_table3_rec | pst_table3_rec |
typedef pst_block_hdr | pst_block_hdr |
typedef pst_x_attrib | pst_x_attrib |
Functions | |
int | pst_open (pst_file *pf, char *name) |
int | pst_close (pst_file *pf) |
void | add_descriptor_to_list (pst_desc_ll *node, pst_desc_ll **head, pst_desc_ll **tail) |
add a pst descriptor node to a linked list of such nodes. | |
void | record_descriptor (pst_file *pf, pst_desc_ll *node) |
add a pst descriptor node into the global tree. | |
pst_index2_ll * | deep_copy (pst_index2_ll *head) |
make a deep copy of part of the id2 mapping tree, for use by an attachment containing an embedded rfc822 message. | |
pst_desc_ll * | pst_getTopOfFolders (pst_file *pf, pst_item *root) |
size_t | pst_attach_to_mem (pst_file *pf, pst_item_attach *attach, char **b) |
size_t | pst_attach_to_file (pst_file *pf, pst_item_attach *attach, FILE *fp) |
size_t | pst_attach_to_file_base64 (pst_file *pf, pst_item_attach *attach, FILE *fp) |
int | pst_load_index (pst_file *pf) |
pst_desc_ll * | pst_getNextDptr (pst_desc_ll *d) |
int | pst_load_extended_attributes (pst_file *pf) |
size_t | pst_decode_desc (pst_file *pf, pst_descn *desc, char *buf) |
size_t | pst_decode_table (pst_file *pf, struct pst_table_ptr_structn *table, char *buf) |
size_t | pst_decode_index (pst_file *pf, pst_index *index, char *buf) |
size_t | pst_decode_assoc (pst_file *pf, pst_id2_assoc *assoc, char *buf) |
size_t | pst_decode_type3 (pst_file *pf, pst_table3_rec *table3_rec, char *buf) |
int | pst_build_id_ptr (pst_file *pf, int64_t offset, int32_t depth, uint64_t linku1, uint64_t start_val, uint64_t end_val) |
int | pst_build_desc_ptr (pst_file *pf, int64_t offset, int32_t depth, uint64_t linku1, uint64_t start_val, uint64_t end_val) |
pst_item * | pst_parse_item (pst_file *pf, pst_desc_ll *d_ptr, pst_index2_ll *m_head) |
void | freeall (pst_subblocks *subs, pst_block_offset_pointer *p1, pst_block_offset_pointer *p2, pst_block_offset_pointer *p3, pst_block_offset_pointer *p4, pst_block_offset_pointer *p5, pst_block_offset_pointer *p6, pst_block_offset_pointer *p7) |
pst_num_array * | pst_parse_block (pst_file *pf, uint64_t block_id, pst_index2_ll *i2_head, pst_num_array *na_head) |
int | pst_process (pst_num_array *list, pst_item *item, pst_item_attach *attach) |
process the list of items produced from parse_block() | |
void | pst_free_list (pst_num_array *list) |
void | pst_free_id2 (pst_index2_ll *head) |
void | pst_free_id (pst_index_ll *head) |
void | pst_free_desc (pst_desc_ll *head) |
void | pst_free_xattrib (pst_x_attrib_ll *x) |
pst_index2_ll * | pst_build_id2 (pst_file *pf, pst_index_ll *list) |
void | pst_free_attach (pst_item_attach *attach) |
void | pst_freeItem (pst_item *item) |
int | pst_getBlockOffsetPointer (pst_file *pf, pst_index2_ll *i2_head, pst_subblocks *subblocks, uint32_t offset, pst_block_offset_pointer *p) |
The offset might be zero, in which case we have no data, so return a pair of null pointers. | |
int | pst_getBlockOffset (char *buf, size_t read_size, uint32_t i_offset, uint32_t offset, pst_block_offset *p) |
pst_index_ll * | pst_getID (pst_file *pf, uint64_t id) |
pst_index2_ll * | pst_getID2 (pst_index2_ll *head, uint64_t id2) |
pst_desc_ll * | pst_getDptr (pst_file *pf, uint64_t id) |
find the id in the descriptor tree rooted at pf->d_head | |
void | pst_printDptr (pst_file *pf, pst_desc_ll *ptr) |
void | pst_printIDptr (pst_file *pf) |
void | pst_printID2ptr (pst_index2_ll *ptr) |
size_t | pst_read_block_size (pst_file *pf, int64_t offset, size_t size, char **buf) |
Read a block of data from file into memory. | |
int | pst_decrypt (uint64_t id, char *buf, size_t size, unsigned char type) |
uint64_t | pst_getIntAt (pst_file *pf, char *buf) |
uint64_t | pst_getIntAtPos (pst_file *pf, int64_t pos) |
size_t | pst_getAtPos (pst_file *pf, int64_t pos, void *buf, size_t size) |
Read part of the pst file. | |
size_t | pst_ff_getIDblock_dec (pst_file *pf, uint64_t id, char **buf) |
Get an ID block from file using _pst_ff_getIDblock and decrypt if necessary. | |
size_t | pst_ff_getIDblock (pst_file *pf, uint64_t id, char **buf) |
Read a block of data from file into memory. | |
size_t | pst_ff_getID2block (pst_file *pf, uint64_t id2, pst_index2_ll *id2_head, char **buf) |
size_t | pst_ff_getID2data (pst_file *pf, pst_index_ll *ptr, pst_holder *h) |
size_t | pst_ff_compile_ID (pst_file *pf, uint64_t id, pst_holder *h, size_t size) |
int | pst_stricmp (char *a, char *b) |
int | pst_strincmp (char *a, char *b, size_t x) |
size_t | pst_fwrite (const void *ptr, size_t size, size_t nmemb, FILE *stream) |
char * | pst_wide_to_single (char *wt, size_t size) |
char * | pst_rfc2426_escape (char *str) |
int | pst_chr_count (char *str, char x) |
char * | pst_rfc2425_datetime_format (FILETIME *ft) |
char * | pst_rfc2445_datetime_format (FILETIME *ft) |
Variables | |
unsigned char | comp_enc [] |
unsigned char | comp_high1 [] |
unsigned char | comp_high2 [] |
|
Definition at line 21 of file libpst.c. Referenced by vb_utf16to8(), vbcheck(), vbgrow(), vbskip(), vsncat(), vsnprepend(), and vsskip(). |
|
Definition at line 671 of file libpst.c. Referenced by pst_build_desc_ptr(), and pst_build_id_ptr(). |
|
|
|
|
|
Definition at line 667 of file libpst.c. Referenced by pst_build_id_ptr(). |
|
Definition at line 668 of file libpst.c. Referenced by pst_build_desc_ptr(). |
|
Definition at line 675 of file libpst.c. Referenced by pst_build_desc_ptr(). |
|
|
|
|
|
|
|
Definition at line 655 of file libpst.c. Referenced by pst_build_desc_ptr(). |
|
|
|
Definition at line 48 of file libpst.c. Referenced by pst_open(). |
|
|
|
|
|
Definition at line 43 of file libpst.c. Referenced by pst_open(). |
|
|
|
|
|
Definition at line 45 of file libpst.c. Referenced by pst_open(). |
|
|
|
|
|
Definition at line 674 of file libpst.c. Referenced by pst_build_desc_ptr(), and pst_build_id_ptr(). |
|
|
|
|
|
Definition at line 44 of file libpst.c. Referenced by pst_open(). |
|
|
|
|
|
Definition at line 23 of file libpst.c. Referenced by pst_open(). |
|
Definition at line 24 of file libpst.c. Referenced by pst_open(). |
|
Definition at line 25 of file libpst.c. Referenced by pst_open(). |
|
Definition at line 26 of file libpst.c. Referenced by pst_open(). |
|
Definition at line 27 of file libpst.c. Referenced by pst_open(). |
|
|
|
|
|
|
|
|
|
Definition at line 654 of file libpst.c. Referenced by pst_build_desc_ptr(), and pst_build_id_ptr(). |
|
|
|
|
|
|
|
|
|
Value: { \
targ = type realloc(targ, list->items[x]->size+1); \
memcpy(targ, list->items[x]->data, list->items[x]->size); \
memset(((char*)targ)+list->items[x]->size, 0, (size_t)1); \
}
Definition at line 1711 of file libpst.c. Referenced by pst_process(). |
|
Value: { \ mysize = list->items[x]->size; \ if (mysize) { \ targ = type realloc(targ, mysize); \ memcpy(targ, list->items[x]->data, mysize); \ } \ else { \ SAFE_FREE(targ); \ targ = NULL; \ } \ } Definition at line 1724 of file libpst.c. Referenced by pst_process(). |
|
Value: { \ targ = (FILETIME*) realloc(targ, sizeof(FILETIME)); \ memcpy(targ, list->items[x]->data, list->items[x]->size); \ LE32_CPU(targ->dwLowDateTime); \ LE32_CPU(targ->dwHighDateTime); \ } Definition at line 1717 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1709 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1706 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1704 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1705 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1708 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1707 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1736 of file libpst.c. Referenced by pst_process(). |
|
|
|
|
|
Definition at line 1700 of file libpst.c. Referenced by pst_free_attach(), and pst_freeItem(). |
|
Definition at line 47 of file libpst.c. Referenced by pst_open(). |
|
|
|
|
|
Definition at line 46 of file libpst.c. Referenced by pst_open(). |
|
|
|
|
|
|
|
|
|
Referenced by pst_decode_assoc(). |
|
Referenced by pst_decode_assoc(). |
|
Referenced by pst_decode_type3(). |
|
Referenced by pst_decode_type3(). |
|
|
|
add a pst descriptor node to a linked list of such nodes.
Definition at line 271 of file libpst.c. References DEBUG_ENT, DEBUG_RET, pst_desc_tree::next, pst_desc_tree::prev, and pst_desc_ll. Referenced by record_descriptor(). |
|
make a deep copy of part of the id2 mapping tree, for use by an attachment containing an embedded rfc822 message.
Definition at line 360 of file libpst.c. References pst_index2_tree::child, pst_index2_tree::id, pst_index2_tree::id2, pst_index2_tree::next, pst_index2_ll, and xmalloc(). Referenced by pst_parse_item(). |
Here is the call graph for this function:
|
Definition at line 1219 of file libpst.c. References pst_subblock::buf, pst_block_offset_pointer::from, pst_block_offset_pointer::needfree, pst_subblocks::subblock_count, and pst_subblocks::subs. Referenced by pst_parse_block(). |
|
Definition at line 426 of file libpst.c. References pst_item_attach::data, DEBUG_ENT, DEBUG_RET, DEBUG_WARN, pst_item_attach::id_val, pst_ff_getID2data(), pst_fwrite(), pst_getID(), pst_index_ll, and pst_item_attach::size. Referenced by write_separate_attachment(). |
Here is the call graph for this function:
|
Definition at line 449 of file libpst.c. References base64_encode(), pst_item_attach::data, DEBUG_ENT, DEBUG_RET, DEBUG_WARN, pst_item_attach::id_val, pst_ff_getID2data(), pst_fwrite(), pst_getID(), pst_index_ll, and pst_item_attach::size. Referenced by write_inline_attachment(). |
Here is the call graph for this function:
|
Definition at line 404 of file libpst.c. References DEBUG_ENT, DEBUG_RET, DEBUG_WARN, pst_item_attach::id_val, pst_ff_getID2data(), pst_getID(), pst_index_ll, and pst_item_attach::size. |
Here is the call graph for this function:
|
Here is the call graph for this function:
|
Definition at line 3727 of file libpst.c. References pst_index2_tree::child, DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_INDEX, DEBUG_RET, DEBUG_WARN, pst_file::do_read64, pst_index_tree::id, pst_id2_assoc::id, pst_index2_tree::id, pst_id2_assoc::id2, pst_index2_tree::id2, LE16_CPU, pst_index2_tree::next, pst_index_tree::offset, pst_decode_assoc(), pst_getID(), pst_index2_ll, pst_index_ll, pst_read_block_size(), pst_index_tree::size, pst_id2_assoc::table2, pst_index_tree::u1, WARN, and xmalloc(). Referenced by pst_load_extended_attributes(), and pst_parse_item(). |
Here is the call graph for this function:
|
Here is the call graph for this function:
|
Definition at line 4738 of file libpst.c. Referenced by pst_rfc2426_escape(). |
|
Definition at line 242 of file libpst.c. References pst_file::d_head, DEBUG_ENT, DEBUG_RET, pst_file::fp, pst_file::i_head, pst_free_desc(), pst_free_id(), pst_free_xattrib(), WARN, and pst_file::x_head. Referenced by main(). |
Here is the call graph for this function:
|
Definition at line 774 of file libpst.c. References DEBUG_HEXDUMPC, DEBUG_INDEX, pst_file::do_read64, pst_id2_assoc32::id, pst_id2_assoc::id, pst_id2_assoc32::id2, pst_id2_assoc::id2, LE32_CPU, LE64_CPU, pst_id2_assoc, pst_id2_assoc32, pst_id2_assoc32::table2, and pst_id2_assoc::table2. Referenced by pst_build_id2(). |
|
Definition at line 679 of file libpst.c. References pst_desc_struct32::d_id, pst_desc_structn::d_id, DEBUG_HEXDUMPC, DEBUG_INDEX, pst_desc_struct32::desc_id, pst_desc_structn::desc_id, pst_file::do_read64, LE32_CPU, LE64_CPU, pst_desc_struct32::list_id, pst_desc_structn::list_id, pst_desc_struct32::parent_id, pst_desc_structn::parent_id, pst_desc32, pst_descn, and pst_desc_structn::u1. Referenced by pst_build_desc_ptr(). |
|
Definition at line 742 of file libpst.c. References DEBUG_HEXDUMPC, DEBUG_INDEX, pst_file::do_read64, pst_index_struct32::id, pst_index_struct::id, LE16_CPU, LE32_CPU, LE64_CPU, pst_index_struct32::offset, pst_index_struct::offset, pst_index, pst_index32, pst_index_struct32::size, pst_index_struct::size, pst_index_struct::u0, pst_index_struct32::u1, and pst_index_struct::u1. Referenced by pst_build_id_ptr(). |
|
Definition at line 713 of file libpst.c. References DEBUG_HEXDUMPC, DEBUG_INDEX, pst_file::do_read64, LE32_CPU, LE64_CPU, pst_table_ptr_struct32::offset, pst_table_ptr_structn::offset, pst_table_ptr_struct32::start, pst_table_ptr_structn::start, pst_table_ptr_struct32::u1, and pst_table_ptr_structn::u1. Referenced by pst_build_desc_ptr(), and pst_build_id_ptr(). |
|
Definition at line 802 of file libpst.c. References DEBUG_HEXDUMPC, DEBUG_INDEX, pst_file::do_read64, pst_table3_rec32::id, pst_table3_rec::id, LE32_CPU, LE64_CPU, pst_table3_rec, and pst_table3_rec32. Referenced by pst_ff_compile_ID(), and pst_parse_block(). |
|
Definition at line 4245 of file libpst.c. References comp_enc, comp_high1, comp_high2, DEBUG_ENT, DEBUG_RET, and WARN. Referenced by dumper(), main(), pst_ff_compile_ID(), and pst_ff_getIDblock_dec(). |
|
Definition at line 4469 of file libpst.c. References pst_holder::base64, base64_encode(), base64_encode_multiple(), pst_holder::buf, DEBUG_EMAIL, DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_READ, DEBUG_RET, DEBUG_WARN, pst_file::encryption, pst_holder::fp, pst_table3_rec::id, LE16_CPU, LE32_CPU, pst_decode_type3(), pst_decrypt(), pst_ff_getIDblock(), pst_ff_getIDblock_dec(), and pst_fwrite(). Referenced by pst_ff_getID2data(). |
Here is the call graph for this function:
|
Definition at line 4419 of file libpst.c. References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_index2_tree::id, pst_ff_getID2data(), pst_getID2(), and pst_index2_ll. Referenced by pst_getBlockOffsetPointer(), and pst_parse_block(). |
Here is the call graph for this function:
|
Definition at line 4437 of file libpst.c. References pst_holder::base64, base64_encode(), pst_holder::buf, DEBUG_ENT, DEBUG_READ, DEBUG_RET, pst_holder::fp, pst_index_tree::id, pst_ff_compile_ID(), pst_ff_getIDblock_dec(), pst_fwrite(), and pst_index_ll. Referenced by pst_attach_to_file(), pst_attach_to_file_base64(), pst_attach_to_mem(), and pst_ff_getID2block(). |
Here is the call graph for this function:
|
Read a block of data from file into memory.
Definition at line 4401 of file libpst.c. References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_index_tree::offset, pst_getID(), pst_index_ll, pst_read_block_size(), and pst_index_tree::size. Referenced by dumper(), main(), pst_ff_compile_ID(), and pst_ff_getIDblock_dec(). |
Here is the call graph for this function:
|
Get an ID block from file using _pst_ff_getIDblock and decrypt if necessary.
Definition at line 4378 of file libpst.c. References DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_INDEX, DEBUG_RET, pst_file::encryption, pst_decrypt(), and pst_ff_getIDblock(). Referenced by main(), pst_ff_compile_ID(), pst_ff_getID2data(), and pst_parse_block(). |
Here is the call graph for this function:
|
Definition at line 3797 of file libpst.c. References pst_item_attach::data, pst_item_attach::filename1, pst_item_attach::filename2, pst_item_attach::id2_head, pst_item_attach::mimetype, pst_item_attach::next, pst_free_id2(), and SAFE_FREE. Referenced by pst_freeItem(). |
Here is the call graph for this function:
|
Definition at line 3690 of file libpst.c. References pst_desc_tree::child, DEBUG_ENT, DEBUG_RET, DIE, pst_desc_tree::next, pst_desc_tree::parent, and pst_desc_ll. Referenced by pst_close(). |
|
Definition at line 3678 of file libpst.c. References DEBUG_ENT, DEBUG_RET, pst_index_tree::next, and pst_index_ll. Referenced by pst_close(). |
|
Definition at line 3665 of file libpst.c. References pst_index2_tree::child, DEBUG_ENT, DEBUG_RET, pst_index2_tree::next, and pst_index2_ll. Referenced by pst_free_attach(), pst_load_extended_attributes(), and pst_parse_item(). |
|
Definition at line 3643 of file libpst.c. References pst_num_item::data, DEBUG_ENT, DEBUG_RET, pst_num_array::items, pst_num_array::next, and pst_num_array::orig_count. Referenced by pst_load_extended_attributes(), pst_parse_block(), and pst_parse_item(). |
|
Definition at line 3714 of file libpst.c. References pst_x_attrib_ll::data, DEBUG_ENT, DEBUG_RET, and pst_x_attrib_ll::next. Referenced by pst_close(). |
|
Here is the call graph for this function:
|
Definition at line 4648 of file libpst.c. References DEBUG_ENT, DEBUG_RET, and DEBUG_WARN. Referenced by main(), pst_attach_to_file(), pst_attach_to_file_base64(), pst_ff_compile_ID(), pst_ff_getID2data(), write_email_body(), write_inline_attachment(), and write_separate_attachment(). |
|
Read part of the pst file.
Definition at line 4334 of file libpst.c. References DEBUG_ENT, DEBUG_RET, and pst_file::fp. Referenced by pst_getIntAtPos(), pst_open(), and pst_read_block_size(). |
|
Definition at line 4070 of file libpst.c. References DEBUG_ENT, DEBUG_RET, DEBUG_WARN, pst_block_offset::from, LE16_CPU, and pst_block_offset::to. Referenced by pst_getBlockOffsetPointer(). |
|
The offset might be zero, in which case we have no data, so return a pair of null pointers. Or, the offset might end in 0xf, so it is an id2 pointer, in which case we read the id2 block. Otherwise, the high order 16 bits of offset is the index into the subblocks, and the (low order 16 bits of offset)>>4 is an index into the table of offsets in the subblock. Definition at line 4023 of file libpst.c. References pst_subblock::buf, DEBUG_ENT, DEBUG_RET, DEBUG_WARN, pst_block_offset_pointer::from, pst_block_offset::from, pst_subblock::i_offset, pst_block_offset_pointer::needfree, pst_ff_getID2block(), pst_getBlockOffset(), pst_index2_ll, pst_subblock::read_size, pst_subblocks::subblock_count, pst_subblocks::subs, pst_block_offset_pointer::to, and pst_block_offset::to. Referenced by pst_parse_block(). |
Here is the call graph for this function:
|
find the id in the descriptor tree rooted at pf->d_head
Definition at line 4152 of file libpst.c. References pst_desc_tree::child, pst_file::d_head, DEBUG_ENT, DEBUG_RET, pst_desc_tree::id, pst_desc_tree::next, pst_desc_tree::parent, and pst_desc_ll. Referenced by pst_getTopOfFolders(), pst_load_extended_attributes(), and record_descriptor(). |
|
Definition at line 4094 of file libpst.c. References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_file::i_head, pst_index_tree::id, pst_index_tree::next, and pst_index_ll. Referenced by dumper(), pst_attach_to_file(), pst_attach_to_file_base64(), pst_attach_to_mem(), pst_build_desc_ptr(), pst_build_id2(), pst_ff_getIDblock(), write_embedded_message(), and write_inline_attachment(). |
|
Definition at line 4118 of file libpst.c. References pst_index2_tree::child, DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_index2_tree::id, pst_index_tree::id, pst_index2_tree::id2, pst_index2_tree::next, and pst_index2_ll. Referenced by pst_ff_getID2block(), and pst_parse_item(). |
|
Definition at line 4293 of file libpst.c. References pst_file::do_read64, LE32_CPU, and LE64_CPU. Referenced by pst_build_desc_ptr(), and pst_build_id_ptr(). |
|
Definition at line 4309 of file libpst.c. References pst_file::do_read64, LE32_CPU, LE64_CPU, and pst_getAtPos(). Referenced by pst_open(). |
Here is the call graph for this function:
|
Definition at line 497 of file libpst.c. References pst_desc_tree::child, DEBUG_ENT, DEBUG_RET, pst_desc_tree::next, pst_desc_tree::parent, and pst_desc_ll. Referenced by dumper(). |
|
Definition at line 372 of file libpst.c. References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_desc_tree::desc, pst_entryid_struct::id, pst_desc_tree::id, pst_desc_tree::list_index, pst_item::message_store, pst_desc_tree::parent_id, pst_desc_ll, pst_getDptr(), record_descriptor(), pst_item_message_store::top_of_personal_folder, and xmalloc(). Referenced by main(). |
Here is the call graph for this function:
|
Here is the call graph for this function:
|
Definition at line 476 of file libpst.c. References pst_file::d_head, DEBUG_CODE, DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_file::index1, pst_file::index1_back, pst_file::index2, pst_file::index2_back, pst_build_desc_ptr(), pst_build_id_ptr(), pst_printDptr(), and WARN. Referenced by main(). |
Here is the call graph for this function:
|
Definition at line 169 of file libpst.c. References DEBUG_ENT, DEBUG_INFO, DEBUG_RET, ENC_TYPE, FILE_SIZE_POINTER, INDEX_BACK, INDEX_POINTER, INDEX_TYPE32, INDEX_TYPE32A, INDEX_TYPE64, INDEX_TYPE64A, INDEX_TYPE_OFFSET, LE32_CPU, pst_getAtPos(), pst_getIntAtPos(), SECOND_BACK, SECOND_POINTER, unicode_init(), and WARN. Referenced by main(). |
Here is the call graph for this function:
|
Here is the call graph for this function:
|
Here is the call graph for this function:
|
Definition at line 4171 of file libpst.c. References pst_desc_tree::child, DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_desc_tree::desc, pst_desc_tree::id, pst_index_tree::id, pst_desc_tree::list_index, pst_desc_tree::next, pst_desc_tree::no_child, and pst_desc_ll. Referenced by pst_load_index(). |
|
Definition at line 4197 of file libpst.c. References pst_index2_tree::child, DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_index2_tree::id, pst_index_tree::id, pst_index2_tree::id2, pst_index2_tree::next, and pst_index2_ll. Referenced by pst_load_extended_attributes(), and pst_parse_item(). |
|
Definition at line 4186 of file libpst.c. References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_file::i_head, pst_index_tree::id, pst_index_tree::next, pst_index_tree::offset, pst_index_ll, and pst_index_tree::size. |
|
Here is the call graph for this function:
|
Read a block of data from file into memory.
Definition at line 4217 of file libpst.c. References DEBUG_ENT, DEBUG_READ, DEBUG_RET, DEBUG_WARN, pst_file::fp, pst_getAtPos(), and xmalloc(). Referenced by pst_build_desc_ptr(), pst_build_id2(), pst_build_id_ptr(), and pst_ff_getIDblock(). |
Here is the call graph for this function:
|
Definition at line 4748 of file libpst.c. References DEBUG_ENT, DEBUG_INFO, DEBUG_RET, and fileTimeToStructTM(). Referenced by write_vcard(). |
Here is the call graph for this function:
|
Definition at line 4680 of file libpst.c. References DEBUG_ENT, DEBUG_RET, and pst_chr_count(). Referenced by process(), write_appointment(), and write_vcard(). |
Here is the call graph for this function:
|
Definition at line 4761 of file libpst.c. References DEBUG_ENT, DEBUG_INFO, DEBUG_RET, and fileTimeToStructTM(). Referenced by process(), and write_appointment(). |
Here is the call graph for this function:
|
Definition at line 4616 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 4631 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 4662 of file libpst.c. References DEBUG_ENT, DEBUG_RET, and xmalloc(). Referenced by pst_load_extended_attributes(). |
Here is the call graph for this function:
|
add a pst descriptor node into the global tree.
Definition at line 295 of file libpst.c. References add_descriptor_to_list(), pst_desc_tree::child, pst_desc_tree::child_tail, pst_file::d_head, pst_file::d_tail, DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_desc_tree::id, pst_desc_tree::next, pst_desc_tree::no_child, pst_desc_tree::parent, pst_desc_tree::parent_id, pst_desc_tree::prev, pst_desc_ll, and pst_getDptr(). Referenced by pst_build_desc_ptr(), and pst_getTopOfFolders(). |
Here is the call graph for this function:
|
Initial value: { 0x47, 0xf1, 0xb4, 0xe6, 0x0b, 0x6a, 0x72, 0x48, 0x85, 0x4e, 0x9e, 0xeb, 0xe2, 0xf8, 0x94, 0x53, 0xe0, 0xbb, 0xa0, 0x02, 0xe8, 0x5a, 0x09, 0xab, 0xdb, 0xe3, 0xba, 0xc6, 0x7c, 0xc3, 0x10, 0xdd, 0x39, 0x05, 0x96, 0x30, 0xf5, 0x37, 0x60, 0x82, 0x8c, 0xc9, 0x13, 0x4a, 0x6b, 0x1d, 0xf3, 0xfb, 0x8f, 0x26, 0x97, 0xca, 0x91, 0x17, 0x01, 0xc4, 0x32, 0x2d, 0x6e, 0x31, 0x95, 0xff, 0xd9, 0x23, 0xd1, 0x00, 0x5e, 0x79, 0xdc, 0x44, 0x3b, 0x1a, 0x28, 0xc5, 0x61, 0x57, 0x20, 0x90, 0x3d, 0x83, 0xb9, 0x43, 0xbe, 0x67, 0xd2, 0x46, 0x42, 0x76, 0xc0, 0x6d, 0x5b, 0x7e, 0xb2, 0x0f, 0x16, 0x29, 0x3c, 0xa9, 0x03, 0x54, 0x0d, 0xda, 0x5d, 0xdf, 0xf6, 0xb7, 0xc7, 0x62, 0xcd, 0x8d, 0x06, 0xd3, 0x69, 0x5c, 0x86, 0xd6, 0x14, 0xf7, 0xa5, 0x66, 0x75, 0xac, 0xb1, 0xe9, 0x45, 0x21, 0x70, 0x0c, 0x87, 0x9f, 0x74, 0xa4, 0x22, 0x4c, 0x6f, 0xbf, 0x1f, 0x56, 0xaa, 0x2e, 0xb3, 0x78, 0x33, 0x50, 0xb0, 0xa3, 0x92, 0xbc, 0xcf, 0x19, 0x1c, 0xa7, 0x63, 0xcb, 0x1e, 0x4d, 0x3e, 0x4b, 0x1b, 0x9b, 0x4f, 0xe7, 0xf0, 0xee, 0xad, 0x3a, 0xb5, 0x59, 0x04, 0xea, 0x40, 0x55, 0x25, 0x51, 0xe5, 0x7a, 0x89, 0x38, 0x68, 0x52, 0x7b, 0xfc, 0x27, 0xae, 0xd7, 0xbd, 0xfa, 0x07, 0xf4, 0xcc, 0x8e, 0x5f, 0xef, 0x35, 0x9c, 0x84, 0x2b, 0x15, 0xd5, 0x77, 0x34, 0x49, 0xb6, 0x12, 0x0a, 0x7f, 0x71, 0x88, 0xfd, 0x9d, 0x18, 0x41, 0x7d, 0x93, 0xd8, 0x58, 0x2c, 0xce, 0xfe, 0x24, 0xaf, 0xde, 0xb8, 0x36, 0xc8, 0xa1, 0x80, 0xa6, 0x99, 0x98, 0xa8, 0x2f, 0x0e, 0x81, 0x65, 0x73, 0xe4, 0xc2, 0xa2, 0x8a, 0xd4, 0xe1, 0x11, 0xd0, 0x08, 0x8b, 0x2a, 0xf2, 0xed, 0x9a, 0x64, 0x3f, 0xc1, 0x6c, 0xf9, 0xec } |
|
Initial value: { 0x41, 0x36, 0x13, 0x62, 0xa8, 0x21, 0x6e, 0xbb, 0xf4, 0x16, 0xcc, 0x04, 0x7f, 0x64, 0xe8, 0x5d, 0x1e, 0xf2, 0xcb, 0x2a, 0x74, 0xc5, 0x5e, 0x35, 0xd2, 0x95, 0x47, 0x9e, 0x96, 0x2d, 0x9a, 0x88, 0x4c, 0x7d, 0x84, 0x3f, 0xdb, 0xac, 0x31, 0xb6, 0x48, 0x5f, 0xf6, 0xc4, 0xd8, 0x39, 0x8b, 0xe7, 0x23, 0x3b, 0x38, 0x8e, 0xc8, 0xc1, 0xdf, 0x25, 0xb1, 0x20, 0xa5, 0x46, 0x60, 0x4e, 0x9c, 0xfb, 0xaa, 0xd3, 0x56, 0x51, 0x45, 0x7c, 0x55, 0x00, 0x07, 0xc9, 0x2b, 0x9d, 0x85, 0x9b, 0x09, 0xa0, 0x8f, 0xad, 0xb3, 0x0f, 0x63, 0xab, 0x89, 0x4b, 0xd7, 0xa7, 0x15, 0x5a, 0x71, 0x66, 0x42, 0xbf, 0x26, 0x4a, 0x6b, 0x98, 0xfa, 0xea, 0x77, 0x53, 0xb2, 0x70, 0x05, 0x2c, 0xfd, 0x59, 0x3a, 0x86, 0x7e, 0xce, 0x06, 0xeb, 0x82, 0x78, 0x57, 0xc7, 0x8d, 0x43, 0xaf, 0xb4, 0x1c, 0xd4, 0x5b, 0xcd, 0xe2, 0xe9, 0x27, 0x4f, 0xc3, 0x08, 0x72, 0x80, 0xcf, 0xb0, 0xef, 0xf5, 0x28, 0x6d, 0xbe, 0x30, 0x4d, 0x34, 0x92, 0xd5, 0x0e, 0x3c, 0x22, 0x32, 0xe5, 0xe4, 0xf9, 0x9f, 0xc2, 0xd1, 0x0a, 0x81, 0x12, 0xe1, 0xee, 0x91, 0x83, 0x76, 0xe3, 0x97, 0xe6, 0x61, 0x8a, 0x17, 0x79, 0xa4, 0xb7, 0xdc, 0x90, 0x7a, 0x5c, 0x8c, 0x02, 0xa6, 0xca, 0x69, 0xde, 0x50, 0x1a, 0x11, 0x93, 0xb9, 0x52, 0x87, 0x58, 0xfc, 0xed, 0x1d, 0x37, 0x49, 0x1b, 0x6a, 0xe0, 0x29, 0x33, 0x99, 0xbd, 0x6c, 0xd9, 0x94, 0xf3, 0x40, 0x54, 0x6f, 0xf0, 0xc6, 0x73, 0xb8, 0xd6, 0x3e, 0x65, 0x18, 0x44, 0x1f, 0xdd, 0x67, 0x10, 0xf1, 0x0c, 0x19, 0xec, 0xae, 0x03, 0xa1, 0x14, 0x7b, 0xa9, 0x0b, 0xff, 0xf8, 0xa3, 0xc0, 0xa2, 0x01, 0xf7, 0x2e, 0xbc, 0x24, 0x68, 0x75, 0x0d, 0xfe, 0xba, 0x2f, 0xb5, 0xd0, 0xda, 0x3d } Definition at line 131 of file libpst.c. Referenced by pst_decrypt(). |
|
Initial value: { 0x14, 0x53, 0x0f, 0x56, 0xb3, 0xc8, 0x7a, 0x9c, 0xeb, 0x65, 0x48, 0x17, 0x16, 0x15, 0x9f, 0x02, 0xcc, 0x54, 0x7c, 0x83, 0x00, 0x0d, 0x0c, 0x0b, 0xa2, 0x62, 0xa8, 0x76, 0xdb, 0xd9, 0xed, 0xc7, 0xc5, 0xa4, 0xdc, 0xac, 0x85, 0x74, 0xd6, 0xd0, 0xa7, 0x9b, 0xae, 0x9a, 0x96, 0x71, 0x66, 0xc3, 0x63, 0x99, 0xb8, 0xdd, 0x73, 0x92, 0x8e, 0x84, 0x7d, 0xa5, 0x5e, 0xd1, 0x5d, 0x93, 0xb1, 0x57, 0x51, 0x50, 0x80, 0x89, 0x52, 0x94, 0x4f, 0x4e, 0x0a, 0x6b, 0xbc, 0x8d, 0x7f, 0x6e, 0x47, 0x46, 0x41, 0x40, 0x44, 0x01, 0x11, 0xcb, 0x03, 0x3f, 0xf7, 0xf4, 0xe1, 0xa9, 0x8f, 0x3c, 0x3a, 0xf9, 0xfb, 0xf0, 0x19, 0x30, 0x82, 0x09, 0x2e, 0xc9, 0x9d, 0xa0, 0x86, 0x49, 0xee, 0x6f, 0x4d, 0x6d, 0xc4, 0x2d, 0x81, 0x34, 0x25, 0x87, 0x1b, 0x88, 0xaa, 0xfc, 0x06, 0xa1, 0x12, 0x38, 0xfd, 0x4c, 0x42, 0x72, 0x64, 0x13, 0x37, 0x24, 0x6a, 0x75, 0x77, 0x43, 0xff, 0xe6, 0xb4, 0x4b, 0x36, 0x5c, 0xe4, 0xd8, 0x35, 0x3d, 0x45, 0xb9, 0x2c, 0xec, 0xb7, 0x31, 0x2b, 0x29, 0x07, 0x68, 0xa3, 0x0e, 0x69, 0x7b, 0x18, 0x9e, 0x21, 0x39, 0xbe, 0x28, 0x1a, 0x5b, 0x78, 0xf5, 0x23, 0xca, 0x2a, 0xb0, 0xaf, 0x3e, 0xfe, 0x04, 0x8c, 0xe7, 0xe5, 0x98, 0x32, 0x95, 0xd3, 0xf6, 0x4a, 0xe8, 0xa6, 0xea, 0xe9, 0xf3, 0xd5, 0x2f, 0x70, 0x20, 0xf2, 0x1f, 0x05, 0x67, 0xad, 0x55, 0x10, 0xce, 0xcd, 0xe3, 0x27, 0x3b, 0xda, 0xba, 0xd7, 0xc2, 0x26, 0xd4, 0x91, 0x1d, 0xd2, 0x1c, 0x22, 0x33, 0xf8, 0xfa, 0xf1, 0x5a, 0xef, 0xcf, 0x90, 0xb6, 0x8b, 0xb5, 0xbd, 0xc0, 0xbf, 0x08, 0x97, 0x1e, 0x6c, 0xe2, 0x61, 0xe0, 0xc6, 0xc1, 0x59, 0xab, 0xbb, 0x58, 0xde, 0x5f, 0xdf, 0x60, 0x79, 0x7e, 0xb2, 0x8a } Definition at line 150 of file libpst.c. Referenced by pst_decrypt(). |