comparison src/libpst.h @ 164:ab384fed78c5

Compensate for iconv conversion to utf-7 that produces strings that are not null terminated. Don't produce empty attachment files in separate mode.
author Carl Byington <carl@five-ten-sg.com>
date Mon, 16 Mar 2009 18:31:39 -0700
parents 581fab9f1dc7
children 40e9de445038
comparison
equal deleted inserted replaced
163:03fbb0269f3c 164:ab384fed78c5
125 int32_t u1; 125 int32_t u1;
126 } pst_index; 126 } pst_index;
127 127
128 128
129 typedef struct pst_index_tree32 { 129 typedef struct pst_index_tree32 {
130 uint32_t id; 130 uint32_t i_id;
131 uint32_t offset; 131 uint32_t offset;
132 uint32_t size; 132 uint32_t size;
133 int32_t u1; 133 int32_t u1;
134 struct pst_index_tree * next; 134 struct pst_index_tree * next;
135 } pst_index_ll32; 135 } pst_index_ll32;
136 136
137 137
138 typedef struct pst_index_tree { 138 typedef struct pst_index_tree {
139 uint64_t id; 139 uint64_t i_id;
140 uint64_t offset; 140 uint64_t offset;
141 uint64_t size; 141 uint64_t size;
142 int64_t u1; 142 int64_t u1;
143 struct pst_index_tree *next; 143 struct pst_index_tree *next;
144 } pst_index_ll; 144 } pst_index_ll;
403 pst_string mimetype; 403 pst_string mimetype;
404 char *data; 404 char *data;
405 size_t size; 405 size_t size;
406 uint64_t id2_val; 406 uint64_t id2_val;
407 /** calculated from id2_val during creation of record */ 407 /** calculated from id2_val during creation of record */
408 uint64_t id_val; 408 uint64_t i_id;
409 /** deep copy from child */ 409 /** deep copy from child */
410 pst_id2_ll *id2_head; 410 pst_id2_ll *id2_head;
411 /** 0=no attachment, 1=attach by value, 2=attach by reference, 3=attach by reference resolve, 4=attach by reference only, 5=embedded message, 6=OLE */ 411 /** 0=no attachment, 1=attach by value, 2=attach by reference, 3=attach by reference resolve, 4=attach by reference only, 5=embedded message, 6=OLE */
412 int32_t method; 412 int32_t method;
413 int32_t position; 413 int32_t position;
628 void pst_free_desc (pst_desc_ll *head); 628 void pst_free_desc (pst_desc_ll *head);
629 void pst_free_xattrib(pst_x_attrib_ll *x); 629 void pst_free_xattrib(pst_x_attrib_ll *x);
630 int pst_getBlockOffsetPointer(pst_file *pf, pst_id2_ll *i2_head, pst_subblocks *subblocks, uint32_t offset, pst_block_offset_pointer *p); 630 int pst_getBlockOffsetPointer(pst_file *pf, pst_id2_ll *i2_head, pst_subblocks *subblocks, uint32_t offset, pst_block_offset_pointer *p);
631 int pst_getBlockOffset(char *buf, size_t read_size, uint32_t i_offset, uint32_t offset, pst_block_offset *p); 631 int pst_getBlockOffset(char *buf, size_t read_size, uint32_t i_offset, uint32_t offset, pst_block_offset *p);
632 pst_id2_ll* pst_build_id2(pst_file *pf, pst_index_ll* list); 632 pst_id2_ll* pst_build_id2(pst_file *pf, pst_index_ll* list);
633 pst_index_ll* pst_getID(pst_file* pf, uint64_t id); 633 pst_index_ll* pst_getID(pst_file* pf, uint64_t i_id);
634 pst_id2_ll* pst_getID2(pst_id2_ll * ptr, uint64_t id); 634 pst_id2_ll* pst_getID2(pst_id2_ll * ptr, uint64_t id);
635 pst_desc_ll* pst_getDptr(pst_file *pf, uint64_t id); 635 pst_desc_ll* pst_getDptr(pst_file *pf, uint64_t d_id);
636 size_t pst_read_block_size(pst_file *pf, int64_t offset, size_t size, char **buf); 636 size_t pst_read_block_size(pst_file *pf, int64_t offset, size_t size, char **buf);
637 int pst_decrypt(uint64_t id, char *buf, size_t size, unsigned char type); 637 int pst_decrypt(uint64_t id, char *buf, size_t size, unsigned char type);
638 uint64_t pst_getIntAt(pst_file *pf, char *buf); 638 uint64_t pst_getIntAt(pst_file *pf, char *buf);
639 uint64_t pst_getIntAtPos(pst_file *pf, int64_t pos); 639 uint64_t pst_getIntAtPos(pst_file *pf, int64_t pos);
640 size_t pst_getAtPos(pst_file *pf, int64_t pos, void* buf, size_t size); 640 size_t pst_getAtPos(pst_file *pf, int64_t pos, void* buf, size_t size);