Mercurial > libpst
diff src/libpst.h @ 35:b2f247463b83 stable-0-5-6
better decoding of 7c blocks
author | carl |
---|---|
date | Sun, 15 Jul 2007 14:25:34 -0700 |
parents | 07177825c91b |
children | 6fe121a971c9 |
line wrap: on
line diff
--- a/src/libpst.h Thu Jul 12 14:59:13 2007 -0700 +++ b/src/libpst.h Sun Jul 15 14:25:34 2007 -0700 @@ -126,7 +126,7 @@ typedef struct _pst_entryid_struct { int32_t u1; char entryid[16]; - int32_t id; + u_int32_t id; } pst_entryid; typedef struct _pst_desc_struct { @@ -152,7 +152,7 @@ } pst_index_ll; typedef struct _pst_index2_tree { - int32_t id2; + u_int32_t id2; pst_index_ll *id; struct _pst_index2_tree * next; } pst_index2_ll; @@ -432,8 +432,14 @@ int16_t to; } pst_block_offset; +typedef struct _pst_block_offset_pointer { + unsigned char *from; + unsigned char *to; + int needfree; +} pst_block_offset_pointer; + struct _pst_num_item { - int32_t id; + u_int32_t id; unsigned char *data; int32_t type; size_t size; @@ -467,7 +473,7 @@ int32_t pst_load_extended_attributes(pst_file *pf); int32_t _pst_build_id_ptr(pst_file *pf, int32_t offset, int32_t depth, int32_t linku1, u_int32_t start_val, u_int32_t end_val); -int32_t _pst_build_desc_ptr (pst_file *pf, int32_t offset, int32_t depth, int32_t linku1, u_int32_t *high_id, int32_t start_id, int32_t end_val); +int32_t _pst_build_desc_ptr (pst_file *pf, int32_t offset, int32_t depth, int32_t linku1, u_int32_t *high_id, u_int32_t start_id, u_int32_t end_val); pst_item* _pst_getItem(pst_file *pf, pst_desc_ll *d_ptr); void * _pst_parse_item (pst_file *pf, pst_desc_ll *d_ptr); pst_num_array * _pst_parse_block(pst_file *pf, u_int32_t block_id, pst_index2_ll *i2_head); @@ -478,6 +484,7 @@ int32_t _pst_free_id (pst_index_ll *head); int32_t _pst_free_desc (pst_desc_ll *head); int32_t _pst_free_xattrib(pst_x_attrib_ll *x); +int32_t _pst_getBlockOffsetPointer(pst_file *pf, pst_index2_ll *i2_head, unsigned char *buf, int32_t read_size, int32_t i_offset, int32_t offset, pst_block_offset_pointer *p); int32_t _pst_getBlockOffset(unsigned char *buf, int32_t read_size, int32_t i_offset, int32_t offset, pst_block_offset *p); pst_index2_ll * _pst_build_id2(pst_file *pf, pst_index_ll* list, pst_index2_ll* head_ptr); pst_index_ll * _pst_getID(pst_file* pf, u_int32_t id);