Mercurial > libpst
annotate src/libpst.h @ 340:0f3185217313
Daniel Gryniewicz found buffer overrun in LIST_COPY_TIME
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Fri, 27 Dec 2013 08:27:47 -0800 |
parents | c507af52515a |
children | 09dd5299d91c |
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 |
292
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
83 // define flags |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
84 #define PST_FLAG_READ 0x01 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
85 #define PST_FLAG_UNMODIFIED 0x02 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
86 #define PST_FLAG_SUBMIT 0x04 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
87 #define PST_FLAG_UNSENT 0x08 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
88 #define PST_FLAG_HAS_ATTACHMENT 0x10 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
89 #define PST_FLAG_FROM_ME 0x20 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
90 #define PST_FLAG_ASSOCIATED 0x40 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
91 #define PST_FLAG_RESEND 0x80 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
92 #define PST_FLAG_RN_PENDING 0x100 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
93 #define PST_FLAG_NRN_PENDING 0x200 |
e0e5844d91b3
patch from Leo Antunes for Status: header
Carl Byington <carl@five-ten-sg.com>
parents:
271
diff
changeset
|
94 |
49 | 95 |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
96 typedef struct pst_entryid { |
49 | 97 int32_t u1; |
98 char entryid[16]; | |
99 uint32_t id; | |
16 | 100 } pst_entryid; |
101 | |
49 | 102 |
186
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
103 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
|
104 uint64_t i_id; |
49 | 105 uint64_t offset; |
106 uint64_t size; | |
107 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
|
108 struct pst_index_ll *next; |
16 | 109 } pst_index_ll; |
110 | |
49 | 111 |
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 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
|
113 uint64_t id2; |
0a4f7ecd7452
more cleanup of external names in the shared library
Carl Byington <carl@five-ten-sg.com>
parents:
182
diff
changeset
|
114 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
|
115 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
|
116 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
|
117 } pst_id2_tree; |
16 | 118 |
49 | 119 |
46 | 120 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
|
121 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
|
122 uint64_t parent_d_id; |
143
fdc58ad2c758
fix embedded rfc822 messages with attachments
Carl Byington <carl@five-ten-sg.com>
parents:
142
diff
changeset
|
123 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
|
124 pst_index_ll *assoc_tree; |
143
fdc58ad2c758
fix embedded rfc822 messages with attachments
Carl Byington <carl@five-ten-sg.com>
parents:
142
diff
changeset
|
125 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
|
126 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
|
127 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
|
128 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
|
129 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
|
130 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
|
131 } pst_desc_tree; |
16 | 132 |
49 | 133 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
134 /** 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
|
135 * 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
|
136 * 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
|
137 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
138 typedef struct pst_string { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
139 /** @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
140 * @li 0 false */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
141 int is_utf8; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
142 char *str; |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
143 } pst_string; |
16 | 144 |
49 | 145 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
146 /** 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
|
147 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
|
148 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
|
149 char *data; |
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
150 } pst_binary; |
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
151 |
40e9de445038
improve consistency checking when fetching items from the pst file.
Carl Byington <carl@five-ten-sg.com>
parents:
164
diff
changeset
|
152 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
153 /** 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
|
154 */ |
46 | 155 typedef struct pst_item_email { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
156 /** 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
|
157 FILETIME *arrival_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
158 /** 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
|
159 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
160 * @li 0 not set |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
161 * @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
|
162 int autoforward; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
163 /** 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
|
164 pst_string cc_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
165 /** 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
|
166 pst_string bcc_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
167 /** 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
|
168 pst_binary conversation_index; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
169 /** mapi element 0x3a03 PR_CONVERSION_PROHIBITED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
170 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
171 * @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
|
172 int conversion_prohibited; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
173 /** 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
|
174 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
175 * @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
|
176 int delete_after_submit; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
177 /** 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
|
178 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
179 * @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
|
180 int delivery_report; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
181 /** 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
|
182 pst_binary encrypted_body; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
183 /** 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
|
184 pst_binary encrypted_htmlbody; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
185 /** 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
|
186 pst_string header; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
187 /** mapi element 0x1013 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
188 pst_string htmlbody; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
189 /** mapi element 0x0017 PR_IMPORTANCE |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
190 * @li 0 low |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
191 * @li 1 normal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
192 * @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
|
193 int32_t importance; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
194 /** mapi element 0x1042 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
195 pst_string in_reply_to; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
196 /** 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
|
197 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
198 * @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
|
199 int message_cc_me; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
200 /** 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
|
201 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
202 * @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
|
203 int message_recip_me; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
204 /** 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
|
205 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
206 * @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
|
207 int message_to_me; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
208 /** mapi element 0x1035 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
209 pst_string messageid; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
210 /** mapi element 0x002e PR_ORIGINAL_SENSITIVITY |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
211 * @li 0=none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
212 * @li 1=personal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
213 * @li 2=private |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
214 * @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
|
215 int32_t original_sensitivity; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
216 /** 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
|
217 pst_string original_bcc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
218 /** 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
|
219 pst_string original_cc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
220 /** 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
|
221 pst_string original_to; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
222 /** 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
|
223 pst_string outlook_recipient; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
224 /** 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
|
225 pst_string outlook_recipient_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
226 /** 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
|
227 pst_string outlook_recipient2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
228 /** 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
|
229 pst_string outlook_sender; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
230 /** 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
|
231 pst_string outlook_sender_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
232 /** 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
|
233 pst_string outlook_sender2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
234 /** mapi element 0x0026 PR_PRIORITY |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
235 * @li 0 nonurgent |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
236 * @li 1 normal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
237 * @li 2 urgent */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
238 /** 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
|
239 int32_t priority; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
240 /** 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
|
241 pst_string processed_subject; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
242 /** 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
|
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 read_receipt; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
246 /** 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
|
247 pst_string recip_access; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
248 /** 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
|
249 pst_string recip_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
250 /** 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
|
251 pst_string recip2_access; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
252 /** 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
|
253 pst_string recip2_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
254 /** mapi element 0x0c17 PR_REPLY_REQUESTED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
255 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
256 * @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
|
257 int reply_requested; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
258 /** 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
|
259 pst_string reply_to; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
260 /** 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
|
261 pst_string return_path_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
262 /** 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
|
263 * 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
|
264 * 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
|
265 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
|
266 /** 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
|
267 int32_t rtf_body_crc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
268 /** 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
|
269 * 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
|
270 * 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
|
271 pst_string rtf_body_tag; |
193 | 272 /** mapi element 0x1009 PR_RTF_COMPRESSED, |
273 * the compressed rtf body data. | |
274 * 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
|
275 pst_binary rtf_compressed; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
276 /** 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
|
277 * 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
|
278 * 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
|
279 * 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
|
280 * cannot update to the rtf. |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
281 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
282 * @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
|
283 int rtf_in_sync; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
284 /** 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
|
285 * 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
|
286 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
|
287 /** 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
|
288 * 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
|
289 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
|
290 /** 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
|
291 pst_string sender_access; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
292 /** 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
|
293 pst_string sender_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
294 /** 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
|
295 pst_string sender2_access; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
296 /** 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
|
297 pst_string sender2_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
298 /** mapi element 0x0036 PR_SENSITIVITY |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
299 * @li 0=none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
300 * @li 1=personal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
301 * @li 2=private |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
302 * @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
|
303 int32_t sensitivity; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
304 /** 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
|
305 FILETIME *sent_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
306 /** 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
|
307 pst_entryid *sentmail_folder; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
308 /** 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
|
309 pst_string sentto_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
310 /** 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
|
311 pst_string report_text; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
312 /** 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
|
313 FILETIME *report_time; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
314 /** 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
|
315 int32_t ndr_reason_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
316 /** 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
|
317 int32_t ndr_diag_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
318 /** 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
|
319 pst_string supplementary_info; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
320 /** 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
|
321 int32_t ndr_status_code; |
308
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
322 |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
323 // elements added for .msg processing |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
324 /** mapi element 0x0040 PR_RECEIVED_BY_NAME */ |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
325 pst_string outlook_received_name1; |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
326 /** mapi element 0x0c1a PR_SENDER_NAME */ |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
327 pst_string outlook_sender_name2; |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
328 /** mapi element 0x0e1d PR_NORMALIZED_SUBJECT */ |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
329 pst_string outlook_normalized_subject; |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
330 /** mapi element 0x300b PR_SEARCH_KEY */ |
97c53c6868ab
add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
331 pst_string outlook_search_key; |
16 | 332 } pst_item_email; |
333 | |
49 | 334 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
335 /** 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
|
336 */ |
46 | 337 typedef struct pst_item_folder { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
338 /** 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
|
339 int32_t item_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
340 /** 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
|
341 int32_t unseen_item_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
342 /** 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
|
343 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
|
344 */ |
49 | 345 int32_t assoc_count; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
346 /** mapi element 0x360a PR_SUBFOLDERS |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
347 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
348 * @li 0 false */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
349 /** 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
|
350 int subfolder; |
16 | 351 } pst_item_folder; |
352 | |
49 | 353 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
354 /** 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
|
355 */ |
46 | 356 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
|
357 /** mapi element 0x35e0 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
358 pst_entryid *top_of_personal_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
359 /** mapi element 0x35e2 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
360 pst_entryid *default_outbox_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
361 /** mapi element 0x35e3 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
362 pst_entryid *deleted_items_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
363 /** mapi element 0x35e4 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
364 pst_entryid *sent_items_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
365 /** mapi element 0x35e5 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
366 pst_entryid *user_views_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
367 /** mapi element 0x35e6 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
368 pst_entryid *common_view_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
369 /** mapi element 0x35e7 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
370 pst_entryid *search_root_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
371 /** mapi element 0x7c07 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
372 pst_entryid *top_of_folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
373 /** mapi element 0x35df, |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
374 * 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
|
375 * @li 0x1 FOLDER_IPM_SUBTREE_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
376 * @li 0x2 FOLDER_IPM_INBOX_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
377 * @li 0x4 FOLDER_IPM_OUTBOX_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
378 * @li 0x8 FOLDER_IPM_WASTEBOX_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
379 * @li 0x10 FOLDER_IPM_SENTMAIL_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
380 * @li 0x20 FOLDER_VIEWS_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
381 * @li 0x40 FOLDER_COMMON_VIEWS_VALID |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
382 * @li 0x80 FOLDER_FINDER_VALID */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
383 int32_t valid_mask; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
384 /** mapi element 0x76ff */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
385 int32_t pwd_chksum; |
16 | 386 } pst_item_message_store; |
387 | |
49 | 388 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
389 /** 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
|
390 */ |
46 | 391 typedef struct pst_item_contact { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
392 /** 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
|
393 pst_string account_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
394 /** 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
|
395 pst_string address1; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
396 /** mapi element 0x8085 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
397 pst_string address1a; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
398 /** mapi element 0x8084 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
399 pst_string address1_desc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
400 /** 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
|
401 pst_string address1_transport; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
402 /** mapi element 0x8093 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
403 pst_string address2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
404 /** mapi element 0x8095 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
405 pst_string address2a; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
406 /** mapi element 0x8094 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
407 pst_string address2_desc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
408 /** mapi element 0x8092 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
409 pst_string address2_transport; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
410 /** mapi element 0x80a3 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
411 pst_string address3; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
412 /** mapi element 0x80a5 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
413 pst_string address3a; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
414 /** mapi element 0x80a4 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
415 pst_string address3_desc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
416 /** mapi element 0x80a2 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
417 pst_string address3_transport; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
418 /** 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
|
419 pst_string assistant_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
420 /** 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
|
421 pst_string assistant_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
422 /** mapi element 0x8535 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
423 pst_string billing_information; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
424 /** 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
|
425 FILETIME *birthday; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
426 /** mapi element 0x801b */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
427 pst_string business_address; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
428 /** 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
|
429 pst_string business_city; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
430 /** 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
|
431 pst_string business_country; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
432 /** 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
|
433 pst_string business_fax; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
434 /** 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
|
435 pst_string business_homepage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
436 /** 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
|
437 pst_string business_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
438 /** 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
|
439 pst_string business_phone2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
440 /** 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
|
441 pst_string business_po_box; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
442 /** 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
|
443 pst_string business_postal_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
444 /** 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
|
445 pst_string business_state; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
446 /** 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
|
447 pst_string business_street; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
448 /** 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
|
449 pst_string callback_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
450 /** 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
|
451 pst_string car_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
452 /** 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
|
453 pst_string company_main_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
454 /** 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
|
455 pst_string company_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
456 /** 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
|
457 pst_string computer_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
458 /** 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
|
459 pst_string customer_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
460 /** 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
|
461 pst_string def_postal_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
462 /** 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
|
463 pst_string department; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
464 /** 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
|
465 pst_string display_name_prefix; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
466 /** 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
|
467 pst_string first_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
468 /** mapi element 0x8530 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
469 pst_string followup; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
470 /** mapi element 0x80d8 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
471 pst_string free_busy_address; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
472 /** 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
|
473 pst_string ftp_site; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
474 /** mapi element 0x8005 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
475 pst_string fullname; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
476 /** mapi element 0x3a4d PR_GENDER |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
477 * @li 0 unspecified |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
478 * @li 1 female |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
479 * @li 2 male */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
480 int16_t gender; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
481 /** 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
|
482 pst_string gov_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
483 /** 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
|
484 pst_string hobbies; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
485 /** mapi element 0x801a */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
486 pst_string home_address; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
487 /** 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
|
488 pst_string home_city; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
489 /** 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
|
490 pst_string home_country; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
491 /** 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
|
492 pst_string home_fax; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
493 /** 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
|
494 pst_string home_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
495 /** 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
|
496 pst_string home_phone2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
497 /** 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
|
498 pst_string home_po_box; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
499 /** 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
|
500 pst_string home_postal_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
501 /** 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
|
502 pst_string home_state; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
503 /** 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
|
504 pst_string home_street; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
505 /** 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
|
506 pst_string initials; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
507 /** 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
|
508 pst_string isdn_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
509 /** 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
|
510 pst_string job_title; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
511 /** 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
|
512 pst_string keyword; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
513 /** 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
|
514 pst_string language; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
515 /** 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
|
516 pst_string location; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
517 /** mapi element 0x3a0e PR_MAIL_PERMISSION |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
518 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
519 * @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
|
520 int mail_permission; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
521 /** 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
|
522 pst_string manager_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
523 /** 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
|
524 pst_string middle_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
525 /** mapi element 0x8534 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
526 pst_string mileage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
527 /** 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
|
528 pst_string mobile_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
529 /** 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
|
530 pst_string nickname; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
531 /** 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
|
532 pst_string office_loc; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
533 /** 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
|
534 pst_string common_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
535 /** 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
|
536 pst_string org_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
537 /** mapi element 0x801c */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
538 pst_string other_address; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
539 /** 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
|
540 pst_string other_city; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
541 /** 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
|
542 pst_string other_country; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
543 /** 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
|
544 pst_string other_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
545 /** 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
|
546 pst_string other_po_box; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
547 /** 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
|
548 pst_string other_postal_code; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
549 /** 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
|
550 pst_string other_state; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
551 /** 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
|
552 pst_string other_street; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
553 /** 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
|
554 pst_string pager_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
555 /** 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
|
556 pst_string personal_homepage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
557 /** 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
|
558 pst_string pref_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
559 /** 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
|
560 pst_string primary_fax; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
561 /** 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
|
562 pst_string primary_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
563 /** 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
|
564 pst_string profession; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
565 /** 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
|
566 pst_string radio_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
567 /** 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
|
568 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
569 * @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
|
570 int rich_text; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
571 /** 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
|
572 pst_string spouse_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
573 /** 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
|
574 pst_string suffix; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
575 /** 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
|
576 pst_string surname; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
577 /** 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
|
578 pst_string telex; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
579 /** 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
|
580 pst_string transmittable_display_name; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
581 /** 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
|
582 pst_string ttytdd_phone; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
583 /** 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
|
584 FILETIME *wedding_anniversary; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
585 /** mapi element 0x8045 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
586 pst_string work_address_street; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
587 /** mapi element 0x8046 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
588 pst_string work_address_city; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
589 /** mapi element 0x8047 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
590 pst_string work_address_state; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
591 /** mapi element 0x8048 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
592 pst_string work_address_postalcode; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
593 /** mapi element 0x8049 */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
594 pst_string work_address_country; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
595 /** mapi element 0x804a */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
596 pst_string work_address_postofficebox; |
16 | 597 } pst_item_contact; |
598 | |
49 | 599 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
600 /** 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
|
601 */ |
46 | 602 typedef struct pst_item_attach { |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
603 /** 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
|
604 pst_string filename1; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
605 /** 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
|
606 pst_string filename2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
607 /** 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
|
608 pst_string mimetype; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
609 /** 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
|
610 pst_binary data; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
611 /** 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
|
612 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
|
613 /** 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
|
614 uint64_t i_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
615 /** 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
|
616 pst_id2_tree *id2_head; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
617 /** mapi element 0x3705 PR_ATTACH_METHOD |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
618 * @li 0 no attachment |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
619 * @li 1 attach by value |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
620 * @li 2 attach by reference |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
621 * @li 3 attach by reference resolve |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
622 * @li 4 attach by reference only |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
623 * @li 5 embedded message |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
624 * @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
|
625 int32_t method; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
626 /** 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
|
627 int32_t position; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
628 /** 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
|
629 int32_t sequence; |
49 | 630 struct pst_item_attach *next; |
16 | 631 } pst_item_attach; |
632 | |
49 | 633 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
634 /** linked list of extra header fields */ |
46 | 635 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
|
636 char *field_name; |
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
637 char *value; |
49 | 638 struct pst_item_extra_field *next; |
16 | 639 } pst_item_extra_field; |
640 | |
49 | 641 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
642 /** 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
|
643 */ |
46 | 644 typedef struct pst_item_journal { |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
645 /** mapi element 0x8706 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
646 FILETIME *start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
647 /** mapi element 0x8708 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
648 FILETIME *end; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
649 /** mapi element 0x8700 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
650 pst_string type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
651 /** mapi element 0x8712 */ |
152 | 652 pst_string description; |
16 | 653 } pst_item_journal; |
654 | |
49 | 655 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
656 /** 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
|
657 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
|
658 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
659 typedef struct pst_recurrence { |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
660 /** 0x30043004 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
661 uint32_t signature; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
662 /** @li 0 daily |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
663 * @li 1 weekly |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
664 * @li 2 monthly |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
665 * @li 3 yearly */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
666 uint32_t type; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
667 /** implies number of recurrence parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
668 * @li 0 has 3 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
669 * @li 1 has 4 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
670 * @li 2 has 4 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
671 * @li 3 has 5 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
672 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
673 uint32_t sub_type; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
674 /** 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
|
675 uint32_t parm1; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
676 uint32_t parm2; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
677 uint32_t parm3; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
678 uint32_t parm4; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
679 uint32_t parm5; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
680 /** type of termination of the recurrence |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
681 @li 0 terminates on a date |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
682 @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
|
683 @li 2 never terminates |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
684 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
685 uint32_t termination; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
686 /** 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
|
687 uint32_t interval; |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
688 /** bit mask of days of the week */ |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
689 uint32_t bydaymask; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
690 /** 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
|
691 uint32_t dayofmonth; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
692 /** month of year for yearly recurrences */ |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
693 uint32_t monthofyear; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
694 /** 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
|
695 uint32_t position; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
696 /** 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
|
697 uint32_t count; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
698 // 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
|
699 // 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
|
700 } pst_recurrence; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
701 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
702 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
703 /** 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
|
704 */ |
46 | 705 typedef struct pst_item_appointment { |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
706 /** 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
|
707 FILETIME *start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
708 /** 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
|
709 FILETIME *end; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
710 /** 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
|
711 pst_string location; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
712 /** 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
|
713 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
714 * @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
|
715 int alarm; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
716 /** mapi element 0x8560 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
717 FILETIME *reminder; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
718 /** 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
|
719 int32_t alarm_minutes; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
720 /** mapi element 0x851f */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
721 pst_string alarm_filename; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
722 /** mapi element 0x8234 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
723 pst_string timezonestring; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
724 /** 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
|
725 * @li 0 free |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
726 * @li 1 tentative |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
727 * @li 2 busy |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
728 * @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
|
729 int32_t showas; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
730 /** mapi element 0x8214 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
731 * @li 0 None |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
732 * @li 1 Important |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
733 * @li 2 Business |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
734 * @li 3 Personal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
735 * @li 4 Vacation |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
736 * @li 5 Must Attend |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
737 * @li 6 Travel Required |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
738 * @li 7 Needs Preparation |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
739 * @li 8 Birthday |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
740 * @li 9 Anniversary |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
741 * @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
|
742 int32_t label; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
743 /** 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
|
744 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
745 * @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
|
746 int all_day; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
747 /** 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
|
748 * @li 1 true |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
749 * @li 0 false */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
750 int is_recurring; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
751 /** mapi element 0x8231 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
752 * @li 0 none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
753 * @li 1 daily |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
754 * @li 2 weekly |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
755 * @li 3 monthly |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
756 * @li 4 yearly */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
757 int32_t recurrence_type; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
758 /** mapi element 0x8232 recurrence description */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
759 pst_string recurrence_description; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
760 /** mapi element 0x8216 recurrence data */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
761 pst_binary recurrence_data; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
762 /** 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
|
763 FILETIME *recurrence_start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
764 /** 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
|
765 FILETIME *recurrence_end; |
16 | 766 } pst_item_appointment; |
767 | |
49 | 768 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
769 /** 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
|
770 * 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
|
771 */ |
46 | 772 typedef struct pst_item { |
298
201464dd356e
add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents:
297
diff
changeset
|
773 /** pointer to the pst_file */ |
201464dd356e
add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents:
297
diff
changeset
|
774 struct pst_file *pf; |
297
8b3a827b71f4
add alarm reminders to calendar events
Carl Byington <carl@five-ten-sg.com>
parents:
292
diff
changeset
|
775 /** block id that can be used to generate uid */ |
8b3a827b71f4
add alarm reminders to calendar events
Carl Byington <carl@five-ten-sg.com>
parents:
292
diff
changeset
|
776 uint64_t block_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
777 /** email mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
778 pst_item_email *email; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
779 /** folder mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
780 pst_item_folder *folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
781 /** contact mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
782 pst_item_contact *contact; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
783 /** linked list of attachments */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
784 pst_item_attach *attach; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
785 /** message store mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
786 pst_item_message_store *message_store; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
787 /** 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
|
788 pst_item_extra_field *extra_fields; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
789 /** journal mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
790 pst_item_journal *journal; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
791 /** calendar mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
792 pst_item_appointment *appointment; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
793 /** 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
|
794 * @li 1 PST_TYPE_NOTE |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
795 * @li 2 PST_TYPE_SCHEDULE |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
796 * @li 8 PST_TYPE_APPOINTMENT |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
797 * @li 9 PST_TYPE_CONTACT |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
798 * @li 10 PST_TYPE_JOURNAL |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
799 * @li 11 PST_TYPE_STICKYNOTE |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
800 * @li 12 PST_TYPE_TASK |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
801 * @li 13 PST_TYPE_OTHER |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
802 * @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
|
803 int type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
804 /** 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
|
805 char *ascii_type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
806 /** mapi element 0x0e07 PR_MESSAGE_FLAGS |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
807 * @li 0x01 Read |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
808 * @li 0x02 Unmodified |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
809 * @li 0x04 Submit |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
810 * @li 0x08 Unsent |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
811 * @li 0x10 Has Attachments |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
812 * @li 0x20 From Me |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
813 * @li 0x40 Associated |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
814 * @li 0x80 Resend |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
815 * @li 0x100 RN Pending |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
816 * @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
|
817 int32_t flags; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
818 /** 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
|
819 pst_string file_as; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
820 /** 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
|
821 pst_string comment; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
822 /** 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
|
823 pst_string body_charset; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
824 /** 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
|
825 pst_string body; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
826 /** 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
|
827 pst_string subject; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
828 /** 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
|
829 int32_t internet_cpid; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
830 /** 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
|
831 int32_t message_codepage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
832 /** 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
|
833 int32_t message_size; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
834 /** 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
|
835 pst_string outlook_version; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
836 /** 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
|
837 pst_binary record_key; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
838 /** 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
|
839 pst_binary predecessor_change; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
840 /** mapi element 0x0063 PR_RESPONSE_REQUESTED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
841 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
842 * @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
|
843 int response_requested; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
844 /** 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
|
845 FILETIME *create_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
846 /** 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
|
847 FILETIME *modify_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
848 /** 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
|
849 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
850 * @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
|
851 int private_member; |
16 | 852 } pst_item; |
853 | |
49 | 854 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
855 /** 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
|
856 * 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
|
857 * 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
|
858 * 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
|
859 * 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
|
860 * (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
|
861 * (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
|
862 */ |
46 | 863 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
|
864 /** @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
|
865 @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
|
866 */ |
49 | 867 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
|
868 /** key for the mapping */ |
49 | 869 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
|
870 /** 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
|
871 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
|
872 /** link to next item in the list */ |
49 | 873 struct pst_x_attrib_ll *next; |
16 | 874 } pst_x_attrib_ll; |
875 | |
49 | 876 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
877 /** this is only used for internal debugging */ |
52 | 878 typedef struct pst_block_recorder { |
879 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
|
880 int64_t offset; |
52 | 881 size_t size; |
882 int readcount; | |
883 } pst_block_recorder; | |
884 | |
885 | |
46 | 886 typedef struct pst_file { |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
887 /** file pointer to opened PST file */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
888 FILE* fp; |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
889 /** original cwd when the file was opened */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
890 char* cwd; |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
891 /** original file name when the file was opened */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
892 char* fname; |
298
201464dd356e
add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents:
297
diff
changeset
|
893 /** default character set for items without one */ |
328 | 894 const char* charset; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
895 /** the head and tail of the linked list of index structures */ |
49 | 896 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
|
897 /** 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
|
898 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
|
899 /** the head of the extended attributes linked list */ |
49 | 900 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
|
901 /** 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
|
902 * 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
|
903 * block multiple times while processing a pst file. */ |
52 | 904 pst_block_recorder *block_head; |
46 | 905 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
906 /** @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
|
907 * @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
|
908 int do_read64; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
909 /** file offset of the first b-tree node in the index tree */ |
49 | 910 uint64_t index1; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
911 /** back pointer value in the first b-tree node in the index tree */ |
49 | 912 uint64_t index1_back; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
913 /** file offset of the first b-tree node in the descriptor tree*/ |
49 | 914 uint64_t index2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
915 /** back pointer value in the first b-tree node in the descriptor tree */ |
49 | 916 uint64_t index2_back; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
917 /** size of the pst file */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
918 uint64_t size; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
919 /** @li 0 PST_NO_ENCRYPT, none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
920 * @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
|
921 * @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
|
922 unsigned char encryption; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
923 /** index type or file type |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
924 * @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
|
925 * @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
|
926 * @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
|
927 * @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
|
928 unsigned char ind_type; |
16 | 929 } pst_file; |
930 | |
49 | 931 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
932 /** Open a pst file. |
298
201464dd356e
add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents:
297
diff
changeset
|
933 * @param pf pointer to uninitialized pst_file structure. This structure |
201464dd356e
add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents:
297
diff
changeset
|
934 * will be filled in by this function. |
201464dd356e
add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents:
297
diff
changeset
|
935 * @param name name of the file, suitable for fopen(). |
201464dd356e
add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents:
297
diff
changeset
|
936 * @param charset default charset for item with unspecified character sets |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
937 * @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
|
938 */ |
298
201464dd356e
add default character set for items where the pst file does not specify a character set
Carl Byington <carl@five-ten-sg.com>
parents:
297
diff
changeset
|
939 int pst_open(pst_file *pf, const char *name, const char *charset); |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
940 |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
941 |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
942 /** Reopen the pst file after a fork |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
943 * @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
|
944 * @return 0 if ok, -1 if error |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
945 */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
946 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
|
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 /** 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
|
950 * 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
|
951 * 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
|
952 * @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
|
953 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
954 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
|
955 |
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 /** 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
|
958 * 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
|
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 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
961 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
|
962 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
963 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
964 /** 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
|
965 * @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
|
966 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
967 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
|
968 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
969 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
970 /** 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
|
971 * 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
|
972 * @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
|
973 * @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
|
974 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
975 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
|
976 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
977 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
978 /** 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
|
979 * @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
|
980 * @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
|
981 * @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
|
982 * 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
|
983 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
984 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
|
985 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
986 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
987 /** 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
|
988 * @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
|
989 * @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
|
990 * @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
|
991 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
992 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
|
993 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
994 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
995 /** 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
|
996 * @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
|
997 * @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
|
998 * @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
|
999 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1000 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
|
1001 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1002 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1003 /** 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
|
1004 * @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
|
1005 * @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
|
1006 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1007 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
|
1008 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1009 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1010 /** 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
|
1011 * @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
|
1012 * @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
|
1013 * @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
|
1014 * 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
|
1015 * @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
|
1016 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1017 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
|
1018 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1019 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1020 /** 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
|
1021 * @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
|
1022 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1023 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
|
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 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1026 /** 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
|
1027 * @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
|
1028 * @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
|
1029 * @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
|
1030 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1031 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
|
1032 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1033 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1034 /** 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
|
1035 * @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
|
1036 * @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
|
1037 * @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
|
1038 * 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
|
1039 * @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
|
1040 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1041 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
|
1042 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1043 |
328 | 1044 /** compare strings case-insensitive. |
1045 * @return -1 if a < b, 0 if a==b, 1 if a > b | |
1046 */ | |
1047 int pst_stricmp(char *a, char *b); | |
1048 | |
1049 | |
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 /** 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
|
1051 * @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
|
1052 * @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
|
1053 * @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
|
1054 * @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
|
1055 * @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
|
1056 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1057 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
|
1058 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1059 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1060 /** 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
|
1061 * @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
|
1062 * @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
|
1063 * @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
|
1064 * @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
|
1065 * 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
|
1066 * 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
|
1067 */ |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1068 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
|
1069 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1070 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1071 /** 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
|
1072 * 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
|
1073 * @param[in] ft time to be converted |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
1074 * @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
|
1075 * @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
|
1076 * @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
|
1077 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1078 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
|
1079 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1080 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1081 /** 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
|
1082 * @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
|
1083 * @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
|
1084 * @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
|
1085 * @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
|
1086 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1087 char* pst_rfc2445_datetime_format(const FILETIME* ft, int buflen, char* result); |
43 | 1088 |
16 | 1089 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1090 /** 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
|
1091 * @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
|
1092 * @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
|
1093 * @return time in rfc2445 format |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1094 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1095 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
|
1096 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1097 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1098 /** 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
|
1099 * 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
|
1100 * @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
|
1101 * @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
|
1102 * @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
|
1103 * @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
|
1104 */ |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1105 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
|
1106 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1107 |
257
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1108 /** Convert str to rfc2231 encoding of str |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1109 * @param str pointer to the mapi string of interest |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1110 */ |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1111 void pst_rfc2231(pst_string *str); |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1112 |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1113 |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1114 /** Convert str to rfc2047 encoding of str, possibly enclosed in quotes if it contains spaces |
271 | 1115 * @param item pointer to the containing mapi item |
1116 * @param str pointer to the mapi string of interest | |
1117 * @param needs_quote true if strings containing spaces should be wrapped in quotes | |
257
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1118 */ |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1119 void pst_rfc2047(pst_item *item, pst_string *str, int needs_quote); |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1120 |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1121 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1122 /** 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
|
1123 * @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
|
1124 * @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
|
1125 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1126 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
|
1127 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1128 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1129 /** 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
|
1130 * @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
|
1131 * @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
|
1132 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1133 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
|
1134 |
130
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1135 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1136 /** 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
|
1137 * @param appt pointer to appointment structure |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1138 * @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
|
1139 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1140 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
|
1141 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1142 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1143 /** Free a recurrence structure. |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1144 * @param r input pointer to be freed |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1145 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1146 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
|
1147 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1148 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1149 |
130
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1150 // 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
|
1151 // 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
|
1152 #ifdef _MSC_VER |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1153 #pragma pack(pop) |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1154 #endif |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1155 #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
|
1156 #pragma pack() |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1157 #endif |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1158 |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1159 |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1160 |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
176
diff
changeset
|
1161 #endif |