Mercurial > libpst
annotate src/libpst.h @ 355:d1f930be4711
From Jeffrey Morlan:
pst_build_id_ptr and pst_build_desc_ptr require that the first child
of a BTree page have the same starting ID as itself. This is not
required by the spec, and is not true in many real-world PSTs
(presumably, the original first child of the page got
deleted). Because of this, many emails are not being extracted from
these PSTs. It also triggers an infinite loop in lspst (a separate
bug, also fixed)
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Wed, 06 Jul 2016 10:12:22 -0700 |
parents | 09dd5299d91c |
children | 26c48ea9d896 |
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; |
352
09dd5299d91c
Added Content-ID header support
Igor Stroh <igor.stroh@rulim.de>
parents:
328
diff
changeset
|
609 /** mapi element 0x3712 PR_ATTACH_CONTENT_ID */ |
09dd5299d91c
Added Content-ID header support
Igor Stroh <igor.stroh@rulim.de>
parents:
328
diff
changeset
|
610 pst_string content_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
611 /** 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
|
612 pst_binary data; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
613 /** 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
|
614 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
|
615 /** 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
|
616 uint64_t i_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
617 /** 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
|
618 pst_id2_tree *id2_head; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
619 /** mapi element 0x3705 PR_ATTACH_METHOD |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
620 * @li 0 no attachment |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
621 * @li 1 attach by value |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
622 * @li 2 attach by reference |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
623 * @li 3 attach by reference resolve |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
624 * @li 4 attach by reference only |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
625 * @li 5 embedded message |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
626 * @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
|
627 int32_t method; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
628 /** 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
|
629 int32_t position; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
630 /** 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
|
631 int32_t sequence; |
49 | 632 struct pst_item_attach *next; |
16 | 633 } pst_item_attach; |
634 | |
49 | 635 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
636 /** linked list of extra header fields */ |
46 | 637 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
|
638 char *field_name; |
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
639 char *value; |
49 | 640 struct pst_item_extra_field *next; |
16 | 641 } pst_item_extra_field; |
642 | |
49 | 643 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
644 /** 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
|
645 */ |
46 | 646 typedef struct pst_item_journal { |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
647 /** mapi element 0x8706 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
648 FILETIME *start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
649 /** mapi element 0x8708 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
650 FILETIME *end; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
651 /** mapi element 0x8700 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
652 pst_string type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
653 /** mapi element 0x8712 */ |
152 | 654 pst_string description; |
16 | 655 } pst_item_journal; |
656 | |
49 | 657 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
658 /** 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
|
659 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
|
660 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
661 typedef struct pst_recurrence { |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
662 /** 0x30043004 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
663 uint32_t signature; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
664 /** @li 0 daily |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
665 * @li 1 weekly |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
666 * @li 2 monthly |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
667 * @li 3 yearly */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
668 uint32_t type; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
669 /** implies number of recurrence parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
670 * @li 0 has 3 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
671 * @li 1 has 4 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
672 * @li 2 has 4 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
673 * @li 3 has 5 parameters |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
674 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
675 uint32_t sub_type; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
676 /** 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
|
677 uint32_t parm1; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
678 uint32_t parm2; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
679 uint32_t parm3; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
680 uint32_t parm4; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
681 uint32_t parm5; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
682 /** type of termination of the recurrence |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
683 @li 0 terminates on a date |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
684 @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
|
685 @li 2 never terminates |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
686 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
687 uint32_t termination; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
688 /** 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
|
689 uint32_t interval; |
199
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
690 /** bit mask of days of the week */ |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
691 uint32_t bydaymask; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
692 /** 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
|
693 uint32_t dayofmonth; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
694 /** month of year for yearly recurrences */ |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
695 uint32_t monthofyear; |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
696 /** 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
|
697 uint32_t position; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
698 /** 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
|
699 uint32_t count; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
700 // 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
|
701 // 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
|
702 } pst_recurrence; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
703 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
704 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
705 /** 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
|
706 */ |
46 | 707 typedef struct pst_item_appointment { |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
708 /** 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
|
709 FILETIME *start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
710 /** 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
|
711 FILETIME *end; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
712 /** 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
|
713 pst_string location; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
714 /** 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
|
715 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
716 * @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
|
717 int alarm; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
718 /** mapi element 0x8560 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
719 FILETIME *reminder; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
720 /** 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
|
721 int32_t alarm_minutes; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
722 /** mapi element 0x851f */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
723 pst_string alarm_filename; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
724 /** mapi element 0x8234 */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
725 pst_string timezonestring; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
726 /** 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
|
727 * @li 0 free |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
728 * @li 1 tentative |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
729 * @li 2 busy |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
730 * @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
|
731 int32_t showas; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
732 /** mapi element 0x8214 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
733 * @li 0 None |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
734 * @li 1 Important |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
735 * @li 2 Business |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
736 * @li 3 Personal |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
737 * @li 4 Vacation |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
738 * @li 5 Must Attend |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
739 * @li 6 Travel Required |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
740 * @li 7 Needs Preparation |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
741 * @li 8 Birthday |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
742 * @li 9 Anniversary |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
743 * @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
|
744 int32_t label; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
745 /** 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
|
746 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
747 * @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
|
748 int all_day; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
749 /** 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
|
750 * @li 1 true |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
751 * @li 0 false */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
752 int is_recurring; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
753 /** mapi element 0x8231 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
754 * @li 0 none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
755 * @li 1 daily |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
756 * @li 2 weekly |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
757 * @li 3 monthly |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
758 * @li 4 yearly */ |
151
cda7c812ec01
track character set individually for each mapi element
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
759 int32_t recurrence_type; |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
760 /** mapi element 0x8232 recurrence description */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
761 pst_string recurrence_description; |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
762 /** mapi element 0x8216 recurrence data */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
763 pst_binary recurrence_data; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
764 /** 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
|
765 FILETIME *recurrence_start; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
766 /** 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
|
767 FILETIME *recurrence_end; |
16 | 768 } pst_item_appointment; |
769 | |
49 | 770 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
771 /** 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
|
772 * 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
|
773 */ |
46 | 774 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
|
775 /** 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
|
776 struct pst_file *pf; |
297
8b3a827b71f4
add alarm reminders to calendar events
Carl Byington <carl@five-ten-sg.com>
parents:
292
diff
changeset
|
777 /** 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
|
778 uint64_t block_id; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
779 /** email mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
780 pst_item_email *email; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
781 /** folder mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
782 pst_item_folder *folder; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
783 /** contact mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
784 pst_item_contact *contact; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
785 /** linked list of attachments */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
786 pst_item_attach *attach; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
787 /** message store mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
788 pst_item_message_store *message_store; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
789 /** 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
|
790 pst_item_extra_field *extra_fields; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
791 /** journal mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
792 pst_item_journal *journal; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
793 /** calendar mapi elements */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
794 pst_item_appointment *appointment; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
795 /** 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
|
796 * @li 1 PST_TYPE_NOTE |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
797 * @li 2 PST_TYPE_SCHEDULE |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
798 * @li 8 PST_TYPE_APPOINTMENT |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
799 * @li 9 PST_TYPE_CONTACT |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
800 * @li 10 PST_TYPE_JOURNAL |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
801 * @li 11 PST_TYPE_STICKYNOTE |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
802 * @li 12 PST_TYPE_TASK |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
803 * @li 13 PST_TYPE_OTHER |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
804 * @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
|
805 int type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
806 /** 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
|
807 char *ascii_type; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
808 /** mapi element 0x0e07 PR_MESSAGE_FLAGS |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
809 * @li 0x01 Read |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
810 * @li 0x02 Unmodified |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
811 * @li 0x04 Submit |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
812 * @li 0x08 Unsent |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
813 * @li 0x10 Has Attachments |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
814 * @li 0x20 From Me |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
815 * @li 0x40 Associated |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
816 * @li 0x80 Resend |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
817 * @li 0x100 RN Pending |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
818 * @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
|
819 int32_t flags; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
820 /** 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
|
821 pst_string file_as; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
822 /** 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
|
823 pst_string comment; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
824 /** 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
|
825 pst_string body_charset; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
826 /** 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
|
827 pst_string body; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
828 /** 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
|
829 pst_string subject; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
830 /** 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
|
831 int32_t internet_cpid; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
832 /** 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
|
833 int32_t message_codepage; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
834 /** 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
|
835 int32_t message_size; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
836 /** 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
|
837 pst_string outlook_version; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
838 /** 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
|
839 pst_binary record_key; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
840 /** 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
|
841 pst_binary predecessor_change; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
842 /** mapi element 0x0063 PR_RESPONSE_REQUESTED |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
843 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
844 * @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
|
845 int response_requested; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
846 /** 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
|
847 FILETIME *create_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
848 /** 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
|
849 FILETIME *modify_date; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
850 /** 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
|
851 * @li 1 true |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
852 * @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
|
853 int private_member; |
16 | 854 } pst_item; |
855 | |
49 | 856 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
857 /** 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
|
858 * 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
|
859 * 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
|
860 * 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
|
861 * 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
|
862 * (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
|
863 * (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
|
864 */ |
46 | 865 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
|
866 /** @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
|
867 @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
|
868 */ |
49 | 869 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
|
870 /** key for the mapping */ |
49 | 871 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
|
872 /** 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
|
873 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
|
874 /** link to next item in the list */ |
49 | 875 struct pst_x_attrib_ll *next; |
16 | 876 } pst_x_attrib_ll; |
877 | |
49 | 878 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
879 /** this is only used for internal debugging */ |
52 | 880 typedef struct pst_block_recorder { |
881 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
|
882 int64_t offset; |
52 | 883 size_t size; |
884 int readcount; | |
885 } pst_block_recorder; | |
886 | |
887 | |
46 | 888 typedef struct pst_file { |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
889 /** file pointer to opened PST file */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
890 FILE* fp; |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
891 /** original cwd when the file was opened */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
892 char* cwd; |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
893 /** original file name when the file was opened */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
894 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
|
895 /** default character set for items without one */ |
328 | 896 const char* charset; |
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 linked list of index structures */ |
49 | 898 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
|
899 /** 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
|
900 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
|
901 /** the head of the extended attributes linked list */ |
49 | 902 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
|
903 /** 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
|
904 * 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
|
905 * block multiple times while processing a pst file. */ |
52 | 906 pst_block_recorder *block_head; |
46 | 907 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
908 /** @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
|
909 * @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
|
910 int do_read64; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
911 /** file offset of the first b-tree node in the index tree */ |
49 | 912 uint64_t index1; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
913 /** back pointer value in the first b-tree node in the index tree */ |
49 | 914 uint64_t index1_back; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
915 /** file offset of the first b-tree node in the descriptor tree*/ |
49 | 916 uint64_t index2; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
917 /** back pointer value in the first b-tree node in the descriptor tree */ |
49 | 918 uint64_t index2_back; |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
919 /** size of the pst file */ |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
920 uint64_t size; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
921 /** @li 0 PST_NO_ENCRYPT, none |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
922 * @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
|
923 * @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
|
924 unsigned char encryption; |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
925 /** index type or file type |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
926 * @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
|
927 * @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
|
928 * @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
|
929 * @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
|
930 unsigned char ind_type; |
16 | 931 } pst_file; |
932 | |
49 | 933 |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
934 /** 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
|
935 * @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
|
936 * 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
|
937 * @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
|
938 * @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
|
939 * @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
|
940 */ |
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
|
941 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
|
942 |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
943 |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
944 /** Reopen the pst file after a fork |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
945 * @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
|
946 * @return 0 if ok, -1 if error |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
947 */ |
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
948 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
|
949 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
950 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
951 /** 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
|
952 * 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
|
953 * 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
|
954 * @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
|
955 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
956 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
|
957 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
958 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
959 /** 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
|
960 * 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
|
961 * @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
|
962 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
963 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
|
964 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
965 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
966 /** 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
|
967 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
968 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
969 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
|
970 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
971 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
972 /** 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
|
973 * 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
|
974 * @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
|
975 * @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
|
976 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
977 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
|
978 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
979 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
980 /** 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
|
981 * @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
|
982 * @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
|
983 * @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
|
984 * 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
|
985 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
986 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
|
987 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
988 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
989 /** 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
|
990 * @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
|
991 * @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
|
992 * @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
|
993 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
994 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
|
995 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
996 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
997 /** 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
|
998 * @param pf pointer to the pst_file structure setup by pst_open(). |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
999 * @param 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
|
1000 * @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
|
1001 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1002 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
|
1003 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1004 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1005 /** 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
|
1006 * @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
|
1007 * @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
|
1008 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1009 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
|
1010 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1011 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1012 /** 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
|
1013 * @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
|
1014 * @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
|
1015 * @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
|
1016 * 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
|
1017 * @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
|
1018 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1019 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
|
1020 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1021 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1022 /** 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
|
1023 * @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
|
1024 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1025 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
|
1026 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1027 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1028 /** 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
|
1029 * @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
|
1030 * @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
|
1031 * @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
|
1032 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1033 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
|
1034 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1035 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1036 /** 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
|
1037 * @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
|
1038 * @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
|
1039 * @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
|
1040 * 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
|
1041 * @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
|
1042 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1043 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
|
1044 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1045 |
328 | 1046 /** compare strings case-insensitive. |
1047 * @return -1 if a < b, 0 if a==b, 1 if a > b | |
1048 */ | |
1049 int pst_stricmp(char *a, char *b); | |
1050 | |
1051 | |
191
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1052 /** 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
|
1053 * @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
|
1054 * @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
|
1055 * @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
|
1056 * @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
|
1057 * @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
|
1058 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1059 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
|
1060 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1061 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1062 /** 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
|
1063 * @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
|
1064 * @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
|
1065 * @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
|
1066 * @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
|
1067 * 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
|
1068 * 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
|
1069 */ |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1070 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
|
1071 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1072 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1073 /** 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
|
1074 * 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
|
1075 * @param[in] ft time to be converted |
e3a46f66332b
more changes in recurrence decoding
Carl Byington <carl@five-ten-sg.com>
parents:
198
diff
changeset
|
1076 * @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
|
1077 * @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
|
1078 * @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
|
1079 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1080 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
|
1081 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1082 |
4b498fd68464
add pst_attach_to_mem() back into the shared library interface.
Carl Byington <carl@five-ten-sg.com>
parents:
190
diff
changeset
|
1083 /** 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
|
1084 * @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
|
1085 * @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
|
1086 * @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
|
1087 * @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
|
1088 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1089 char* pst_rfc2445_datetime_format(const FILETIME* ft, int buflen, char* result); |
43 | 1090 |
16 | 1091 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1092 /** 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
|
1093 * @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
|
1094 * @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
|
1095 * @return time in rfc2445 format |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1096 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1097 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
|
1098 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1099 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1100 /** 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
|
1101 * 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
|
1102 * @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
|
1103 * @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
|
1104 * @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
|
1105 * @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
|
1106 */ |
211
94bde95d7e18
the shared library interface should now be thread safe
Carl Byington <carl@five-ten-sg.com>
parents:
204
diff
changeset
|
1107 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
|
1108 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1109 |
257
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1110 /** 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
|
1111 * @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
|
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 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
|
1114 |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1115 |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1116 /** Convert str to rfc2047 encoding of str, possibly enclosed in quotes if it contains spaces |
271 | 1117 * @param item pointer to the containing mapi item |
1118 * @param str pointer to the mapi string of interest | |
1119 * @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
|
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 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
|
1122 |
c947b8812120
rfc2047 and rfc2231 encoding for non-ascii headers and attachment filenames
Carl Byington <carl@five-ten-sg.com>
parents:
233
diff
changeset
|
1123 |
190
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1124 /** 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
|
1125 * @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
|
1126 * @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
|
1127 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1128 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
|
1129 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1130 |
e3a63888cdd4
add documentation for shared library interface
Carl Byington <carl@five-ten-sg.com>
parents:
188
diff
changeset
|
1131 /** 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
|
1132 * @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
|
1133 * @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
|
1134 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1135 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
|
1136 |
130
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1137 |
198
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1138 /** 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
|
1139 * @param appt pointer to appointment structure |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1140 * @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
|
1141 */ |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1142 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
|
1143 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1144 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1145 /** Free a recurrence structure. |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1146 * @param r input pointer to be freed |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1147 */ |
201
3850a3b11745
fixes for parallel readpst
Carl Byington <carl@five-ten-sg.com>
parents:
199
diff
changeset
|
1148 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
|
1149 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1150 |
7c60d6d1c681
decode more recurrence mapi elements
Carl Byington <carl@five-ten-sg.com>
parents:
195
diff
changeset
|
1151 |
130
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1152 // 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
|
1153 // 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
|
1154 #ifdef _MSC_VER |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1155 #pragma pack(pop) |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1156 #endif |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1157 #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
|
1158 #pragma pack() |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1159 #endif |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1160 |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1161 |
e35fd42bac05
more cleanup of include files
Carl Byington <carl@five-ten-sg.com>
parents:
128
diff
changeset
|
1162 |
182
b65e8d0a088a
more cleanup on external names in the shared object file
Carl Byington <carl@five-ten-sg.com>
parents:
176
diff
changeset
|
1163 #endif |