#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 | MOVE_NEXT(targ) |
#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_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) |
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) |
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, pst_index2_ll *head_ptr) |
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_index_ll * | pst_getID2 (pst_index2_ll *ptr, uint64_t id) |
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 666 of file libpst.c. Referenced by pst_build_desc_ptr(), and pst_build_id_ptr(). |
|
|
|
|
|
Definition at line 662 of file libpst.c. Referenced by pst_build_id_ptr(). |
|
Definition at line 663 of file libpst.c. Referenced by pst_build_desc_ptr(). |
|
Definition at line 670 of file libpst.c. Referenced by pst_build_desc_ptr(). |
|
|
|
|
|
|
|
Definition at line 650 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 669 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 649 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 1677 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 1690 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 1683 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1675 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1672 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1670 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1671 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1674 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1673 of file libpst.c. Referenced by pst_process(). |
|
Value: { \ if (next){\ if (!targ) {\ DEBUG_EMAIL(("MOVE_NEXT: Target is NULL. Will stop processing this option\n"));\ break;\ }\ targ = targ->next;\ if (!targ) {\ DEBUG_EMAIL(("MOVE_NEXT: Target is NULL after next. Will stop processing this option\n"));\ break;\ }\ next=0;\ }\ } Definition at line 1704 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 1702 of file libpst.c. Referenced by pst_process(). |
|
|
|
|
|
Definition at line 1666 of file libpst.c. Referenced by 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 269 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(). |
|
Definition at line 1185 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 404 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 433 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 382 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 3635 of file libpst.c. References 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 4643 of file libpst.c. Referenced by pst_rfc2426_escape(). |
|
Definition at line 240 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 769 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 674 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 737 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 708 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 797 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 4150 of file libpst.c. References comp_enc, comp_high1, comp_high2, DEBUG_ENT, DEBUG_RET, and WARN. Referenced by main(), pst_ff_compile_ID(), and pst_ff_getIDblock_dec(). |
|
Definition at line 4374 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 4324 of file libpst.c. References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_ff_getID2data(), pst_getID2(), pst_index2_ll, and pst_index_ll. Referenced by pst_getBlockOffsetPointer(), and pst_parse_block(). |
Here is the call graph for this function:
|
Definition at line 4342 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 4306 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 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 4283 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 3598 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 3586 of file libpst.c. References DEBUG_ENT, DEBUG_RET, pst_index_tree::next, and pst_index_ll. Referenced by pst_close(). |
|
Definition at line 3574 of file libpst.c. References DEBUG_ENT, DEBUG_RET, pst_index2_tree::next, and pst_index2_ll. Referenced by pst_load_extended_attributes(), and pst_parse_item(). |
|
Definition at line 3552 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 3622 of file libpst.c. References pst_x_attrib_ll::data, DEBUG_ENT, DEBUG_RET, and pst_x_attrib_ll::next. Referenced by pst_close(). |
|
|
Definition at line 4553 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 4239 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 3984 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 3937 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 4058 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 4008 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 main(), pst_attach_to_file(), pst_attach_to_file_base64(), pst_attach_to_mem(), pst_build_desc_ptr(), pst_build_id2(), and pst_ff_getIDblock(). |
|
Definition at line 4032 of file libpst.c. References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_index2_tree::id, pst_index_tree::id, pst_index2_tree::id2, pst_index2_tree::next, pst_index2_ll, and pst_index_ll. Referenced by pst_ff_getID2block(), and pst_parse_item(). |
|
Definition at line 4198 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 4214 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 492 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 main(). |
|
Definition at line 350 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 471 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 167 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 4077 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 4103 of file libpst.c. References 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 4092 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 4122 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 4653 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 4585 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 4666 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 4521 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 4536 of file libpst.c. Referenced by pst_process(). |
|
Definition at line 4567 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 293 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 129 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 148 of file libpst.c. Referenced by pst_decrypt(). |