Main Page | Namespace List | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

libpst.h File Reference

#include <stdint.h>
#include <inttypes.h>
#include <sys/param.h>

Include dependency graph for libpst.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Data Structures

struct  FILETIME
struct  pst_misc_6_struct
struct  pst_entryid_struct
struct  pst_desc_struct32
struct  pst_desc_structn
struct  pst_index_struct32
struct  pst_index_struct
struct  pst_index_tree32
struct  pst_index_tree
struct  pst_index2_tree
struct  pst_desc_tree
struct  pst_item_email_subject
struct  pst_item_email
struct  pst_item_folder
struct  pst_item_message_store
struct  pst_item_contact
struct  pst_item_attach
struct  pst_item_extra_field
struct  pst_item_journal
struct  pst_item_appointment
struct  pst_item
struct  pst_x_attrib_ll
struct  pst_block_recorder
struct  pst_file
struct  pst_block_offset
struct  pst_block_offset_pointer
struct  pst_num_item
struct  pst_num_array
struct  pst_holder
struct  pst_subblock
struct  pst_subblocks

Defines

#define LE64_CPU(x)
#define LE32_CPU(x)
#define LE16_CPU(x)
#define PST_TYPE_NOTE   1
#define PST_TYPE_APPOINTMENT   8
#define PST_TYPE_CONTACT   9
#define PST_TYPE_JOURNAL   10
#define PST_TYPE_STICKYNOTE   11
#define PST_TYPE_TASK   12
#define PST_TYPE_OTHER   13
#define PST_TYPE_REPORT   14
#define PST_NO_ENC   0
#define PST_ENC   1
#define PST_NO_ENCRYPT   0
#define PST_COMP_ENCRYPT   1
#define PST_ENCRYPT   2
#define PST_MAP_ATTRIB   (uint32_t)1
#define PST_MAP_HEADER   (uint32_t)2
#define PST_ATTRIB_HEADER   -1
#define PST_FREEBUSY_FREE   0
#define PST_FREEBUSY_TENTATIVE   1
#define PST_FREEBUSY_BUSY   2
#define PST_FREEBUSY_OUT_OF_OFFICE   3
#define PST_APP_LABEL_NONE   0
#define PST_APP_LABEL_IMPORTANT   1
#define PST_APP_LABEL_BUSINESS   2
#define PST_APP_LABEL_PERSONAL   3
#define PST_APP_LABEL_VACATION   4
#define PST_APP_LABEL_MUST_ATTEND   5
#define PST_APP_LABEL_TRAVEL_REQ   6
#define PST_APP_LABEL_NEEDS_PREP   7
#define PST_APP_LABEL_BIRTHDAY   8
#define PST_APP_LABEL_ANNIVERSARY   9
#define PST_APP_LABEL_PHONE_CALL   10
#define PST_APP_RECUR_NONE   0
#define PST_APP_RECUR_DAILY   1
#define PST_APP_RECUR_WEEKLY   2
#define PST_APP_RECUR_MONTHLY   3
#define PST_APP_RECUR_YEARLY   4

Typedefs

typedef pst_misc_6_struct pst_misc_6
typedef pst_entryid_struct pst_entryid
typedef pst_desc_struct32 pst_desc32
typedef pst_desc_structn pst_descn
typedef pst_index_struct32 pst_index32
typedef pst_index_struct pst_index
typedef pst_index_tree32 pst_index_ll32
typedef pst_index_tree pst_index_ll
typedef pst_index2_tree pst_index2_ll
typedef pst_desc_tree pst_desc_ll
typedef pst_item_email_subject pst_item_email_subject
typedef pst_item_email pst_item_email
typedef pst_item_folder pst_item_folder
typedef pst_item_message_store pst_item_message_store
typedef pst_item_contact pst_item_contact
typedef pst_item_attach pst_item_attach
typedef pst_item_extra_field pst_item_extra_field
typedef pst_item_journal pst_item_journal
typedef pst_item_appointment pst_item_appointment
typedef pst_item pst_item
typedef pst_x_attrib_ll pst_x_attrib_ll
typedef pst_block_recorder pst_block_recorder
typedef pst_file pst_file
typedef pst_block_offset pst_block_offset
typedef pst_block_offset_pointer pst_block_offset_pointer
typedef pst_num_item pst_num_item
typedef pst_num_array pst_num_array
typedef pst_holder pst_holder
typedef pst_subblock pst_subblock
typedef pst_subblocks pst_subblocks

Functions

int pst_open (pst_file *pf, char *name)
int pst_close (pst_file *pf)
pst_desc_llpst_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_llpst_getNextDptr (pst_desc_ll *d)
int pst_load_extended_attributes (pst_file *pf)
int pst_build_id_ptr (pst_file *pf, off_t offset, int32_t depth, uint64_t linku1, uint64_t start_val, uint64_t end_val)
int pst_build_desc_ptr (pst_file *pf, off_t offset, int32_t depth, uint64_t linku1, uint64_t start_val, uint64_t end_val)
pst_itempst_getItem (pst_file *pf, pst_desc_ll *d_ptr)
pst_itempst_parse_item (pst_file *pf, pst_desc_ll *d_ptr)
pst_num_arraypst_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_freeItem (pst_item *item)
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)
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_index2_llpst_build_id2 (pst_file *pf, pst_index_ll *list, pst_index2_ll *head_ptr)
pst_index_llpst_getID (pst_file *pf, uint64_t id)
pst_index_llpst_getID2 (pst_index2_ll *ptr, uint64_t id)
pst_desc_llpst_getDptr (pst_file *pf, uint64_t id)
 find the id in the descriptor tree rooted at pf->d_head
size_t pst_read_block_size (pst_file *pf, off_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, off_t pos)
size_t pst_getAtPos (pst_file *pf, off_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 **b)
 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 **b)
 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_strincmp (char *a, char *b, size_t x)
int pst_stricmp (char *a, char *b)
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)
void pst_printDptr (pst_file *pf, pst_desc_ll *ptr)
void pst_printIDptr (pst_file *pf)
void pst_printID2ptr (pst_index2_ll *ptr)


Define Documentation

#define LE16_CPU  ) 
 

Value:

x = ((((x) & 0xff00) >> 8) | \
       (((x) & 0x00ff) << 8));

Definition at line 49 of file libpst.h.

Referenced by lzfu_decompress(), pst_build_id2(), pst_decode_index(), pst_ff_compile_ID(), pst_getBlockOffset(), pst_load_extended_attributes(), pst_parse_block(), and pst_process().

#define LE32_CPU  ) 
 

Value:

x = ((((x) & 0xff000000) >> 24) | \
       (((x) & 0x00ff0000) >> 8 ) | \
       (((x) & 0x0000ff00) << 8 ) | \
       (((x) & 0x000000ff) << 24));

Definition at line 44 of file libpst.h.

Referenced by lzfu_decompress(), pst_decode_assoc(), pst_decode_desc(), pst_decode_index(), pst_decode_table(), pst_decode_type3(), pst_ff_compile_ID(), pst_getIntAt(), pst_getIntAtPos(), pst_load_extended_attributes(), pst_open(), pst_parse_block(), and pst_process().

#define LE64_CPU  ) 
 

Value:

x = ((((x) & UINT64_C(0xff00000000000000)) >> 56) | \
       (((x) & UINT64_C(0x00ff000000000000)) >> 40) | \
       (((x) & UINT64_C(0x0000ff0000000000)) >> 24) | \
       (((x) & UINT64_C(0x000000ff00000000)) >> 8 ) | \
       (((x) & UINT64_C(0x00000000ff000000)) << 8 ) | \
       (((x) & UINT64_C(0x0000000000ff0000)) << 24) | \
       (((x) & UINT64_C(0x000000000000ff00)) << 40) | \
       (((x) & UINT64_C(0x00000000000000ff)) << 56));

Definition at line 35 of file libpst.h.

Referenced by pst_decode_assoc(), pst_decode_desc(), pst_decode_index(), pst_decode_table(), pst_decode_type3(), pst_getIntAt(), and pst_getIntAtPos().

#define PST_APP_LABEL_ANNIVERSARY   9
 

Definition at line 102 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_BIRTHDAY   8
 

Definition at line 101 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_BUSINESS   2
 

Definition at line 95 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_IMPORTANT   1
 

Definition at line 94 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_MUST_ATTEND   5
 

Definition at line 98 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_NEEDS_PREP   7
 

Definition at line 100 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_NONE   0
 

Definition at line 93 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_PERSONAL   3
 

Definition at line 96 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_PHONE_CALL   10
 

Definition at line 103 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_TRAVEL_REQ   6
 

Definition at line 99 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_LABEL_VACATION   4
 

Definition at line 97 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_APP_RECUR_DAILY   1
 

Definition at line 107 of file libpst.h.

Referenced by pst_process().

#define PST_APP_RECUR_MONTHLY   3
 

Definition at line 109 of file libpst.h.

Referenced by pst_process().

#define PST_APP_RECUR_NONE   0
 

Definition at line 106 of file libpst.h.

#define PST_APP_RECUR_WEEKLY   2
 

Definition at line 108 of file libpst.h.

Referenced by pst_process().

#define PST_APP_RECUR_YEARLY   4
 

Definition at line 110 of file libpst.h.

Referenced by pst_process().

#define PST_ATTRIB_HEADER   -1
 

Definition at line 84 of file libpst.h.

Referenced by pst_process().

#define PST_COMP_ENCRYPT   1
 

Definition at line 76 of file libpst.h.

Referenced by main().

#define PST_ENC   1
 

Definition at line 72 of file libpst.h.

#define PST_ENCRYPT   2
 

Definition at line 77 of file libpst.h.

#define PST_FREEBUSY_BUSY   2
 

Definition at line 89 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_FREEBUSY_FREE   0
 

Definition at line 87 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_FREEBUSY_OUT_OF_OFFICE   3
 

Definition at line 90 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_FREEBUSY_TENTATIVE   1
 

Definition at line 88 of file libpst.h.

Referenced by pst_process(), and write_appointment().

#define PST_MAP_ATTRIB   (uint32_t)1
 

Definition at line 80 of file libpst.h.

#define PST_MAP_HEADER   (uint32_t)2
 

Definition at line 81 of file libpst.h.

#define PST_NO_ENC   0
 

Definition at line 71 of file libpst.h.

#define PST_NO_ENCRYPT   0
 

Definition at line 75 of file libpst.h.

#define PST_TYPE_APPOINTMENT   8
 

Definition at line 62 of file libpst.h.

#define PST_TYPE_CONTACT   9
 

Definition at line 63 of file libpst.h.

#define PST_TYPE_JOURNAL   10
 

Definition at line 64 of file libpst.h.

#define PST_TYPE_NOTE   1
 

Definition at line 61 of file libpst.h.

Referenced by process().

#define PST_TYPE_OTHER   13
 

Definition at line 67 of file libpst.h.

#define PST_TYPE_REPORT   14
 

Definition at line 68 of file libpst.h.

Referenced by process().

#define PST_TYPE_STICKYNOTE   11
 

Definition at line 65 of file libpst.h.

#define PST_TYPE_TASK   12
 

Definition at line 66 of file libpst.h.


Typedef Documentation

typedef struct pst_block_offset pst_block_offset
 

typedef struct pst_block_offset_pointer pst_block_offset_pointer
 

typedef struct pst_block_recorder pst_block_recorder
 

typedef struct pst_desc_struct32 pst_desc32
 

Referenced by pst_decode_desc().

typedef struct pst_desc_tree pst_desc_ll
 

Referenced by add_descriptor_to_list(), main(), process(), pst_build_desc_ptr(), pst_free_desc(), pst_getDptr(), pst_getNextDptr(), pst_getTopOfFolders(), pst_load_extended_attributes(), pst_parse_item(), pst_printDptr(), and record_descriptor().

typedef struct pst_desc_structn pst_descn
 

Referenced by pst_build_desc_ptr(), and pst_decode_desc().

typedef struct pst_entryid_struct pst_entryid
 

Referenced by pst_process().

typedef struct pst_file pst_file
 

typedef struct pst_holder pst_holder
 

typedef struct pst_index_struct pst_index
 

Referenced by pst_build_id_ptr(), and pst_decode_index().

typedef struct pst_index2_tree pst_index2_ll
 

Referenced by pst_build_id2(), pst_ff_getID2block(), pst_free_id2(), pst_getBlockOffsetPointer(), pst_getID2(), pst_load_extended_attributes(), pst_parse_block(), pst_parse_item(), and pst_printID2ptr().

typedef struct pst_index_struct32 pst_index32
 

Referenced by pst_decode_index().

typedef struct pst_index_tree pst_index_ll
 

Referenced by main(), pst_attach_to_file(), pst_attach_to_file_base64(), pst_attach_to_mem(), pst_build_id2(), pst_build_id_ptr(), pst_ff_getID2block(), pst_ff_getID2data(), pst_ff_getIDblock(), pst_free_id(), pst_getID(), pst_getID2(), pst_parse_item(), and pst_printIDptr().

typedef struct pst_index_tree32 pst_index_ll32
 

typedef struct pst_item pst_item
 

Referenced by pst_parse_item().

typedef struct pst_item_appointment pst_item_appointment
 

typedef struct pst_item_attach pst_item_attach
 

Referenced by pst_parse_item(), and write_normal_email().

typedef struct pst_item_contact pst_item_contact
 

typedef struct pst_item_email pst_item_email
 

typedef struct pst_item_email_subject pst_item_email_subject
 

Referenced by pst_process().

typedef struct pst_item_extra_field pst_item_extra_field
 

Referenced by pst_process().

typedef struct pst_item_folder pst_item_folder
 

typedef struct pst_item_journal pst_item_journal
 

typedef struct pst_item_message_store pst_item_message_store
 

typedef struct pst_misc_6_struct pst_misc_6
 

typedef struct pst_num_array pst_num_array
 

Referenced by pst_parse_block().

typedef struct pst_num_item pst_num_item
 

Referenced by pst_parse_block().

typedef struct pst_subblock pst_subblock
 

typedef struct pst_subblocks pst_subblocks
 

typedef struct pst_x_attrib_ll pst_x_attrib_ll
 


Function Documentation

size_t pst_attach_to_file pst_file pf,
pst_item_attach attach,
FILE *  fp
 

Definition at line 393 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:

size_t pst_attach_to_file_base64 pst_file pf,
pst_item_attach attach,
FILE *  fp
 

Definition at line 422 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:

size_t pst_attach_to_mem pst_file pf,
pst_item_attach attach,
char **  b
 

Definition at line 371 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:

int pst_build_desc_ptr pst_file pf,
off_t  offset,
int32_t  depth,
uint64_t  linku1,
uint64_t  start_val,
uint64_t  end_val
 

Definition at line 922 of file libpst.c.

References BACKLINK_OFFSET, DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_INDEX, DEBUG_RET, DEBUG_WARN, pst_desc_tree::desc, DESC_BLOCK_SIZE, DESC_COUNT_MAX, DESC_SIZE32, pst_desc_tree::id, INDEX_COUNT_MAX, ITEM_SIZE32, pst_desc_tree::list_index, pst_table_ptr_structn::offset, pst_desc_tree::parent_id, pst_decode_desc(), pst_decode_table(), pst_desc_ll, pst_descn, pst_getID(), pst_getIntAt(), pst_read_block_size(), record_descriptor(), pst_table_ptr_structn::start, pst_table_ptr_structn::u1, and xmalloc().

Referenced by pst_load_index().

Here is the call graph for this function:

pst_index2_ll* pst_build_id2 pst_file pf,
pst_index_ll list,
pst_index2_ll head_ptr
 

Definition at line 3606 of file libpst.c.

References DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_INDEX, DEBUG_RET, DEBUG_WARN, pst_file::do_read64, pst_index2_tree::id, pst_id2_assoc::id, pst_index_tree::id, pst_index2_tree::id2, pst_id2_assoc::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:

int pst_build_id_ptr pst_file pf,
off_t  offset,
int32_t  depth,
uint64_t  linku1,
uint64_t  start_val,
uint64_t  end_val
 

Definition at line 809 of file libpst.c.

References BACKLINK_OFFSET, BLOCK_SIZE, DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_INDEX, DEBUG_RET, DEBUG_WARN, pst_file::i_head, pst_file::i_tail, pst_index_struct::id, INDEX_COUNT_MAX, ITEM_SIZE32, pst_index_tree::next, pst_table_ptr_structn::offset, pst_index_struct::offset, pst_decode_index(), pst_decode_table(), pst_getIntAt(), pst_index, pst_index_ll, pst_read_block_size(), pst_index_struct::size, pst_table_ptr_structn::start, pst_table_ptr_structn::u1, pst_index_struct::u1, and xmalloc().

Referenced by pst_load_index().

Here is the call graph for this function:

int pst_chr_count char *  str,
char  x
 

Definition at line 4613 of file libpst.c.

Referenced by pst_rfc2426_escape().

int pst_close pst_file pf  ) 
 

Definition at line 229 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:

int pst_decrypt uint64_t  id,
char *  buf,
size_t  size,
unsigned char  type
 

Definition at line 4120 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().

size_t pst_ff_compile_ID pst_file pf,
uint64_t  id,
pst_holder h,
size_t  size
 

Definition at line 4344 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:

size_t pst_ff_getID2block pst_file pf,
uint64_t  id2,
pst_index2_ll id2_head,
char **  buf
 

Definition at line 4294 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:

size_t pst_ff_getID2data pst_file pf,
pst_index_ll ptr,
pst_holder h
 

Definition at line 4312 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:

size_t pst_ff_getIDblock pst_file pf,
uint64_t  id,
char **  buf
 

Read a block of data from file into memory.

Parameters:
pf PST file
id identifier of block to read
buf reference to pointer to buffer. If this pointer is non-NULL, it will first be free()d
Returns:
size of block read into memory

Definition at line 4276 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:

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.

Parameters:
pf PST file structure
id ID of block to retrieve
buf Reference to pointer that will be set to new block. Any memory pointed to by buffer will be free()d beforehand
Returns:
Size of block pointed to by *b

Definition at line 4253 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:

void pst_free_desc pst_desc_ll head  ) 
 

Definition at line 3569 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().

void pst_free_id pst_index_ll head  ) 
 

Definition at line 3557 of file libpst.c.

References DEBUG_ENT, DEBUG_RET, pst_index_tree::next, and pst_index_ll.

Referenced by pst_close().

void pst_free_id2 pst_index2_ll head  ) 
 

Definition at line 3545 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().

void pst_free_list pst_num_array list  ) 
 

Definition at line 3523 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().

void pst_free_xattrib pst_x_attrib_ll x  ) 
 

Definition at line 3593 of file libpst.c.

References pst_x_attrib_ll::data, DEBUG_ENT, DEBUG_RET, and pst_x_attrib_ll::next.

Referenced by pst_close().

void pst_freeItem pst_item item  ) 
 

Definition at line 3693 of file libpst.c.

References pst_item_contact::access_method, pst_item_contact::account_name, pst_item_contact::address1, pst_item_contact::address1_desc, pst_item_contact::address1_transport, pst_item_contact::address1a, pst_item_contact::address2, pst_item_contact::address2_desc, pst_item_contact::address2_transport, pst_item_contact::address2a, pst_item_contact::address3, pst_item_contact::address3_desc, pst_item_contact::address3_transport, pst_item_contact::address3a, pst_item_appointment::alarm_filename, pst_item::appointment, pst_item_email::arrival_date, pst_item::ascii_type, pst_item_contact::assistant_name, pst_item_contact::assistant_phone, pst_item::attach, pst_item_email::bcc_address, pst_item_contact::billing_information, pst_item_contact::birthday, pst_item_email::body, pst_item_contact::business_address, pst_item_contact::business_city, pst_item_contact::business_country, pst_item_contact::business_fax, pst_item_contact::business_homepage, pst_item_contact::business_phone, pst_item_contact::business_phone2, pst_item_contact::business_po_box, pst_item_contact::business_postal_code, pst_item_contact::business_state, pst_item_contact::business_street, pst_item_contact::callback_phone, pst_item_contact::car_phone, pst_item_email::cc_address, pst_item::comment, pst_item_email::common_name, pst_item_message_store::common_view_folder, pst_item_contact::company_main_phone, pst_item_contact::company_name, pst_item_contact::computer_name, pst_item::contact, pst_item::create_date, pst_item_contact::customer_id, pst_item_attach::data, DEBUG_ENT, DEBUG_RET, pst_item_contact::def_postal_address, pst_item_message_store::default_outbox_folder, pst_item_message_store::deleted_items_folder, pst_item_contact::department, pst_item_contact::display_name_prefix, pst_item::email, pst_item_email::encrypted_body, pst_item_email::encrypted_htmlbody, pst_item_appointment::end, pst_item_journal::end, pst_item::extra_fields, pst_item_extra_field::field_name, pst_item::file_as, pst_item_attach::filename1, pst_item_attach::filename2, pst_item_contact::first_name, pst_item::folder, pst_item_contact::followup, pst_item_contact::free_busy_address, pst_item_contact::ftp_site, pst_item_contact::fullname, pst_item_contact::gov_id, pst_item_email::header, pst_item_contact::hobbies, pst_item_contact::home_address, pst_item_contact::home_city, pst_item_contact::home_country, pst_item_contact::home_fax, pst_item_contact::home_phone, pst_item_contact::home_phone2, pst_item_contact::home_po_box, pst_item_contact::home_postal_code, pst_item_contact::home_state, pst_item_contact::home_street, pst_item_email::htmlbody, pst_item_email::in_reply_to, pst_item_contact::initials, pst_item_contact::isdn_phone, pst_item_contact::job_title, pst_item::journal, pst_item_contact::keyword, pst_item_contact::language, pst_item_appointment::location, pst_item_contact::location, pst_item_contact::manager_name, pst_item::message_store, pst_item_email::messageid, pst_item_contact::middle_name, pst_item_contact::mileage, pst_item_attach::mimetype, pst_item_contact::mobile_phone, pst_item::modify_date, pst_item_extra_field::next, pst_item_attach::next, pst_item_contact::nickname, pst_item_contact::office_loc, pst_item_contact::org_id, pst_item_email::original_bcc, pst_item_email::original_cc, pst_item_email::original_to, pst_item_contact::other_address, pst_item_contact::other_city, pst_item_contact::other_country, pst_item_contact::other_phone, pst_item_contact::other_po_box, pst_item_contact::other_postal_code, pst_item_contact::other_state, pst_item_contact::other_street, pst_item_email::outlook_recipient, pst_item_email::outlook_recipient2, pst_item_email::outlook_recipient_name, pst_item_email::outlook_sender, pst_item_email::outlook_sender2, pst_item_email::outlook_sender_name, pst_item::outlook_version, pst_item_contact::pager_phone, pst_item_contact::personal_homepage, pst_item_contact::pref_name, pst_item_contact::primary_fax, pst_item_contact::primary_phone, pst_item_email::proc_subject, pst_item_contact::profession, pst_item_contact::radio_phone, pst_item_email::recip2_access, pst_item_email::recip2_address, pst_item_email::recip_access, pst_item_email::recip_address, pst_item::record_key, pst_item_appointment::recurrence, pst_item_appointment::recurrence_end, pst_item_appointment::recurrence_start, pst_item_appointment::reminder, pst_item_email::reply_to, pst_item_email::return_path_address, pst_item_email::rtf_body_tag, pst_item_email::rtf_compressed, SAFE_FREE, pst_item_message_store::search_root_folder, pst_item_email::sender2_access, pst_item_email::sender2_address, pst_item_email::sender_access, pst_item_email::sender_address, pst_item_email::sent_date, pst_item_message_store::sent_items_folder, pst_item_email::sentmail_folder, pst_item_email::sentto_address, pst_item_contact::spouse_name, pst_item_appointment::start, pst_item_journal::start, pst_item_email_subject::subj, pst_item_email::subject, pst_item_contact::suffix, pst_item_contact::surname, pst_item_contact::telex, pst_item_appointment::timezonestring, pst_item_message_store::top_of_folder, pst_item_message_store::top_of_personal_folder, pst_item_contact::transmittable_display_name, pst_item_contact::ttytdd_phone, pst_item_journal::type, pst_item_message_store::user_views_folder, pst_item_extra_field::value, pst_item_contact::wedding_anniversary, pst_item_contact::work_address_city, pst_item_contact::work_address_country, pst_item_contact::work_address_postalcode, pst_item_contact::work_address_postofficebox, pst_item_contact::work_address_state, and pst_item_contact::work_address_street.

Referenced by main(), process(), and pst_parse_item().

size_t pst_fwrite const void *  ptr,
size_t  size,
size_t  nmemb,
FILE *  stream
 

Definition at line 4523 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().

size_t pst_getAtPos pst_file pf,
off_t  pos,
void *  buf,
size_t  size
 

Read part of the pst file.

Parameters:
pf PST file structure
pos offset of the data in the pst file
buf buffer to contain the data
size size of the buffer and the amount of data to be read
Returns:
actual read size, 0 if seek error

Definition at line 4209 of file libpst.c.

References DEBUG_ENT, DEBUG_RET, and pst_file::fp.

Referenced by pst_getIntAtPos(), pst_open(), and pst_read_block_size().

int pst_getBlockOffset char *  buf,
size_t  read_size,
uint32_t  i_offset,
uint32_t  offset,
pst_block_offset p
 

Definition at line 3954 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().

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.

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 3907 of file libpst.c.

References pst_subblock::buf, DEBUG_ENT, DEBUG_RET, DEBUG_WARN, pst_block_offset::from, pst_block_offset_pointer::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::to, and pst_block_offset_pointer::to.

Referenced by pst_parse_block().

Here is the call graph for this function:

pst_desc_ll* pst_getDptr pst_file pf,
uint64_t  id
 

find the id in the descriptor tree rooted at pf->d_head

Parameters:
pf global pst file pointer
id the id we are looking for
Returns:
pointer to the pst_desc_ll node in the descriptor tree

Definition at line 4028 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().

pst_index_ll* pst_getID pst_file pf,
uint64_t  id
 

Definition at line 3978 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().

pst_index_ll* pst_getID2 pst_index2_ll ptr,
uint64_t  id
 

Definition at line 4002 of file libpst.c.

References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_index_tree::id, pst_index2_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().

uint64_t pst_getIntAt pst_file pf,
char *  buf
 

Definition at line 4168 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().

uint64_t pst_getIntAtPos pst_file pf,
off_t  pos
 

Definition at line 4184 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:

pst_item* pst_getItem pst_file pf,
pst_desc_ll d_ptr
 

pst_desc_ll* pst_getNextDptr pst_desc_ll d  ) 
 

Definition at line 481 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().

pst_desc_ll* pst_getTopOfFolders pst_file pf,
pst_item root
 

Definition at line 339 of file libpst.c.

References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_desc_tree::desc, pst_desc_tree::id, pst_entryid_struct::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:

int pst_load_extended_attributes pst_file pf  ) 
 

Definition at line 502 of file libpst.c.

References pst_num_array::count_item, pst_x_attrib_ll::data, pst_num_item::data, DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, DEBUG_WARN, pst_desc_tree::desc, pst_num_item::id, pst_index_tree::id, pst_num_array::items, LE16_CPU, LE32_CPU, pst_desc_tree::list_index, pst_x_attrib_ll::map, pst_x_attrib_ll::mytype, pst_x_attrib_ll::next, pst_build_id2(), pst_desc_ll, pst_free_id2(), pst_free_list(), pst_getDptr(), pst_index2_ll, pst_parse_block(), pst_printID2ptr(), pst_wide_to_single(), pst_num_item::size, pst_x_attrib_ll::type, pst_file::x_head, and xmalloc().

Referenced by main().

Here is the call graph for this function:

int pst_load_index pst_file pf  ) 
 

Definition at line 460 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:

int pst_open pst_file pf,
char *  name
 

Definition at line 158 of file libpst.c.

References DEBUG_ENT, DEBUG_INFO, DEBUG_RET, ENC_TYPE, FILE_SIZE_POINTER, INDEX_BACK, INDEX_POINTER, INDEX_TYPE32, INDEX_TYPE64, 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:

pst_num_array* pst_parse_block pst_file pf,
uint64_t  block_id,
pst_index2_ll i2_head,
pst_num_array na_head
 

Definition at line 1199 of file libpst.c.

References varbuf::b, pst_subblock::buf, pst_num_array::count_array, pst_num_array::count_item, pst_num_item::data, pst_x_attrib_ll::data, DEBUG_EMAIL, DEBUG_ENT, DEBUG_HEXDUMPC, DEBUG_INDEX, DEBUG_RET, DEBUG_WARN, varbuf::dlen, pst_num_item::extra, freeall(), pst_block_offset_pointer::from, pst_subblock::i_offset, pst_num_item::id, pst_table3_rec::id, pst_num_array::items, LE16_CPU, LE32_CPU, pst_x_attrib_ll::map, pst_x_attrib_ll::mytype, pst_block_offset_pointer::needfree, pst_x_attrib_ll::next, pst_num_array::next, pst_num_array::orig_count, pst_decode_type3(), pst_ff_getID2block(), pst_ff_getIDblock_dec(), pst_free_list(), pst_getBlockOffsetPointer(), pst_index2_ll, pst_num_array, pst_num_item, pst_subblock::read_size, pst_num_item::size, pst_subblocks::subblock_count, pst_subblocks::subs, pst_block_offset_pointer::to, pst_x_attrib_ll::type, pst_num_item::type, vb_utf16to8(), vballoc(), vbappend(), vbset(), vbuf, WARN, pst_file::x_head, and xmalloc().

Referenced by pst_load_extended_attributes(), and pst_parse_item().

Here is the call graph for this function:

pst_item* pst_parse_item pst_file pf,
pst_desc_ll d_ptr
 

Definition at line 1037 of file libpst.c.

References pst_item::attach, pst_num_array::count_array, DEBUG_EMAIL, DEBUG_ENT, DEBUG_RET, DEBUG_WARN, pst_desc_tree::desc, pst_index_tree::id, pst_item_attach::id2_val, pst_item_attach::id_val, pst_desc_tree::list_index, pst_item_attach::next, pst_build_id2(), pst_desc_ll, pst_free_id2(), pst_free_list(), pst_freeItem(), pst_getID2(), pst_index2_ll, pst_index_ll, pst_item, pst_item_attach, pst_parse_block(), pst_printID2ptr(), pst_process(), and xmalloc().

Referenced by main(), and process().

Here is the call graph for this function:

void pst_printDptr pst_file pf,
pst_desc_ll ptr
 

Definition at line 4047 of file libpst.c.

References pst_desc_tree::child, DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_desc_tree::desc, pst_index_tree::id, pst_desc_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().

void pst_printID2ptr pst_index2_ll ptr  ) 
 

Definition at line 4073 of file libpst.c.

References DEBUG_ENT, DEBUG_INDEX, DEBUG_RET, pst_index_tree::id, pst_index2_tree::id, pst_index2_tree::id2, pst_index2_tree::next, and pst_index2_ll.

Referenced by pst_load_extended_attributes(), and pst_parse_item().

void pst_printIDptr pst_file pf  ) 
 

Definition at line 4062 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.

int pst_process pst_num_array list,
pst_item item,
pst_item_attach attach
 

Definition at line 1705 of file libpst.c.

References pst_item_contact::account_name, pst_item_contact::address1, pst_item_contact::address1_desc, pst_item_contact::address1_transport, pst_item_contact::address1a, pst_item_contact::address2, pst_item_contact::address2_desc, pst_item_contact::address2_transport, pst_item_contact::address2a, pst_item_contact::address3, pst_item_contact::address3_desc, pst_item_contact::address3_transport, pst_item_contact::address3a, pst_item_appointment::alarm, pst_item_appointment::alarm_filename, pst_item_appointment::alarm_minutes, pst_item_appointment::all_day, pst_item::appointment, pst_item_email::arrival_date, pst_item::ascii_type, pst_item_contact::assistant_name, pst_item_contact::assistant_phone, pst_item_folder::assoc_count, pst_item_email::autoforward, pst_item_email::bcc_address, pst_item_contact::billing_information, pst_item_contact::birthday, pst_item_email::body, pst_item_contact::business_address, pst_item_contact::business_city, pst_item_contact::business_country, pst_item_contact::business_fax, pst_item_contact::business_homepage, pst_item_contact::business_phone, pst_item_contact::business_phone2, pst_item_contact::business_po_box, pst_item_contact::business_postal_code, pst_item_contact::business_state, pst_item_contact::business_street, pst_item_contact::callback_phone, pst_item_contact::car_phone, pst_item_email::cc_address, pst_item::comment, pst_item_email::common_name, pst_item_message_store::common_view_folder, pst_item_contact::company_main_phone, pst_item_contact::company_name, pst_item_contact::computer_name, pst_item::contact, pst_item_email::conv_index, pst_item_email::conversion_prohib, pst_num_array::count_item, pst_item::create_date, pst_item_contact::customer_id, pst_item_attach::data, pst_num_item::data, DEBUG_EMAIL, DEBUG_EMAIL_HEXPRINT, DEBUG_ENT, DEBUG_HEXDUMP, DEBUG_RET, pst_item_contact::def_postal_address, pst_item_message_store::default_outbox_folder, pst_item_email::delete_after_submit, pst_item_message_store::deleted_items_folder, pst_item_email::delivery_report, pst_item_contact::department, pst_item_contact::display_name_prefix, pst_item::email, pst_item_folder::email_count, pst_item_email::encrypted_body, pst_item_email::encrypted_body_size, pst_item_email::encrypted_htmlbody, pst_item_email::encrypted_htmlbody_size, pst_item_journal::end, pst_item_appointment::end, pst_entryid_struct::entryid, pst_num_item::extra, pst_item::extra_fields, pst_item_extra_field::field_name, pst_item::file_as, pst_item_attach::filename1, pst_item_attach::filename2, fileTimeToAscii(), pst_item_contact::first_name, pst_item_email::flag, pst_item::folder, pst_item_contact::followup, pst_item_contact::free_busy_address, pst_item_contact::ftp_site, pst_item_contact::fullname, pst_item_contact::gender, pst_item_contact::gov_id, pst_item_email::header, pst_item_contact::hobbies, pst_item_contact::home_address, pst_item_contact::home_city, pst_item_contact::home_country, pst_item_contact::home_fax, pst_item_contact::home_phone, pst_item_contact::home_phone2, pst_item_contact::home_po_box, pst_item_contact::home_postal_code, pst_item_contact::home_state, pst_item_contact::home_street, pst_item_email::htmlbody, pst_entryid_struct::id, pst_num_item::id, pst_item_attach::id2_val, pst_item_email::importance, pst_item_email::in_reply_to, pst_item_contact::initials, pst_item_contact::isdn_phone, pst_num_array::items, pst_item_contact::job_title, pst_item::journal, pst_item_contact::keyword, pst_item_appointment::label, pst_item_contact::language, LE16_CPU, LE32_CPU, LIST_COPY, LIST_COPY_SIZE, LIST_COPY_TIME, pst_item_appointment::location, pst_item_contact::location, pst_item_contact::mail_permission, MALLOC_APPOINTMENT, MALLOC_CONTACT, MALLOC_EMAIL, MALLOC_FOLDER, MALLOC_JOURNAL, MALLOC_MESSAGESTORE, pst_item_contact::manager_name, pst_item_email::message_cc_me, pst_item_email::message_recip_me, pst_item::message_size, pst_item::message_store, pst_item_email::message_to_me, pst_item_email::messageid, pst_item_attach::method, pst_item_contact::middle_name, pst_item_contact::mileage, pst_item_attach::mimetype, pst_item_contact::mobile_phone, pst_item::modify_date, MOVE_NEXT, pst_num_array::next, pst_item_extra_field::next, pst_item_contact::nickname, NULL_CHECK, pst_item_email_subject::off1, pst_item_email_subject::off2, pst_item_contact::office_loc, pst_item_contact::org_id, pst_item_email::orig_sensitivity, pst_item_email::original_bcc, pst_item_email::original_cc, pst_item_email::original_to, pst_item_contact::other_address, pst_item_contact::other_city, pst_item_contact::other_country, pst_item_contact::other_phone, pst_item_contact::other_po_box, pst_item_contact::other_postal_code, pst_item_contact::other_state, pst_item_contact::other_street, pst_item_email::outlook_recipient, pst_item_email::outlook_recipient2, pst_item_email::outlook_recipient_name, pst_item_email::outlook_sender, pst_item_email::outlook_sender2, pst_item_email::outlook_sender_name, pst_item::outlook_version, pst_item_contact::pager_phone, pst_item_contact::personal_homepage, pst_item_attach::position, pst_item_contact::pref_name, pst_item_contact::primary_fax, pst_item_contact::primary_phone, pst_item_email::priority, pst_item::private_member, pst_item_email::proc_subject, pst_item_contact::profession, PST_APP_LABEL_ANNIVERSARY, PST_APP_LABEL_BIRTHDAY, PST_APP_LABEL_BUSINESS, PST_APP_LABEL_IMPORTANT, PST_APP_LABEL_MUST_ATTEND, PST_APP_LABEL_NEEDS_PREP, PST_APP_LABEL_NONE, PST_APP_LABEL_PERSONAL, PST_APP_LABEL_PHONE_CALL, PST_APP_LABEL_TRAVEL_REQ, PST_APP_LABEL_VACATION, PST_APP_RECUR_DAILY, PST_APP_RECUR_MONTHLY, PST_APP_RECUR_WEEKLY, PST_APP_RECUR_YEARLY, PST_ATTRIB_HEADER, pst_entryid, PST_FREEBUSY_BUSY, PST_FREEBUSY_FREE, PST_FREEBUSY_OUT_OF_OFFICE, PST_FREEBUSY_TENTATIVE, pst_item_email_subject, pst_item_extra_field, pst_stricmp(), pst_strincmp(), pst_item_message_store::pwd_chksum, pst_item_contact::radio_phone, pst_item_email::read_receipt, pst_item_email::recip2_access, pst_item_email::recip2_address, pst_item_email::recip_access, pst_item_email::recip_address, pst_item::record_key, pst_item::record_key_size, pst_item_appointment::recurrence, pst_item_appointment::recurrence_end, pst_item_appointment::recurrence_start, pst_item_appointment::recurrence_type, pst_item_appointment::reminder, pst_item_email::reply_requested, pst_item_email::reply_to, pst_item::response_requested, pst_item_email::return_path_address, pst_item_contact::rich_text, pst_item_email::rtf_body_char_count, pst_item_email::rtf_body_crc, pst_item_email::rtf_body_tag, pst_item_email::rtf_compressed, pst_item_email::rtf_compressed_size, pst_item_email::rtf_in_sync, pst_item_email::rtf_ws_prefix_count, pst_item_email::rtf_ws_trailing_count, pst_item_message_store::search_root_folder, pst_item_email::sender2_access, pst_item_email::sender2_address, pst_item_email::sender_access, pst_item_email::sender_address, pst_item_email::sensitivity, pst_item_email::sent_date, pst_item_message_store::sent_items_folder, pst_item_email::sentmail_folder, pst_item_email::sentto_address, pst_item_attach::sequence, pst_item_appointment::showas, pst_item_attach::size, pst_num_item::size, pst_item_contact::spouse_name, pst_item_journal::start, pst_item_appointment::start, pst_item_folder::subfolder, pst_item_email_subject::subj, pst_item_email::subject, pst_item_contact::suffix, pst_item_contact::surname, pst_item_contact::telex, pst_item_appointment::timezonestring, pst_item_message_store::top_of_folder, pst_item_message_store::top_of_personal_folder, pst_item_contact::transmittable_display_name, pst_item_contact::ttytdd_phone, pst_item_journal::type, pst_item::type, pst_num_item::type, pst_entryid_struct::u1, pst_item_folder::unseen_email_count, pst_item_message_store::user_views_folder, pst_item_message_store::valid_mask, pst_item_extra_field::value, pst_item_contact::wedding_anniversary, pst_item_contact::work_address_city, pst_item_contact::work_address_country, pst_item_contact::work_address_postalcode, pst_item_contact::work_address_postofficebox, pst_item_contact::work_address_state, pst_item_contact::work_address_street, and xmalloc().

Referenced by pst_parse_item().

Here is the call graph for this function:

size_t pst_read_block_size pst_file pf,
off_t  offset,
size_t  size,
char **  buf
 

Read a block of data from file into memory.

Parameters:
pf PST file
offset offset in the pst file of the data
size size of the block to be read
buf reference to pointer to buffer. If this pointer is non-NULL, it will first be free()d
Returns:
size of block read into memory

Definition at line 4092 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:

char* pst_rfc2425_datetime_format FILETIME ft  ) 
 

Definition at line 4623 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:

char* pst_rfc2426_escape char *  str  ) 
 

Definition at line 4555 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:

char* pst_rfc2445_datetime_format FILETIME ft  ) 
 

Definition at line 4636 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:

int pst_stricmp char *  a,
char *  b
 

Definition at line 4491 of file libpst.c.

Referenced by pst_process().

int pst_strincmp char *  a,
char *  b,
size_t  x
 

Definition at line 4506 of file libpst.c.

Referenced by pst_process(), and write_normal_email().

char* pst_wide_to_single char *  wt,
size_t  size
 

Definition at line 4537 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:


Generated on Thu Dec 11 11:59:03 2008 for 'LibPst' by  doxygen 1.3.9.1