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