Mercurial > libpst
annotate src/libpst.h @ 250:c47bba52460f stable-0-6-47
Subpackage Licensing
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Wed, 07 Jul 2010 16:04:17 -0700 |
parents | 1d50ff3c5091 |
children | c947b8812120 97c53c6868ab |
rev | line source |
---|---|
16 | 1 /*** |
2 * libpst.h | |
3 * Part of LibPST project | |
4 * Written by David Smith | |
46 | 5 * dave.s@earthcorp.com |
16 | 6 */ |
7 // LibPST - Library for Accessing Outlook .pst files | |
8 // Dave Smith - davesmith@users.sourceforge.net | |
9 | |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
176
diff
changeset
|
10 #ifndef __PST_LIBPST_H |
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
176
diff
changeset
|
11 #define __PST_LIBPST_H |
16 | 12 |
132
5e4d6faada34
fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents:
130
diff
changeset
|
13 #include "common.h" |
130
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
14 |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
15 |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
16 // switch to maximal packing for all structures in the libpst interface |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
17 // this is reverted at the end of this file |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
18 #ifdef _MSC_VER |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
19 #pragma pack(push, 1) |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
20 #endif |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
21 #if defined(__GNUC__) || defined (__SUNPRO_C) || defined(__SUNPRO_CC) |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
22 #pragma pack(1) |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
23 #endif |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
24 |
16 | 25 |
79
56fa05fd5271
Patch from Robert Simpson for encryption type 2.
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
26 #define PST_TYPE_NOTE 1 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
27 #define PST_TYPE_SCHEDULE 2 |
16 | 28 #define PST_TYPE_APPOINTMENT 8 |
79
56fa05fd5271
Patch from Robert Simpson for encryption type 2.
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
29 #define PST_TYPE_CONTACT 9 |
56fa05fd5271
Patch from Robert Simpson for encryption type 2.
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
30 #define PST_TYPE_JOURNAL 10 |
16 | 31 #define PST_TYPE_STICKYNOTE 11 |
79
56fa05fd5271
Patch from Robert Simpson for encryption type 2.
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
32 #define PST_TYPE_TASK 12 |
56fa05fd5271
Patch from Robert Simpson for encryption type 2.
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
33 #define PST_TYPE_OTHER 13 |
56fa05fd5271
Patch from Robert Simpson for encryption type 2.
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
34 #define PST_TYPE_REPORT 14 |
16 | 35 |
36 // defines types of possible encryption | |
79
56fa05fd5271
Patch from Robert Simpson for encryption type 2.
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
37 #define PST_NO_ENCRYPT 0 |
16 | 38 #define PST_COMP_ENCRYPT 1 |
79
56fa05fd5271
Patch from Robert Simpson for encryption type 2.
Carl Byington <carl@five-ten-sg.com>
parents:
75
diff
changeset
|
39 #define PST_ENCRYPT 2 |
16 | 40 |
41 // defines different types of mappings | |
46 | 42 #define PST_MAP_ATTRIB (uint32_t)1 |
43 #define PST_MAP_HEADER (uint32_t)2 | |
16 | 44 |
45 // define my custom email attributes. | |
46 #define PST_ATTRIB_HEADER -1 | |
47 | |
48 // defines types of free/busy values for appointment->showas | |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
49 #define PST_FREEBUSY_FREE 0 |
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
50 #define PST_FREEBUSY_TENTATIVE 1 |
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
51 #define PST_FREEBUSY_BUSY 2 |
16 | 52 #define PST_FREEBUSY_OUT_OF_OFFICE 3 |
53 | |
54 // defines labels for appointment->label | |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
55 #define PST_APP_LABEL_NONE 0 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
56 #define PST_APP_LABEL_IMPORTANT 1 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
57 #define PST_APP_LABEL_BUSINESS 2 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
58 #define PST_APP_LABEL_PERSONAL 3 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
59 #define PST_APP_LABEL_VACATION 4 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
60 #define PST_APP_LABEL_MUST_ATTEND 5 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
61 #define PST_APP_LABEL_TRAVEL_REQ 6 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
62 #define PST_APP_LABEL_NEEDS_PREP 7 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
63 #define PST_APP_LABEL_BIRTHDAY 8 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
64 #define PST_APP_LABEL_ANNIVERSARY 9 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
65 #define PST_APP_LABEL_PHONE_CALL 10 |
16 | 66 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
67 // define type of recuring event |
50 | 68 #define PST_APP_RECUR_NONE 0 |
69 #define PST_APP_RECUR_DAILY 1 | |
70 #define PST_APP_RECUR_WEEKLY 2 | |
71 #define PST_APP_RECUR_MONTHLY 3 | |
72 #define PST_APP_RECUR_YEARLY 4 | |
73 | |
233
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
74 // define attachment types |
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
75 #define PST_ATTACH_NONE 0 |
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
76 #define PST_ATTACH_BY_VALUE 1 |
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
77 #define PST_ATTACH_BY_REF 2 |
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
78 #define PST_ATTACH_BY_REF_RESOLV 3 |
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
79 #define PST_ATTACH_BY_REF_ONLY 4 |
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
80 #define PST_ATTACH_EMBEDDED 5 |
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
81 #define PST_ATTACH_OLE 6 |
1d50ff3c5091
better rfc822 embedded message decoding
Carl Byington <carl@five-ten-sg.com>
parents:
214
diff
changeset
|
82 |
49 | 83 |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
84 typedef struct pst_entryid { |
49 | 85 int32_t u1; |
86 char entryid[16]; | |
87 uint32_t id; | |
16 | 88 } pst_entryid; |
89 | |
49 | 90 |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
91 typedef struct pst_index_ll { |
164
ab384fed78c5
Compensate for iconv conversion to utf-7 that produces strings that are not null terminated.
Carl Byington <carl@five-ten-sg.com>
parents:
154
diff
changeset
|
92 uint64_t i_id; |
49 | 93 uint64_t offset; |
94 uint64_t size; | |
95 int64_t u1; | |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
96 struct pst_index_ll *next; |
16 | 97 } pst_index_ll; |
98 | |
49 | 99 |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
100 typedef struct pst_id2_tree { |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
101 uint64_t id2; |
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
102 pst_index_ll *id; |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
103 struct pst_id2_tree *child; |
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
104 struct pst_id2_tree *next; |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
105 } pst_id2_tree; |
16 | 106 |
49 | 107 |
46 | 108 typedef struct pst_desc_tree { |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
109 uint64_t d_id; |
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
110 uint64_t parent_d_id; |
143
fdc58ad2c758
fix embedded rfc822 messages with attachments
Carl Byington <carl@five-ten-sg.com>
parents:
142
diff
changeset
|
111 pst_index_ll *desc; |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
112 pst_index_ll *assoc_tree; |
143
fdc58ad2c758
fix embedded rfc822 messages with attachments
Carl Byington <carl@five-ten-sg.com>
parents:
142
diff
changeset
|
113 int32_t no_child; |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
114 struct pst_desc_tree *prev; |
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
115 struct pst_desc_tree *next; |
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
116 struct pst_desc_tree *parent; |
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
117 struct pst_desc_tree *child; |
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
118 struct pst_desc_tree *child_tail; |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
119 } pst_desc_tree; |
16 | 120 |
49 | 121 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
122 /** The string is either utf8 encoded, or it is in the code page |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
123 * specified by the containing mapi object. It can be forced into |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
124 * utf8 by calling pst_convert_utf8() or pst_convert_utf8_null(). |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
125 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
126 typedef struct pst_string { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
127 /** @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
128 * @li 0 false */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
129 int is_utf8; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
130 char *str; |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
131 } pst_string; |
16 | 132 |
49 | 133 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
134 /** a simple wrapper for binary blobs */ |
167
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
135 typedef struct pst_binary { |
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
136 size_t size; |
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
137 char *data; |
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
138 } pst_binary; |
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
139 |
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
140 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
141 /** This contains the email related mapi elements |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
142 */ |
46 | 143 typedef struct pst_item_email { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
144 /** mapi element 0x0e06 PR_MESSAGE_DELIVERY_TIME */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
145 FILETIME *arrival_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
146 /** mapi element 0x0002 PR_ALTERNATE_RECIPIENT_ALLOWED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
147 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
148 * @li 0 not set |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
149 * @li -1 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
150 int autoforward; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
151 /** mapi element 0x0e03 PR_DISPLAY_CC */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
152 pst_string cc_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
153 /** mapi element 0x0e02 PR_DISPLAY_BCC */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
154 pst_string bcc_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
155 /** mapi element 0x0071 PR_CONVERSATION_INDEX */ |
167
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
156 pst_binary conversation_index; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
157 /** mapi element 0x3a03 PR_CONVERSION_PROHIBITED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
158 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
159 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
160 int conversion_prohibited; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
161 /** mapi element 0x0e01 PR_DELETE_AFTER_SUBMIT |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
162 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
163 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
164 int delete_after_submit; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
165 /** mapi element 0x0023 PR_ORIGINATOR_DELIVERY_REPORT_REQUESTED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
166 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
167 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
168 int delivery_report; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
169 /** mapi element 0x6f04 */ |
167
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
170 pst_binary encrypted_body; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
171 /** mapi element 0x6f02 */ |
167
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
172 pst_binary encrypted_htmlbody; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
173 /** mapi element 0x007d PR_TRANSPORT_MESSAGE_HEADERS */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
174 pst_string header; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
175 /** mapi element 0x1013 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
176 pst_string htmlbody; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
177 /** mapi element 0x0017 PR_IMPORTANCE |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
178 * @li 0 low |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
179 * @li 1 normal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
180 * @li 2 high */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
181 int32_t importance; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
182 /** mapi element 0x1042 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
183 pst_string in_reply_to; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
184 /** mapi element 0x0058 PR_MESSAGE_CC_ME, this user is listed explicitly in the CC address |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
185 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
186 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
187 int message_cc_me; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
188 /** mapi element 0x0059 PR_MESSAGE_RECIP_ME, this user appears in TO, CC or BCC address list |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
189 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
190 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
191 int message_recip_me; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
192 /** mapi element 0x0057 PR_MESSAGE_TO_ME, this user is listed explicitly in the TO address |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
193 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
194 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
195 int message_to_me; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
196 /** mapi element 0x1035 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
197 pst_string messageid; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
198 /** mapi element 0x002e PR_ORIGINAL_SENSITIVITY |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
199 * @li 0=none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
200 * @li 1=personal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
201 * @li 2=private |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
202 * @li 3=company confidential */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
203 int32_t original_sensitivity; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
204 /** mapi element 0x0072 PR_ORIGINAL_DISPLAY_BCC */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
205 pst_string original_bcc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
206 /** mapi element 0x0073 PR_ORIGINAL_DISPLAY_CC */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
207 pst_string original_cc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
208 /** mapi element 0x0074 PR_ORIGINAL_DISPLAY_TO */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
209 pst_string original_to; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
210 /** mapi element 0x0051 PR_RECEIVED_BY_SEARCH_KEY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
211 pst_string outlook_recipient; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
212 /** mapi element 0x0044 PR_RCVD_REPRESENTING_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
213 pst_string outlook_recipient_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
214 /** mapi element 0x0052 PR_RCVD_REPRESENTING_SEARCH_KEY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
215 pst_string outlook_recipient2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
216 /** mapi element 0x003b PR_SENT_REPRESENTING_SEARCH_KEY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
217 pst_string outlook_sender; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
218 /** mapi element 0x0042 PR_SENT_REPRESENTING_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
219 pst_string outlook_sender_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
220 /** mapi element 0x0c1d PR_SENDER_SEARCH_KEY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
221 pst_string outlook_sender2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
222 /** mapi element 0x0026 PR_PRIORITY |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
223 * @li 0 nonurgent |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
224 * @li 1 normal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
225 * @li 2 urgent */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
226 /** mapi element */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
227 int32_t priority; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
228 /** mapi element 0x0070 PR_CONVERSATION_TOPIC */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
229 pst_string processed_subject; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
230 /** mapi element 0x0029 PR_READ_RECEIPT_REQUESTED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
231 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
232 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
233 int read_receipt; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
234 /** mapi element 0x0075 PR_RECEIVED_BY_ADDRTYPE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
235 pst_string recip_access; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
236 /** mapi element 0x0076 PR_RECEIVED_BY_EMAIL_ADDRESS */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
237 pst_string recip_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
238 /** mapi element 0x0077 PR_RCVD_REPRESENTING_ADDRTYPE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
239 pst_string recip2_access; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
240 /** mapi element 0x0078 PR_RCVD_REPRESENTING_EMAIL_ADDRESS */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
241 pst_string recip2_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
242 /** mapi element 0x0c17 PR_REPLY_REQUESTED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
243 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
244 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
245 int reply_requested; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
246 /** mapi element 0x0050 PR_REPLY_RECIPIENT_NAMES */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
247 pst_string reply_to; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
248 /** mapi element 0x1046, this seems to be the message-id of the rfc822 mail that is being returned */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
249 pst_string return_path_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
250 /** mapi element 0x1007 PR_RTF_SYNC_BODY_COUNT, |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
251 * a count of the *significant* charcters in the rtf body. Doesn't count |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
252 * whitespace and other ignorable characters. */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
253 int32_t rtf_body_char_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
254 /** mapi element 0x1006 PR_RTF_SYNC_BODY_CRC */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
255 int32_t rtf_body_crc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
256 /** mapi element 0x1008 PR_RTF_SYNC_BODY_TAG, |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
257 * the first couple of lines of RTF body so that after modification, then beginning can |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
258 * once again be found. */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
259 pst_string rtf_body_tag; |
193 | 260 /** mapi element 0x1009 PR_RTF_COMPRESSED, |
261 * the compressed rtf body data. | |
262 * Use pst_lzfu_decompress() to retrieve the actual rtf body data. */ | |
167
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
263 pst_binary rtf_compressed; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
264 /** mapi element 0x0e1f PR_RTF_IN_SYNC, |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
265 * True means that the rtf version is same as text body. |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
266 * False means rtf version is more up-to-date than text body. |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
267 * If this value doesn't exist, text body is more up-to-date than rtf and |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
268 * cannot update to the rtf. |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
269 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
270 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
271 int rtf_in_sync; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
272 /** mapi element 0x1010 PR_RTF_SYNC_PREFIX_COUNT, |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
273 * a count of the ignored characters before the first significant character */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
274 int32_t rtf_ws_prefix_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
275 /** mapi element 0x1011 PR_RTF_SYNC_TRAILING_COUNT, |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
276 * a count of the ignored characters after the last significant character */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
277 int32_t rtf_ws_trailing_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
278 /** mapi element 0x0064 PR_SENT_REPRESENTING_ADDRTYPE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
279 pst_string sender_access; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
280 /** mapi element 0x0065 PR_SENT_REPRESENTING_EMAIL_ADDRESS */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
281 pst_string sender_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
282 /** mapi element 0x0c1e PR_SENDER_ADDRTYPE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
283 pst_string sender2_access; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
284 /** mapi element 0x0c1f PR_SENDER_EMAIL_ADDRESS */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
285 pst_string sender2_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
286 /** mapi element 0x0036 PR_SENSITIVITY |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
287 * @li 0=none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
288 * @li 1=personal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
289 * @li 2=private |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
290 * @li 3=company confidential */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
291 int32_t sensitivity; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
292 /** mapi element 0x0039 PR_CLIENT_SUBMIT_TIME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
293 FILETIME *sent_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
294 /** mapi element 0x0e0a PR_SENTMAIL_ENTRYID */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
295 pst_entryid *sentmail_folder; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
296 /** mapi element 0x0e04 PR_DISPLAY_TO */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
297 pst_string sentto_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
298 /** mapi element 0x1001 PR_REPORT_TEXT, delivery report dsn body */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
299 pst_string report_text; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
300 /** mapi element 0x0032 PR_REPORT_TIME, delivery report time */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
301 FILETIME *report_time; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
302 /** mapi element 0x0c04 PR_NDR_REASON_CODE */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
303 int32_t ndr_reason_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
304 /** mapi element 0x0c05 PR_NDR_DIAG_CODE */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
305 int32_t ndr_diag_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
306 /** mapi element 0x0c1b PR_SUPPLEMENTARY_INFO */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
307 pst_string supplementary_info; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
308 /** mapi element 0x0c20 PR_NDR_STATUS_CODE */ |
142
2189a6b8134e
improve character set handling - don't try to convert utf-8 to single byte for fields that were not originally unicode.
Carl Byington <carl@five-ten-sg.com>
parents:
132
diff
changeset
|
309 int32_t ndr_status_code; |
16 | 310 } pst_item_email; |
311 | |
49 | 312 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
313 /** This contains the folder related mapi elements |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
314 */ |
46 | 315 typedef struct pst_item_folder { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
316 /** mapi element 0x3602 PR_CONTENT_COUNT */ |
167
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
317 int32_t item_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
318 /** mapi element 0x3603 PR_CONTENT_UNREAD */ |
167
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
319 int32_t unseen_item_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
320 /** mapi element 0x3617 PR_ASSOC_CONTENT_COUNT |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
321 Associated content are items that are attached to this folder, but are hidden from users. |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
322 */ |
49 | 323 int32_t assoc_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
324 /** mapi element 0x360a PR_SUBFOLDERS |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
325 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
326 * @li 0 false */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
327 /** mapi element */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
328 int subfolder; |
16 | 329 } pst_item_folder; |
330 | |
49 | 331 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
332 /** This contains the message store related mapi elements |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
333 */ |
46 | 334 typedef struct pst_item_message_store { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
335 /** mapi element 0x35e0 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
336 pst_entryid *top_of_personal_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
337 /** mapi element 0x35e2 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
338 pst_entryid *default_outbox_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
339 /** mapi element 0x35e3 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
340 pst_entryid *deleted_items_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
341 /** mapi element 0x35e4 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
342 pst_entryid *sent_items_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
343 /** mapi element 0x35e5 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
344 pst_entryid *user_views_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
345 /** mapi element 0x35e6 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
346 pst_entryid *common_view_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
347 /** mapi element 0x35e7 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
348 pst_entryid *search_root_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
349 /** mapi element 0x7c07 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
350 pst_entryid *top_of_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
351 /** mapi element 0x35df, |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
352 * bit mask of folders in this message store |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
353 * @li 0x1 FOLDER_IPM_SUBTREE_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
354 * @li 0x2 FOLDER_IPM_INBOX_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
355 * @li 0x4 FOLDER_IPM_OUTBOX_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
356 * @li 0x8 FOLDER_IPM_WASTEBOX_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
357 * @li 0x10 FOLDER_IPM_SENTMAIL_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
358 * @li 0x20 FOLDER_VIEWS_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
359 * @li 0x40 FOLDER_COMMON_VIEWS_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
360 * @li 0x80 FOLDER_FINDER_VALID */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
361 int32_t valid_mask; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
362 /** mapi element 0x76ff */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
363 int32_t pwd_chksum; |
16 | 364 } pst_item_message_store; |
365 | |
49 | 366 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
367 /** This contains the contact related mapi elements |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
368 */ |
46 | 369 typedef struct pst_item_contact { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
370 /** mapi element 0x3a00 PR_ACCOUNT */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
371 pst_string account_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
372 /** mapi element 0x3003 PR_EMAIL_ADDRESS, or 0x8083 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
373 pst_string address1; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
374 /** mapi element 0x8085 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
375 pst_string address1a; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
376 /** mapi element 0x8084 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
377 pst_string address1_desc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
378 /** mapi element 0x3002 PR_ADDRTYPE, or 0x8082 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
379 pst_string address1_transport; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
380 /** mapi element 0x8093 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
381 pst_string address2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
382 /** mapi element 0x8095 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
383 pst_string address2a; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
384 /** mapi element 0x8094 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
385 pst_string address2_desc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
386 /** mapi element 0x8092 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
387 pst_string address2_transport; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
388 /** mapi element 0x80a3 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
389 pst_string address3; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
390 /** mapi element 0x80a5 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
391 pst_string address3a; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
392 /** mapi element 0x80a4 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
393 pst_string address3_desc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
394 /** mapi element 0x80a2 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
395 pst_string address3_transport; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
396 /** mapi element 0x3a30 PR_ASSISTANT */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
397 pst_string assistant_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
398 /** mapi element 0x3a2e PR_ASSISTANT_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
399 pst_string assistant_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
400 /** mapi element 0x8535 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
401 pst_string billing_information; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
402 /** mapi element 0x3a42 PR_BIRTHDAY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
403 FILETIME *birthday; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
404 /** mapi element 0x801b */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
405 pst_string business_address; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
406 /** mapi element 0x3a27 PR_BUSINESS_ADDRESS_CITY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
407 pst_string business_city; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
408 /** mapi element 0x3a26 PR_BUSINESS_ADDRESS_COUNTRY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
409 pst_string business_country; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
410 /** mapi element 0x3a24 PR_BUSINESS_FAX_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
411 pst_string business_fax; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
412 /** mapi element 0x3a51 PR_BUSINESS_HOME_PAGE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
413 pst_string business_homepage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
414 /** mapi element 0x3a08 PR_BUSINESS_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
415 pst_string business_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
416 /** mapi element 0x3a1b PR_BUSINESS2_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
417 pst_string business_phone2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
418 /** mapi element 0x3a2b PR_BUSINESS_PO_BOX */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
419 pst_string business_po_box; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
420 /** mapi element 0x3a2a PR_BUSINESS_POSTAL_CODE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
421 pst_string business_postal_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
422 /** mapi element 0x3a28 PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
423 pst_string business_state; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
424 /** mapi element 0x3a29 PR_BUSINESS_ADDRESS_STREET */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
425 pst_string business_street; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
426 /** mapi element 0x3a02 PR_CALLBACK_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
427 pst_string callback_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
428 /** mapi element 0x3a1e PR_CAR_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
429 pst_string car_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
430 /** mapi element 0x3a57 PR_COMPANY_MAIN_PHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
431 pst_string company_main_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
432 /** mapi element 0x3a16 PR_COMPANY_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
433 pst_string company_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
434 /** mapi element 0x3a49 PR_COMPUTER_NETWORK_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
435 pst_string computer_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
436 /** mapi element 0x3a4a PR_CUSTOMER_ID */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
437 pst_string customer_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
438 /** mapi element 0x3a15 PR_POSTAL_ADDRESS */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
439 pst_string def_postal_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
440 /** mapi element 0x3a18 PR_DEPARTMENT_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
441 pst_string department; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
442 /** mapi element 0x3a45 PR_DISPLAY_NAME_PREFIX */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
443 pst_string display_name_prefix; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
444 /** mapi element 0x3a06 PR_GIVEN_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
445 pst_string first_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
446 /** mapi element 0x8530 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
447 pst_string followup; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
448 /** mapi element 0x80d8 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
449 pst_string free_busy_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
450 /** mapi element 0x3a4c PR_FTP_SITE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
451 pst_string ftp_site; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
452 /** mapi element 0x8005 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
453 pst_string fullname; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
454 /** mapi element 0x3a4d PR_GENDER |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
455 * @li 0 unspecified |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
456 * @li 1 female |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
457 * @li 2 male */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
458 int16_t gender; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
459 /** mapi element 0x3a07 PR_GOVERNMENT_ID_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
460 pst_string gov_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
461 /** mapi element 0x3a43 PR_HOBBIES */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
462 pst_string hobbies; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
463 /** mapi element 0x801a */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
464 pst_string home_address; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
465 /** mapi element 0x3a59 PR_HOME_ADDRESS_CITY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
466 pst_string home_city; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
467 /** mapi element 0x3a5a PR_HOME_ADDRESS_COUNTRY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
468 pst_string home_country; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
469 /** mapi element 0x3a25 PR_HOME_FAX_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
470 pst_string home_fax; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
471 /** mapi element 0x3a09 PR_HOME_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
472 pst_string home_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
473 /** mapi element 0x3a2f PR_HOME2_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
474 pst_string home_phone2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
475 /** mapi element 0x3a5e PR_HOME_ADDRESS_POST_OFFICE_BOX */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
476 pst_string home_po_box; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
477 /** mapi element 0x3a5b PR_HOME_ADDRESS_POSTAL_CODE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
478 pst_string home_postal_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
479 /** mapi element 0x3a5c PR_HOME_ADDRESS_STATE_OR_PROVINCE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
480 pst_string home_state; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
481 /** mapi element 0x3a5d PR_HOME_ADDRESS_STREET */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
482 pst_string home_street; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
483 /** mapi element 0x3a0a PR_INITIALS */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
484 pst_string initials; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
485 /** mapi element 0x3a2d PR_ISDN_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
486 pst_string isdn_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
487 /** mapi element 0x3a17 PR_TITLE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
488 pst_string job_title; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
489 /** mapi element 0x3a0b PR_KEYWORD */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
490 pst_string keyword; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
491 /** mapi element 0x3a0c PR_LANGUAGE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
492 pst_string language; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
493 /** mapi element 0x3a0d PR_LOCATION */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
494 pst_string location; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
495 /** mapi element 0x3a0e PR_MAIL_PERMISSION |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
496 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
497 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
498 int mail_permission; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
499 /** mapi element 0x3a4e PR_MANAGER_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
500 pst_string manager_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
501 /** mapi element 0x3a44 PR_MIDDLE_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
502 pst_string middle_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
503 /** mapi element 0x8534 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
504 pst_string mileage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
505 /** mapi element 0x3a1c PR_MOBILE_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
506 pst_string mobile_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
507 /** mapi element 0x3a4f PR_NICKNAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
508 pst_string nickname; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
509 /** mapi element 0x3a19 PR_OFFICE_LOCATION */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
510 pst_string office_loc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
511 /** mapi element 0x3a0f PR_MHS_COMMON_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
512 pst_string common_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
513 /** mapi element 0x3a10 PR_ORGANIZATIONAL_ID_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
514 pst_string org_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
515 /** mapi element 0x801c */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
516 pst_string other_address; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
517 /** mapi element 0x3a5f PR_OTHER_ADDRESS_CITY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
518 pst_string other_city; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
519 /** mapi element 0x3a60 PR_OTHER_ADDRESS_COUNTRY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
520 pst_string other_country; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
521 /** mapi element 0x3a1f PR_OTHER_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
522 pst_string other_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
523 /** mapi element 0x3a64 PR_OTHER_ADDRESS_POST_OFFICE_BOX */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
524 pst_string other_po_box; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
525 /** mapi element 0x3a61 PR_OTHER_ADDRESS_POSTAL_CODE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
526 pst_string other_postal_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
527 /** mapi element 0x3a62 PR_OTHER_ADDRESS_STATE_OR_PROVINCE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
528 pst_string other_state; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
529 /** mapi element 0x3a63 PR_OTHER_ADDRESS_STREET */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
530 pst_string other_street; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
531 /** mapi element 0x3a21 PR_PAGER_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
532 pst_string pager_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
533 /** mapi element 0x3a50 PR_PERSONAL_HOME_PAGE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
534 pst_string personal_homepage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
535 /** mapi element 0x3a47 PR_PREFERRED_BY_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
536 pst_string pref_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
537 /** mapi element 0x3a23 PR_PRIMARY_FAX_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
538 pst_string primary_fax; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
539 /** mapi element 0x3a1a PR_PRIMARY_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
540 pst_string primary_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
541 /** mapi element 0x3a46 PR_PROFESSION */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
542 pst_string profession; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
543 /** mapi element 0x3a1d PR_RADIO_TELEPHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
544 pst_string radio_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
545 /** mapi element 0x3a40 PR_SEND_RICH_INFO |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
546 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
547 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
548 int rich_text; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
549 /** mapi element 0x3a48 PR_SPOUSE_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
550 pst_string spouse_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
551 /** mapi element 0x3a05 PR_GENERATION (Jr., Sr., III, etc) */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
552 pst_string suffix; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
553 /** mapi element 0x3a11 PR_SURNAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
554 pst_string surname; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
555 /** mapi element 0x3a2c PR_TELEX_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
556 pst_string telex; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
557 /** mapi element 0x3a20 PR_TRANSMITTABLE_DISPLAY_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
558 pst_string transmittable_display_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
559 /** mapi element 0x3a4b PR_TTYTDD_PHONE_NUMBER */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
560 pst_string ttytdd_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
561 /** mapi element 0x3a41 PR_WEDDING_ANNIVERSARY */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
562 FILETIME *wedding_anniversary; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
563 /** mapi element 0x8045 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
564 pst_string work_address_street; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
565 /** mapi element 0x8046 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
566 pst_string work_address_city; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
567 /** mapi element 0x8047 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
568 pst_string work_address_state; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
569 /** mapi element 0x8048 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
570 pst_string work_address_postalcode; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
571 /** mapi element 0x8049 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
572 pst_string work_address_country; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
573 /** mapi element 0x804a */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
574 pst_string work_address_postofficebox; |
16 | 575 } pst_item_contact; |
576 | |
49 | 577 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
578 /** This contains the attachment related mapi elements |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
579 */ |
46 | 580 typedef struct pst_item_attach { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
581 /** mapi element 0x3704 PR_ATTACH_FILENAME */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
582 pst_string filename1; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
583 /** mapi element 0x3707 PR_ATTACH_LONG_FILENAME */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
584 pst_string filename2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
585 /** mapi element 0x370e PR_ATTACH_MIME_TAG */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
586 pst_string mimetype; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
587 /** mapi element 0x3701 PR_ATTACH_DATA_OBJ */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
588 pst_binary data; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
589 /** only used if the attachment is by reference, in which case this is the id2 reference */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
590 uint64_t id2_val; |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
591 /** calculated from id2_val during creation of record */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
592 uint64_t i_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
593 /** id2 tree needed to resolve attachments by reference */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
594 pst_id2_tree *id2_head; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
595 /** mapi element 0x3705 PR_ATTACH_METHOD |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
596 * @li 0 no attachment |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
597 * @li 1 attach by value |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
598 * @li 2 attach by reference |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
599 * @li 3 attach by reference resolve |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
600 * @li 4 attach by reference only |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
601 * @li 5 embedded message |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
602 * @li 6 OLE */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
603 int32_t method; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
604 /** mapi element 0x370b PR_RENDERING_POSITION */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
605 int32_t position; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
606 /** mapi element 0x3710 PR_ATTACH_MIME_SEQUENCE */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
607 int32_t sequence; |
49 | 608 struct pst_item_attach *next; |
16 | 609 } pst_item_attach; |
610 | |
49 | 611 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
612 /** linked list of extra header fields */ |
46 | 613 typedef struct pst_item_extra_field { |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
614 char *field_name; |
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
615 char *value; |
49 | 616 struct pst_item_extra_field *next; |
16 | 617 } pst_item_extra_field; |
618 | |
49 | 619 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
620 /** This contains the journal related mapi elements |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
621 */ |
46 | 622 typedef struct pst_item_journal { |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
623 /** mapi element 0x8706 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
624 FILETIME *start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
625 /** mapi element 0x8708 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
626 FILETIME *end; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
627 /** mapi element 0x8700 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
628 pst_string type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
629 /** mapi element 0x8712 */ |
152 | 630 pst_string description; |
16 | 631 } pst_item_journal; |
632 | |
49 | 633 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
634 /** This contains the recurrence data separated into fields. |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
635 http://www.geocities.com/cainrandom/dev/MAPIRecurrence.html |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
636 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
637 typedef struct pst_recurrence { |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
638 /** 0x30043004 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
639 uint32_t signature; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
640 /** @li 0 daily |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
641 * @li 1 weekly |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
642 * @li 2 monthly |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
643 * @li 3 yearly */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
644 uint32_t type; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
645 /** implies number of recurrence parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
646 * @li 0 has 3 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
647 * @li 1 has 4 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
648 * @li 2 has 4 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
649 * @li 3 has 5 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
650 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
651 uint32_t sub_type; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
652 /** must be contiguous, not an array to make python interface easier */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
653 uint32_t parm1; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
654 uint32_t parm2; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
655 uint32_t parm3; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
656 uint32_t parm4; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
657 uint32_t parm5; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
658 /** type of termination of the recurrence |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
659 @li 0 terminates on a date |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
660 @li 1 terminates based on integer number of occurrences |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
661 @li 2 never terminates |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
662 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
663 uint32_t termination; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
664 /** recurrence interval in terms of the recurrence type */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
665 uint32_t interval; |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
666 /** bit mask of days of the week */ |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
667 uint32_t bydaymask; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
668 /** day of month for monthly and yearly recurrences */ |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
669 uint32_t dayofmonth; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
670 /** month of year for yearly recurrences */ |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
671 uint32_t monthofyear; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
672 /** occurence of day for 2nd Tuesday of month, in which case position is 2 */ |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
673 uint32_t position; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
674 /** number of occurrences, even if recurrence terminates based on date */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
675 uint32_t count; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
676 // there is more data, including the termination date, |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
677 // but we can get that from other mapi elements. |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
678 } pst_recurrence; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
679 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
680 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
681 /** This contains the appointment related mapi elements |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
682 */ |
46 | 683 typedef struct pst_item_appointment { |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
684 /** mapi element 0x820d PR_OUTLOOK_EVENT_START_DATE */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
685 FILETIME *start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
686 /** mapi element 0x820e PR_OUTLOOK_EVENT_START_END */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
687 FILETIME *end; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
688 /** mapi element 0x8208 PR_OUTLOOK_EVENT_LOCATION */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
689 pst_string location; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
690 /** mapi element 0x8503 PR_OUTLOOK_COMMON_REMINDER_SET |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
691 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
692 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
693 int alarm; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
694 /** mapi element 0x8560 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
695 FILETIME *reminder; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
696 /** mapi element 0x8501 PR_OUTLOOK_COMMON_REMINDER_MINUTES_BEFORE */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
697 int32_t alarm_minutes; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
698 /** mapi element 0x851f */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
699 pst_string alarm_filename; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
700 /** mapi element 0x8234 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
701 pst_string timezonestring; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
702 /** mapi element 0x8205 PR_OUTLOOK_EVENT_SHOW_TIME_AS |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
703 * @li 0 free |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
704 * @li 1 tentative |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
705 * @li 2 busy |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
706 * @li 3 out of office*/ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
707 int32_t showas; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
708 /** mapi element 0x8214 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
709 * @li 0 None |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
710 * @li 1 Important |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
711 * @li 2 Business |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
712 * @li 3 Personal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
713 * @li 4 Vacation |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
714 * @li 5 Must Attend |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
715 * @li 6 Travel Required |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
716 * @li 7 Needs Preparation |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
717 * @li 8 Birthday |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
718 * @li 9 Anniversary |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
719 * @li 10 Phone Call */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
720 int32_t label; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
721 /** mapi element 0x8215 PR_OUTLOOK_EVENT_ALL_DAY |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
722 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
723 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
724 int all_day; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
725 /** mapi element 0x8223 PR_OUTLOOK_EVENT_IS_RECURRING |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
726 * @li 1 true |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
727 * @li 0 false */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
728 int is_recurring; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
729 /** mapi element 0x8231 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
730 * @li 0 none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
731 * @li 1 daily |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
732 * @li 2 weekly |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
733 * @li 3 monthly |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
734 * @li 4 yearly */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
735 int32_t recurrence_type; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
736 /** mapi element 0x8232 recurrence description */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
737 pst_string recurrence_description; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
738 /** mapi element 0x8216 recurrence data */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
739 pst_binary recurrence_data; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
740 /** mapi element 0x8235 PR_OUTLOOK_EVENT_RECURRENCE_START */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
741 FILETIME *recurrence_start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
742 /** mapi element 0x8236 PR_OUTLOOK_EVENT_RECURRENCE_END */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
743 FILETIME *recurrence_end; |
16 | 744 } pst_item_appointment; |
745 | |
49 | 746 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
747 /** This contains the common mapi elements, and pointers to structures for |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
748 * each major mapi item type. It represents a complete mapi object. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
749 */ |
46 | 750 typedef struct pst_item { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
751 /** email mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
752 pst_item_email *email; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
753 /** folder mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
754 pst_item_folder *folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
755 /** contact mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
756 pst_item_contact *contact; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
757 /** linked list of attachments */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
758 pst_item_attach *attach; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
759 /** message store mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
760 pst_item_message_store *message_store; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
761 /** linked list of extra headers and such */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
762 pst_item_extra_field *extra_fields; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
763 /** journal mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
764 pst_item_journal *journal; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
765 /** calendar mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
766 pst_item_appointment *appointment; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
767 /** derived from mapi elements 0x001a PR_MESSAGE_CLASS or 0x3613 PR_CONTAINER_CLASS |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
768 * @li 1 PST_TYPE_NOTE |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
769 * @li 2 PST_TYPE_SCHEDULE |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
770 * @li 8 PST_TYPE_APPOINTMENT |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
771 * @li 9 PST_TYPE_CONTACT |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
772 * @li 10 PST_TYPE_JOURNAL |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
773 * @li 11 PST_TYPE_STICKYNOTE |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
774 * @li 12 PST_TYPE_TASK |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
775 * @li 13 PST_TYPE_OTHER |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
776 * @li 14 PST_TYPE_REPORT */ |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
777 int type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
778 /** mapi element 0x001a PR_MESSAGE_CLASS or 0x3613 PR_CONTAINER_CLASS */ |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
779 char *ascii_type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
780 /** mapi element 0x0e07 PR_MESSAGE_FLAGS |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
781 * @li 0x01 Read |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
782 * @li 0x02 Unmodified |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
783 * @li 0x04 Submit |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
784 * @li 0x08 Unsent |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
785 * @li 0x10 Has Attachments |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
786 * @li 0x20 From Me |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
787 * @li 0x40 Associated |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
788 * @li 0x80 Resend |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
789 * @li 0x100 RN Pending |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
790 * @li 0x200 NRN Pending */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
791 int32_t flags; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
792 /** mapi element 0x3001 PR_DISPLAY_NAME */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
793 pst_string file_as; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
794 /** mapi element 0x3004 PR_COMMENT */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
795 pst_string comment; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
796 /** derived from extra_fields["content-type"] if it contains a charset= subfield */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
797 pst_string body_charset; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
798 /** mapi element 0x1000 PR_BODY */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
799 pst_string body; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
800 /** mapi element 0x0037 PR_SUBJECT */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
801 pst_string subject; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
802 /** mapi element 0x3fde PR_INTERNET_CPID */ |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
803 int32_t internet_cpid; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
804 /** mapi element 0x3ffd PR_MESSAGE_CODEPAGE */ |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
805 int32_t message_codepage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
806 /** mapi element 0x0e08 PR_MESSAGE_SIZE */ |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
807 int32_t message_size; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
808 /** mapi element 0x8554 PR_OUTLOOK_VERSION */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
809 pst_string outlook_version; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
810 /** mapi element 0x0ff9 PR_RECORD_KEY */ |
167
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
811 pst_binary record_key; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
812 /** mapi element 0x65e3 PR_PREDECESSOR_CHANGE_LIST */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
813 pst_binary predecessor_change; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
814 /** mapi element 0x0063 PR_RESPONSE_REQUESTED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
815 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
816 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
817 int response_requested; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
818 /** mapi element 0x3007 PR_CREATION_TIME */ |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
819 FILETIME *create_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
820 /** mapi element 0x3008 PR_LAST_MODIFICATION_TIME */ |
150
06aa84023b48
rename some structure fields to reflect our better understanding of the pst format
Carl Byington <carl@five-ten-sg.com>
parents:
143
diff
changeset
|
821 FILETIME *modify_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
822 /** mapi element 0x002b PR_RECIPIENT_REASSIGNMENT_PROHIBITED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
823 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
824 * @li 0 false */ |
154
581fab9f1dc7
avoid emitting bogus empty email messages into contacts and calendar files
Carl Byington <carl@five-ten-sg.com>
parents:
153
diff
changeset
|
825 int private_member; |
16 | 826 } pst_item; |
827 | |
49 | 828 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
829 /** Linked list of extended attributes. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
830 * This is used to convert mapi_id values in the pst file into |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
831 * cannonical mapi_id values to be used in this code. This list |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
832 * is kept in sorted order, where the key is the 'map' field. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
833 * Some mapi_id values are converted to cannonical mapi_id values |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
834 * (PST_MAP_ATTRIB), and others are converted to a string |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
835 * (PST_ATTRIB_HEADER). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
836 */ |
46 | 837 typedef struct pst_x_attrib_ll { |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
838 /** @li 1 PST_MAP_ATTRIB map->int attribute |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
839 @li 2 PST_MAP_HEADER map->string header |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
840 */ |
49 | 841 uint32_t mytype; |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
842 /** key for the mapping */ |
49 | 843 uint32_t map; |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
844 /** data target of the mapping, either uint32_t or string */ |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
845 void *data; |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
846 /** link to next item in the list */ |
49 | 847 struct pst_x_attrib_ll *next; |
16 | 848 } pst_x_attrib_ll; |
849 | |
49 | 850 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
851 /** this is only used for internal debugging */ |
52 | 852 typedef struct pst_block_recorder { |
853 struct pst_block_recorder *next; | |
125
23a36ac0514d
recover dropped pragma pack line, use int64_t rather than off_t to avoid forcing users of the shared library to enable large file support.
Carl Byington <carl@five-ten-sg.com>
parents:
123
diff
changeset
|
854 int64_t offset; |
52 | 855 size_t size; |
856 int readcount; | |
857 } pst_block_recorder; | |
858 | |
859 | |
46 | 860 typedef struct pst_file { |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
861 /** file pointer to opened PST file */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
862 FILE* fp; |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
863 /** original cwd when the file was opened */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
864 char* cwd; |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
865 /** original file name when the file was opened */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
866 char* fname; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
867 /** the head and tail of the linked list of index structures */ |
49 | 868 pst_index_ll *i_head, *i_tail; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
869 /** the head and tail of the top level of the descriptor tree */ |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
870 pst_desc_tree *d_head, *d_tail; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
871 /** the head of the extended attributes linked list */ |
49 | 872 pst_x_attrib_ll *x_head; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
873 /** the head of the block recorder, a debug artifact |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
874 * used to detect cases where we might read the same |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
875 * block multiple times while processing a pst file. */ |
52 | 876 pst_block_recorder *block_head; |
46 | 877 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
878 /** @li 0 is 32-bit pst file, pre Outlook 2003; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
879 * @li 1 is 64-bit pst file, Outlook 2003 or later */ |
170
0e1e048716e4
fix bug where we failed to pickup the last extended attribute.
Carl Byington <carl@five-ten-sg.com>
parents:
167
diff
changeset
|
880 int do_read64; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
881 /** file offset of the first b-tree node in the index tree */ |
49 | 882 uint64_t index1; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
883 /** back pointer value in the first b-tree node in the index tree */ |
49 | 884 uint64_t index1_back; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
885 /** file offset of the first b-tree node in the descriptor tree*/ |
49 | 886 uint64_t index2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
887 /** back pointer value in the first b-tree node in the descriptor tree */ |
49 | 888 uint64_t index2_back; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
889 /** size of the pst file */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
890 uint64_t size; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
891 /** @li 0 PST_NO_ENCRYPT, none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
892 * @li 1 PST_COMP_ENCRYPT, simple byte substitution cipher with fixed key |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
893 * @li 2 PST_ENCRYPT, german enigma 3 rotor cipher with fixed key */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
894 unsigned char encryption; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
895 /** index type or file type |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
896 * @li 0x0e 32 bit pre Outlook 2003 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
897 * @li 0x0f 32 bit pre Outlook 2003 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
898 * @li 0x15 64 bit Outlook 2003 or later |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
899 * @li 0x17 64 bit Outlook 2003 or later */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
900 unsigned char ind_type; |
16 | 901 } pst_file; |
902 | |
49 | 903 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
904 /** Open a pst file. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
905 * @param pf pointer to uninitialized pst_file structure. This structure |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
906 * will be filled in by this function. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
907 * @param name name of the file, suitable for fopen(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
908 * @return 0 if ok, -1 if error |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
909 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
910 int pst_open(pst_file *pf, const char *name); |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
911 |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
912 |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
913 /** Reopen the pst file after a fork |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
914 * @param pf pointer to the pst_file structure setup by pst_open(). |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
915 * @return 0 if ok, -1 if error |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
916 */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
917 int pst_reopen(pst_file *pf); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
918 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
919 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
920 /** Load the index entries from the pst file. This loads both the |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
921 * i_id linked list, and the d_id tree, and should normally be the |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
922 * first call after pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
923 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
924 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
925 int pst_load_index (pst_file *pf); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
926 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
927 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
928 /** Load the extended attribute mapping table from the pst file. This |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
929 * should normally be the second call after pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
930 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
931 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
932 int pst_load_extended_attributes(pst_file *pf); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
933 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
934 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
935 /** Close a pst file. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
936 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
937 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
938 int pst_close(pst_file *pf); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
939 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
940 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
941 /** Get the top of folders descriptor tree. This is the main descriptor tree |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
942 * that needs to be walked to look at every item in the pst file. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
943 * @param pf pointer to the pst_file structure setup by pst_open(). |
214
7fcff97ca5a9
document pst2dii font file arg not optional, patch from bharder to fix documentation for pst_getTopOfFolders
Carl Byington <carl@five-ten-sg.com>
parents:
211
diff
changeset
|
944 * @param root root item, which can be obtained by pst_parse_item(pf, pf->d_head, NULL). |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
945 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
946 pst_desc_tree* pst_getTopOfFolders(pst_file *pf, const pst_item *root); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
947 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
948 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
949 /** Assemble the binary attachment into a single buffer. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
950 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
951 * @param attach pointer to the attachment record |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
952 * @return structure containing size of and pointer to the buffer. |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
953 * the caller must free this buffer. |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
954 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
955 pst_binary pst_attach_to_mem(pst_file *pf, pst_item_attach *attach); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
956 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
957 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
958 /** Write a binary attachment to a file. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
959 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
960 * @param attach pointer to the attachment record |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
961 * @param fp pointer to an open FILE. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
962 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
963 size_t pst_attach_to_file(pst_file *pf, pst_item_attach *attach, FILE* fp); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
964 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
965 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
966 /** Write a binary attachment base64 encoded to a file. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
967 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
968 * @param attach pointer to the attachment record |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
969 * @param fp pointer to an open FILE. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
970 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
971 size_t pst_attach_to_file_base64(pst_file *pf, pst_item_attach *attach, FILE* fp); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
972 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
973 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
974 /** Walk the descriptor tree. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
975 * @param d pointer to the current item in the descriptor tree. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
976 * @return pointer to the next item in the descriptor tree. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
977 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
978 pst_desc_tree* pst_getNextDptr(pst_desc_tree* d); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
979 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
980 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
981 /** Assemble a mapi object from a descriptor pointer. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
982 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
983 * @param d_ptr pointer to an item in the descriptor tree. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
984 * @param m_head normally NULL. This is only used when processing embedded |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
985 * attached rfc822 messages, in which case it is attach->id2_head. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
986 * @return pointer to the mapi object. Must be free'd by pst_freeItem(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
987 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
988 pst_item* pst_parse_item (pst_file *pf, pst_desc_tree *d_ptr, pst_id2_tree *m_head); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
989 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
990 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
991 /** Free the item returned by pst_parse_item(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
992 * @param item pointer to item returned from pst_parse_item(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
993 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
994 void pst_freeItem(pst_item *item); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
995 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
996 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
997 /** Lookup the i_id in the index linked list, and return a pointer to the element. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
998 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
999 * @param i_id key for the index linked list |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1000 * @return pointer to the element, or NULL if not found. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1001 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1002 pst_index_ll* pst_getID(pst_file* pf, uint64_t i_id); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1003 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1004 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1005 /** Get an ID block from the file using pst_ff_getIDblock() and decrypt if necessary. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1006 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1007 * @param i_id ID of block to retrieve |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1008 * @param buf reference to pointer to buffer that will contain the data block. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1009 * If this pointer is non-NULL, it will first be free()d. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1010 * @return Size of block read into memory |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1011 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1012 size_t pst_ff_getIDblock_dec(pst_file *pf, uint64_t i_id, char **buf); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1013 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1014 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1015 /** fwrite with checking for null pointer. |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1016 * @param ptr pointer to the buffer |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1017 * @param size size of each item |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1018 * @param nmemb number of items |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1019 * @param stream output file |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1020 * @return number of bytes written, zero if ptr==NULL |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1021 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1022 size_t pst_fwrite(const void* ptr, size_t size, size_t nmemb, FILE* stream); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1023 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1024 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1025 /** Add any necessary escape characters for rfc2426 vcard format |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1026 * @param[in] str pointer to input string |
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1027 * @param[in,out] result pointer to a char* pointer that may be realloc'ed if needed |
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1028 * @param[in,out] resultlen size of the result buffer |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1029 * @return pointer to output string, either the input pointer if |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1030 * there are no characters that need escapes, or a pointer |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1031 * to a possibly realloc'ed result buffer. |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1032 */ |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1033 char* pst_rfc2426_escape(char* str, char** result, size_t* resultlen); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1034 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1035 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1036 /** Convert a FILETIME into rfc2425 date/time format 1953-10-15T23:10:00Z |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1037 * which is the same as one of the forms in the ISO3601 standard |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
1038 * @param[in] ft time to be converted |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
1039 * @param[in] buflen length of the output buffer |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
1040 * @param[out] result pointer to output buffer, must be at least 30 bytes |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1041 * @return time in rfc2425 format |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1042 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1043 char* pst_rfc2425_datetime_format(const FILETIME* ft, int buflen, char* result); |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1044 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1045 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1046 /** Convert a FILETIME into rfc2445 date/time format 19531015T231000Z |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1047 * @param[in] ft time to be converted |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
1048 * @param[in] buflen length of the output buffer |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
1049 * @param[out] result pointer to output buffer, must be at least 30 bytes |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1050 * @return time in rfc2445 format |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1051 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1052 char* pst_rfc2445_datetime_format(const FILETIME* ft, int buflen, char* result); |
43 | 1053 |
16 | 1054 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1055 /** Convert the current time rfc2445 date/time format 19531015T231000Z |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1056 * @param[in] buflen length of the output buffer |
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1057 * @param[out] result pointer to output buffer, must be at least 30 bytes |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1058 * @return time in rfc2445 format |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1059 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1060 char* pst_rfc2445_datetime_format_now(int buflen, char* result); |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1061 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1062 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1063 /** Get the default character set for this item. This is used to find |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1064 * the charset for pst_string elements that are not already in utf8 encoding. |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1065 * @param item pointer to the mapi item of interest |
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1066 * @param[in] buflen length of the output buffer |
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1067 * @param[out] result pointer to output buffer, must be at least 30 bytes |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1068 * @return default character set as a string useable by iconv() |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1069 */ |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1070 const char* pst_default_charset(pst_item *item, int buflen, char* result); |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1071 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1072 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1073 /** Convert str to utf8 if possible; null strings are preserved. |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1074 * @param item pointer to the containing mapi item |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1075 * @param str pointer to the mapi string of interest |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1076 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1077 void pst_convert_utf8_null(pst_item *item, pst_string *str); |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1078 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1079 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1080 /** Convert str to utf8 if possible; null strings are converted into empty strings. |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1081 * @param item pointer to the containing mapi item |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1082 * @param str pointer to the mapi string of interest |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1083 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1084 void pst_convert_utf8(pst_item *item, pst_string *str); |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
1085 |
130
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1086 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1087 /** Decode raw recurrence data into a better structure. |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1088 * @param appt pointer to appointment structure |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1089 * @return pointer to decoded recurrence structure that must be free'd by the caller. |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1090 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1091 pst_recurrence* pst_convert_recurrence(pst_item_appointment* appt); |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1092 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1093 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1094 /** Free a recurrence structure. |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1095 * @param r input pointer to be freed |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1096 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1097 void pst_free_recurrence(pst_recurrence* r); |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1098 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1099 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1100 |
130
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1101 // switch from maximal packing back to default packing |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1102 // undo the packing from the beginning of this file |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1103 #ifdef _MSC_VER |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1104 #pragma pack(pop) |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1105 #endif |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1106 #if defined(__GNUC__) || defined (__SUNPRO_C) || defined(__SUNPRO_CC) |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1107 #pragma pack() |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1108 #endif |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1109 |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1110 |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1111 |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
176
diff
changeset
|
1112 #endif |