Mercurial > libpst
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); |