summaryrefslogtreecommitdiffstats
path: root/ktnef/ktnef/ktnefdefs.h
blob: d2e57aa58dbaa39f95a6a595250cc2b23d848178 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
#ifndef KTNEFDEFS_H
#define KTNEFDEFS_H

#define TNEF_SIGNATURE   0x223e9f78
#define LVL_MESSAGE      0x01
#define LVL_ATTACHMENT   0x02

#define atpSTRING   0x0001
#define atpTEXT     0x0002
#define atpDATE     0x0003
#define atpSHORT    0x0004
#define atpLONG     0x0005
#define atpBYTE     0x0006
#define atpWORD     0x0007
#define atpDWORD    0x0008

#define attDATESTART      0x0006
#define attDATEEND        0x0007
#define attAIDOWNER       0x0008
#define attREQUESTRES     0x0009
#define attFROM           0x8000
#define attSUBJECT        0x8004
#define attDATESENT       0x8005
#define attDATERECD       0x8006
#define attMSGSTATUS      0x8007
#define attMSGCLASS       0x8008
#define attMSGID          0x8009
#define attBODY           0x800c
#define attMSGPRIORITY    0x800d
#define attATTACHDATA	  0x800f	/* Attachment Data */
#define attATTACHTITLE	  0x8010	/* Attachment File Name */
#define attATTACHMETAFILE 0x8011
#define attATTACHCREATEDATE 0x8012
#define attATTACHMODDATE  0x8013
#define attDATEMODIFIED   0x8020
#define attATTACHRENDDATA 0x9002
#define attMAPIPROPS      0x9003
#define attRECIPTABLE     0x9004
#define attATTACHMENT	  0x9005	/* Attachment properties (?) */
#define attTNEFVERSION    0x9006
#define attOEMCODEPAGE    0x9007

/* These are found in TNEF documentation, but have so far not been implemented
#define attATTACHCREATEDATE        0x0000
#define attATTACHTRANSPORTFILENAME 0x0000
#define attCONVERSATIONID          0x0000
#define attORIGINALMSGCLASS        0x0000
#define attOWNER                   0x0000
#define attPARENTID                0x0000
#define attNULL                    0x0000
#define attDELEGATE                0x0000
#define attSENTFOR                 0x0000
*/

#define fmsModified   0x01
#define fmsLocal      0x02
#define fmsSubmitted  0x04
#define fmsRead       0x20
#define fmsHasAttach  0x80
#define MSGFLAG_READ       0x00000001
#define MSGFLAG_UNMODIFIED 0x00000002
#define MSGFLAG_SUBMIT     0x00000004
#define MSGFLAG_UNSENT     0x00000008
#define MSGFLAG_HASATTACH  0x00000010

// supported MAPI types
#define	MAPI_TYPE_NONE		0x0000
#define	MAPI_TYPE_UINT16	0x0002
#define	MAPI_TYPE_ULONG		0x0003
#define	MAPI_TYPE_FLOAT		0x0004
#define	MAPI_TYPE_DOUBLE	0x0005
#define MAPI_TYPE_BOOLEAN   0x000b
#define MAPI_TYPE_OBJECT    0x000d
#define	MAPI_TYPE_TIME		0x0040
#define	MAPI_TYPE_STRING8	0x001e
#define	MAPI_TYPE_USTRING	0x001f
#define	MAPI_TYPE_BINARY	0x0102
#define MAPI_TYPE_VECTOR    0x1000

// supported MAPI tags
#define	MAPI_TAG_INDEX		    0x0e21
#define	MAPI_TAG_SIZE		    0x0e20
#define	MAPI_TAG_FILENAME	    0x3707
#define	MAPI_TAG_DISPLAYNAME    0x3001
#define MAPI_TAG_DATA           0x3701
#define MAPI_TAG_ATTACHENCODING 0x3702
#define	MAPI_TAG_EXTENSION	    0x3703
#define MAPI_TAG_ATTACHQT_METHOD   0x3705
#define MAPI_TAG_RENDERINGPOS   0x370b
#define	MAPI_TAG_MIMETAG	    0x370e
#define MAPI_TAG_ATTACHFLAGS    0x3714

#define MAPI_IID_IMessage 0x00020307


// unsupported Outlook Contact Properties
// note: properties beginning with MAPI_TAG_CONTACT
//       are 'named' properties
#define MAPI_TAG_PR_MESSAGE_DELIVERY_TIME    0x0E060040  // CreationTime
#define MAPI_TAG_PR_MESSAGE_SIZE             0x0E080003  // Size
#define MAPI_TAG_PR_SENSITIVITY              0x00360003  // Sensitivity
#define MAPI_TAG_PR_MESSAGE_CLASS            0x001A001F  // MessageClass
#define MAPI_TAG_PR_IMPORTANCE               0x00170003  // Importance
#define MAPI_TAG_PR_ENTRYID                  0x0FFF0102  // EntryID
#define MAPI_TAG_PR_BODY                     0x1000001F  // Body
#define MAPI_TAG_CONTACT_Categories          "Keywords"  // Categories
#define MAPI_TAG_PR_DISPLAY_NAME             0x3001001F  // FullName
#define MAPI_TAG_PR_TITLE                    0x3A17001F  // JobTitle
#define MAPI_TAG_PR_COMPANY_NAME             0x3A16001F  // CompanyName
#define MAPI_TAG_PR_DISPLAY_NAME_PREFIX      0x3A45001E  // Title
#define MAPI_TAG_PR_SURNAME                  0x3A11001E  // LastName
#define MAPI_TAG_PR_MIDDLE_NAME              0x3A44001F  // MiddleName
#define MAPI_TAG_PR_GIVEN_NAME               0x3A06001F  // FirstName
#define MAPI_TAG_PR_GENERATION               0x3A05001E  // Suffix
#define MAPI_TAG_PR_BUSINESS_HOME_PAGE       0x3A51001F  // BusinessHomePage
#define MAPI_TAG_PR_PERSONAL_HOME_PAGE       0x3A50001F  // PersonalHomePage
#define MAPI_TAG_PR_FTP_SITE                 0x3A4C001E  // FTPSite
#define MAPI_TAG_PR_INITIALS                 0x3A0A001E  // Initials

#define MAPI_TAG_CONTACT_FILEUNDER                 "0x8005"    // FileAs

#define MAPI_TAG_CONTACT_LASTNAMEANDFIRSTNAME      "0x8017"    // LastNameandFirstName
#define MAPI_TAG_CONTACT_COMPANYANDFULLNAME        "0x8018"    // CompanyAndFullName
#define MAPI_TAG_CONTACT_FULLNAMEANDCOMPANY        "0x8019"    // FullNameAndCompany

#define MAPI_TAG_CONTACT_HOMEADDRESS               "0x801A"    // HomeAddress
#define MAPI_TAG_CONTACT_BUSINESSADDRESS           "0x801B"    // BusinessAddress
#define MAPI_TAG_CONTACT_OTHERADDRESS              "0x801C"    // OtherAddress
#define MAPI_TAG_CONTACT_SELECTEDADDRESS           "0x8022"    // SelectedMailingAddress:
                                                               // 0 = None
                                                               // 1 = Home                                                    
                                                               // 2 = Business
                                                               // 3 = Other

#define MAPI_TAG_CONTACT_WEBPAGE                   "0x802B"    // WebPage
#define MAPI_TAG_CONTACT_YOMIFIRSTNAME             "0x802C"    // YomiFirstName
#define MAPI_TAG_CONTACT_YOMILASTNAME              "0x802D"    // YomiLastName
#define MAPI_TAG_CONTACT_YOMICOMPANYNAME           "0x802E"    // YomiCompanyName

#define MAPI_TAG_CONTACT_LASTFIRSTNOSPACE          "0x8030"    // LastFirstNoSpace
#define MAPI_TAG_CONTACT_LASTFIRSTSPACEONLY        "0x8031"    // LastFirstSpaceOnly
#define MAPI_TAG_CONTACT_COMPANYLASTFIRSTNOSPACE   "0x8032"    // CompanyLastFirstNoSpace
#define MAPI_TAG_CONTACT_COMPANYLASTFIRSTSpaceOnly "0x8033"    // CompanyLastFirstSpaceOnly
#define MAPI_TAG_CONTACT_LASTFIRSTNOSPACECOMPANY   "0x8034"    // LastFirstNoSpaceCompany
#define MAPI_TAG_CONTACT_LASTFIRSTSPACEONLYCOMPANY "0x8035"    // LastFirstSpaceOnlyCompany
#define MAPI_TAG_CONTACT_LASTFIRSTANDSuffix        "0x8036"    // LastFirstAndSuffix

#define MAPI_TAG_CONTACT_BUSINESSADDRESSSTREET     "0x8045"    // BusinessAddressStreet
#define MAPI_TAG_CONTACT_BUSINESSADDRESSCITY       "0x8046"    // BusinessAddressCity
#define MAPI_TAG_CONTACT_BUSINESSADDRESSSTATE      "0x8047"    // BusinessAddressState
#define MAPI_TAG_CONTACT_BUSINESSADDRESSPOSTALCODE "0x8048"    // BusinessAddressPostalCode
#define MAPI_TAG_CONTACT_BUSINESSADDRESSCOUNTRY    "0x8049"    // BusinessAddressCountry
#define MAPI_TAG_CONTACT_BUSINESSADDRESSPOBOX      "0x804A"    // BusinessAddressPostOfficeBox

#define MAPI_TAG_CONTACT_USERFIELD1                "0x804F"    // UserField1
#define MAPI_TAG_CONTACT_USERFIELD2                "0x8050"    // UserField2
#define MAPI_TAG_CONTACT_USERFIELD3                "0x8051"    // UserField3
#define MAPI_TAG_CONTACT_USERFIELD4                "0x8052"    // UserField4

#define MAPI_TAG_CONTACT_IMADDRESS                 "0x8062"    // InternetMailAddress (only >= Outlook 2002)

#define MAPI_TAG_CONTACT_EMAIL1ADDRTYPE            "0x8082"    // EMail1AddressType
#define MAPI_TAG_CONTACT_EMAIL1EMAILADDRESS        "0x8083"    // EMail1Address
#define MAPI_TAG_CONTACT_EMAIL1ORIGINALDISPLAYNAME "0x8084"    // EMail1DisplayName
#define MAPI_TAG_CONTACT_EMAIL1ORIGINALENTRYID     "0x8085"    // EMail1EntryID

#define MAPI_TAG_CONTACT_EMAIL2ADDRTYPE            "0x8092"    // EMail2AddressType
#define MAPI_TAG_CONTACT_EMAIL2EMAILADDRESS        "0x8093"    // EMail2Address
#define MAPI_TAG_CONTACT_EMAIL2ORIGINALDISPLAYNAME "0x8094"    // EMail2DisplayName
#define MAPI_TAG_CONTACT_EMAIL2ORIGINALENTRYID     "0x8095"    // EMail2EntryID

#define MAPI_TAG_CONTACT_EMAIL3ADDRTYPE            "0x80A2"    // EMail3AddressType
#define MAPI_TAG_CONTACT_EMAIL3EMAILADDRESS        "0x80A3"    // EMail3Address
#define MAPI_TAG_CONTACT_EMAIL3ORIGINALDISPLAYNAME "0x80A4"    // EMail3DisplayName
#define MAPI_TAG_CONTACT_EMAIL3ORIGINALENTRYID     "0x80A5"    // EMail3EntryID

#define MAPI_TAG_CONTACT_INTERNETFREEBUSYADDRESS   "0x80D8"    // InternetFreeBusyAddress

#define MAPI_TAG_CONTACT_BILLINGINFORMATION        "0x8535"    // BillingInformation
#define MAPI_TAG_CONTACT_REMINDERTIME              "0x8502"    // N/A
#define MAPI_TAG_CONTACT_MILEAGE                   "0x8534"    // Mileage

#define MAPI_TAG_PR_ASSISTANT_TELEPHONE_NUMBER     0x3A2E001F  // AssistantTelephoneNumber
#define MAPI_TAG_PR_BUSINESS_TELEPHONE_NUMBER      0x3A08001F  // BusinessTelephoneNumber
#define MAPI_TAG_PR_BUSINESS2_TELEPHONE_NUMBER     0x3A1B001F  // Business2TelephoneNumber
#define MAPI_TAG_PR_BUSINESS_FAX_NUMBER            0x3A24001F  // BusinessFaxNumber
#define MAPI_TAG_PR_CALLBACK_TELEPHONE_NUMBER      0x3A02001F  // CallbackTelephoneNumber
#define MAPI_TAG_PR_CAR_TELEPHONE_NUMBER           0x3A1E001F  // CarTelephoneNumber

#define MAPI_TAG_PR_COMPANY_MAIN_PHONE_NUMBER      0x3A57001F  // CompanyMainTelephoneNumber

#define MAPI_TAG_PR_HOME_TELEPHONE_NUMBER          0x3A09001F  // HomeTelephoneNumber

#define MAPI_TAG_PR_HOME2_TELEPHONE_NUMBER         0x3A2F001F  // Home2TelephoneNumber
#define MAPI_TAG_PR_HOME_FAX_NUMBER                0x3A25001F  // HomeFaxNumber
#define MAPI_TAG_PR_ISDN_NUMBER                    0x3A2D001F  // ISDNNumber

#define MAPI_TAG_PR_MOBILE_TELEPHONE_NUMBER        0x3A1C001F  // MobileTelephoneNumber

#define MAPI_TAG_PR_OTHER_TELEPHONE_NUMBER         0x3A1F001F  // OtherTelephoneNumber
#define MAPI_TAG_PR_PRIMARY_FAX_NUMBER             0x3A23001F  // OtherFaxNumber
#define MAPI_TAG_PR_PAGER_TELEPHONE_NUMBER         0x3A21001F  // PagerNumber
#define MAPI_TAG_PR_PRIMARY_TELEPHONE_NUMBER       0x3A1A001F  // PrimaryTelephoneNumber

#define MAPI_TAG_PR_RADIO_TELEPHONE_NUMBER         0x3A1D001F  // RadioTelephoneNumber

#define MAPI_TAG_PR_TELEX_NUMBER                   0x3A2C001F  // TelexNumber
#define MAPI_TAG_PR_TTYTDD_PHONE_NUMBER            0x3A4B001F  // TTYTDDTelephoneNumber
#define MAPI_TAG_PR_POSTAL_ADDRESS                 0x3A15001F  // MailingAddress

#define MAPI_TAG_PR_BUSINESS_ADDRESS_COUNTRY       0x3A26001E  // MailingAddressCountry
#define MAPI_TAG_PR_LOCALITY                       0x3A27001F  // MailingAddressCity
#define MAPI_TAG_PR_STATE_OR_PROVINCE              0x3A28001E  // MailingAddressState
#define MAPI_TAG_PR_STREET_ADDRESS                 0x3A29001F  // MailingAddressStreet
#define MAPI_TAG_PR_POSTAL_CODE                    0x3A2A001E  // MailingAddressPostalCode
#define MAPI_TAG_PR_PO_BOX                         0x3A2B001E  // MailingAddressPostOfficeBox

#define MAPI_TAG_PR_HOME_ADDRESS_CITY              0x3A59001E  // HomeAddressCity
#define MAPI_TAG_PR_HOME_ADDRESS_STREET            0x3A5D001E  // HomeAddressStreet
#define MAPI_TAG_PR_HOME_ADDRESS_STATE_OR_PROVINCE 0x3A5C001E  // HomeAddressState
#define MAPI_TAG_PR_HOME_ADDRESS_COUNTRY           0x3A5A001E  // HomeAddressCountry
#define MAPI_TAG_PR_HOME_ADDRESS_PO_BOX            0x3A5E001E  // HomeAddressPostOfficeBox
#define MAPI_TAG_PR_HOME_ADDRESS_POSTAL_CODE       0x3A5B001E  // HomeAddressPostalCode

#define MAPI_TAG_PR_OTHER_ADDRESS_CITY             0x3A5F001E  // OtherAddressCity
#define MAPI_TAG_PR_OTHER_ADDRESS_STREET           0x3A63001E  // OtherAddressStreet
#define MAPI_TAG_PR_OTHER_ADDRESS_STATE_OR_PROVINCE 0x3A62001E // OtherAddressState
#define MAPI_TAG_PR_OTHER_ADDRESS_COUNTRY           0x3A60001E // OtherAddressCountry
#define MAPI_TAG_PR_OTHER_ADDRESS_POSTAL_CODE       0x3A61001E // OtherAddressPostalCode
#define MAPI_TAG_PR_OTHER_ADDRESS_PO_BOX            0x3A64001E // OtherAddressPostOfficeBox

#define MAPI_TAG_PR_DEPARTMENT_NAME                 0x3A18001F // Department
#define MAPI_TAG_PR_MANAGER_NAME                    0x3A4E001F // ManagerName
#define MAPI_TAG_PR_OFFICE_LOCATION                 0x3A19001F // Location
#define MAPI_TAG_PR_ASSISTANT                       0x3A30001F // AssistantName
#define MAPI_TAG_PR_PROFESSION                      0x3A46001F // Profession
#define MAPI_TAG_PR_NICKNAME                        0x3A4F001F // NickName
#define MAPI_TAG_PR_BIRTHDAY                        0x3A420040 // Birthday
#define MAPI_TAG_PR_SPOUSE_NAME                     0x3A48001F // SpouseName
#define MAPI_TAG_PR_WEDDING_ANNIVERSARY             0x3A410040 // Anniversary
#define MAPI_TAG_PR_ACCOUNT                         0x3A00001E // Account
#define MAPI_TAG_PR_COMPUTER_NETWORK_NAME           0x3A49001E // ComputerNetworkName
#define MAPI_TAG_PR_CHILDRENS_NAMES                 0x3A58101E // Children
#define MAPI_TAG_PR_CUSTOMER_ID                     0x3A4A001E // CustomerID
#define MAPI_TAG_PR_GENDER                          0x3A4D0002 // Gender:
                                                               // 0 = Unspecified
                                                               // 1 = Female
                                                               // 2 = Male
#define MAPI_TAG_PR_GOVERNMENT_ID_NUMBER            0x3A07001E // GovernmentIDNumber
#define MAPI_TAG_PR_HOBBIES                         0x3A43001E // Hobby
#define MAPI_TAG_PR_LANGUAGE                        0x3A0C001E // Language
#define MAPI_TAG_PR_LOCATION                        0x3A0D001E // OfficeLocation
#define MAPI_TAG_PR_ORGANIZATIONAL_ID_NUMBER        0x3A10001E // OrganizationalIDNumber
#define MAPI_TAG_PR_REFERRED_BY_NAME                0X3A47001E // ReferredBy

#endif /* KTNEFDEFS_H */