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