1/*
2 ktnefdefs.h
3
4 Copyright (C) 2002 Michael Goffioul <kdeprint@swing.be>
5
6 This file is part of KTNEF, the KDE TNEF support library/program.
7
8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Library General Public License for more details.
17
18 You should have received a copy of the GNU Library General Public License
19 along with this library; see the file COPYING.LIB. If not, write to
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA.
22 */
23/**
24 * @file
25 * This file is part of the API for handling TNEF data and
26 * provides some basic definitions for general use.
27 *
28 * @author Michael Goffioul
29 */
30
31#ifndef KTNEFDEFS_H
32#define KTNEFDEFS_H
33//@cond IGNORE
34#define TNEF_SIGNATURE 0x223e9f78
35#define LVL_MESSAGE 0x01
36#define LVL_ATTACHMENT 0x02
37
38#define atpSTRING 0x0001
39#define atpTEXT 0x0002
40#define atpDATE 0x0003
41#define atpSHORT 0x0004
42#define atpLONG 0x0005
43#define atpBYTE 0x0006
44#define atpWORD 0x0007
45#define atpDWORD 0x0008
46
47#define attDATESTART 0x0006
48#define attDATEEND 0x0007
49#define attAIDOWNER 0x0008
50#define attREQUESTRES 0x0009
51#define attFROM 0x8000
52#define attSUBJECT 0x8004
53#define attDATESENT 0x8005
54#define attDATERECD 0x8006
55#define attMSGSTATUS 0x8007
56#define attMSGCLASS 0x8008
57#define attMSGID 0x8009
58#define attBODY 0x800c
59#define attMSGPRIORITY 0x800d
60#define attATTACHDATA 0x800f /* Attachment Data */
61#define attATTACHTITLE 0x8010 /* Attachment File Name */
62#define attATTACHMETAFILE 0x8011
63#define attATTACHCREATEDATE 0x8012
64#define attATTACHMODDATE 0x8013
65#define attDATEMODIFIED 0x8020
66#define attATTACHRENDDATA 0x9002
67#define attMAPIPROPS 0x9003
68#define attRECIPTABLE 0x9004
69#define attATTACHMENT 0x9005 /* Attachment properties (?) */
70#define attTNEFVERSION 0x9006
71#define attOEMCODEPAGE 0x9007
72
73/* These are found in TNEF documentation, but have so far not been implemented
74#define attATTACHCREATEDATE 0x0000
75#define attATTACHTRANSPORTFILENAME 0x0000
76#define attCONVERSATIONID 0x0000
77#define attORIGINALMSGCLASS 0x0000
78#define attOWNER 0x0000
79#define attPARENTID 0x0000
80#define attNULL 0x0000
81#define attDELEGATE 0x0000
82#define attSENTFOR 0x0000
83*/
84
85#define fmsModified 0x01
86#define fmsLocal 0x02
87#define fmsSubmitted 0x04
88#define fmsRead 0x20
89#define fmsHasAttach 0x80
90#define MSGFLAG_READ 0x00000001
91#define MSGFLAG_UNMODIFIED 0x00000002
92#define MSGFLAG_SUBMIT 0x00000004
93#define MSGFLAG_UNSENT 0x00000008
94#define MSGFLAG_HASATTACH 0x00000010
95
96// supported MAPI types
97#define MAPI_TYPE_NONE 0x0000
98#define MAPI_TYPE_UINT16 0x0002
99#define MAPI_TYPE_ULONG 0x0003
100#define MAPI_TYPE_FLOAT 0x0004
101#define MAPI_TYPE_DOUBLE 0x0005
102#define MAPI_TYPE_BOOLEAN 0x000b
103#define MAPI_TYPE_OBJECT 0x000d
104#define MAPI_TYPE_TIME 0x0040
105#define MAPI_TYPE_STRING8 0x001e
106#define MAPI_TYPE_USTRING 0x001f
107#define MAPI_TYPE_BINARY 0x0102
108#define MAPI_TYPE_VECTOR 0x1000
109
110// supported MAPI tags
111#define MAPI_TAG_INDEX 0x0e21
112#define MAPI_TAG_SIZE 0x0e20
113#define MAPI_TAG_FILENAME 0x3707
114#define MAPI_TAG_DISPLAYNAME 0x3001
115#define MAPI_TAG_DATA 0x3701
116#define MAPI_TAG_ATTACHENCODING 0x3702
117#define MAPI_TAG_EXTENSION 0x3703
118#define MAPI_TAG_ATTACHMETHOD 0x3705
119#define MAPI_TAG_RENDERINGPOS 0x370b
120#define MAPI_TAG_MIMETAG 0x370e
121#define MAPI_TAG_ATTACHFLAGS 0x3714
122
123#define MAPI_IID_IMessage 0x00020307
124
125// unsupported Outlook Contact Properties
126// note: properties beginning with MAPI_TAG_CONTACT
127// are 'named' properties
128#define MAPI_TAG_PR_MESSAGE_DELIVERY_TIME 0x0E060040 // CreationTime
129#define MAPI_TAG_PR_MESSAGE_SIZE 0x0E080003 // Size
130#define MAPI_TAG_PR_SENSITIVITY 0x00360003 // Sensitivity
131#define MAPI_TAG_PR_MESSAGE_CLASS 0x001A001F // MessageClass
132#define MAPI_TAG_PR_IMPORTANCE 0x00170003 // Importance
133#define MAPI_TAG_PR_ENTRYID 0x0FFF0102 // EntryID
134#define MAPI_TAG_PR_BODY 0x1000001F // Body
135#define MAPI_TAG_CONTACT_Categories "Keywords" // Categories
136#define MAPI_TAG_PR_DISPLAY_NAME 0x3001001F // FullName
137#define MAPI_TAG_PR_TITLE 0x3A17001F // JobTitle
138#define MAPI_TAG_PR_COMPANY_NAME 0x3A16001F // CompanyName
139#define MAPI_TAG_PR_DISPLAY_NAME_PREFIX 0x3A45001E // Title
140#define MAPI_TAG_PR_SURNAME 0x3A11001E // LastName
141#define MAPI_TAG_PR_MIDDLE_NAME 0x3A44001F // MiddleName
142#define MAPI_TAG_PR_GIVEN_NAME 0x3A06001F // FirstName
143#define MAPI_TAG_PR_GENERATION 0x3A05001E // Suffix
144#define MAPI_TAG_PR_BUSINESS_HOME_PAGE 0x3A51001F // BusinessHomePage
145#define MAPI_TAG_PR_PERSONAL_HOME_PAGE 0x3A50001F // PersonalHomePage
146#define MAPI_TAG_PR_FTP_SITE 0x3A4C001E // FTPSite
147#define MAPI_TAG_PR_INITIALS 0x3A0A001E // Initials
148
149#define MAPI_TAG_CONTACT_FILEUNDER "0x8005" // FileAs
150
151#define MAPI_TAG_CONTACT_LASTNAMEANDFIRSTNAME "0x8017" // LastNameandFirstName
152#define MAPI_TAG_CONTACT_COMPANYANDFULLNAME "0x8018" // CompanyAndFullName
153#define MAPI_TAG_CONTACT_FULLNAMEANDCOMPANY "0x8019" // FullNameAndCompany
154
155#define MAPI_TAG_CONTACT_HOMEADDRESS "0x801A" // HomeAddress
156#define MAPI_TAG_CONTACT_BUSINESSADDRESS "0x801B" // BusinessAddress
157#define MAPI_TAG_CONTACT_OTHERADDRESS "0x801C" // OtherAddress
158#define MAPI_TAG_CONTACT_SELECTEDADDRESS "0x8022" // SelectedMailingAddress:
159 // 0 = None
160 // 1 = Home
161 // 2 = Business
162 // 3 = Other
163
164#define MAPI_TAG_CONTACT_WEBPAGE "0x802B" // WebPage
165#define MAPI_TAG_CONTACT_YOMIFIRSTNAME "0x802C" // YomiFirstName
166#define MAPI_TAG_CONTACT_YOMILASTNAME "0x802D" // YomiLastName
167#define MAPI_TAG_CONTACT_YOMICOMPANYNAME "0x802E" // YomiCompanyName
168
169#define MAPI_TAG_CONTACT_LASTFIRSTNOSPACE "0x8030" // LastFirstNoSpace
170#define MAPI_TAG_CONTACT_LASTFIRSTSPACEONLY "0x8031" // LastFirstSpaceOnly
171#define MAPI_TAG_CONTACT_COMPANYLASTFIRSTNOSPACE "0x8032" // CompanyLastFirstNoSpace
172#define MAPI_TAG_CONTACT_COMPANYLASTFIRSTSpaceOnly "0x8033" // CompanyLastFirstSpaceOnly
173#define MAPI_TAG_CONTACT_LASTFIRSTNOSPACECOMPANY "0x8034" // LastFirstNoSpaceCompany
174#define MAPI_TAG_CONTACT_LASTFIRSTSPACEONLYCOMPANY "0x8035" // LastFirstSpaceOnlyCompany
175#define MAPI_TAG_CONTACT_LASTFIRSTANDSuffix "0x8036" // LastFirstAndSuffix
176
177#define MAPI_TAG_CONTACT_BUSINESSADDRESSSTREET "0x8045" // BusinessAddressStreet
178#define MAPI_TAG_CONTACT_BUSINESSADDRESSCITY "0x8046" // BusinessAddressCity
179#define MAPI_TAG_CONTACT_BUSINESSADDRESSSTATE "0x8047" // BusinessAddressState
180#define MAPI_TAG_CONTACT_BUSINESSADDRESSPOSTALCODE "0x8048" // BusinessAddressPostalCode
181#define MAPI_TAG_CONTACT_BUSINESSADDRESSCOUNTRY "0x8049" // BusinessAddressCountry
182#define MAPI_TAG_CONTACT_BUSINESSADDRESSPOBOX "0x804A" // BusinessAddressPostOfficeBox
183
184#define MAPI_TAG_CONTACT_USERFIELD1 "0x804F" // UserField1
185#define MAPI_TAG_CONTACT_USERFIELD2 "0x8050" // UserField2
186#define MAPI_TAG_CONTACT_USERFIELD3 "0x8051" // UserField3
187#define MAPI_TAG_CONTACT_USERFIELD4 "0x8052" // UserField4
188
189#define MAPI_TAG_CONTACT_IMADDRESS "0x8062" // InternetMailAddress (>= Outlook 2002)
190
191#define MAPI_TAG_CONTACT_EMAIL1ADDRTYPE "0x8082" // EMail1AddressType
192#define MAPI_TAG_CONTACT_EMAIL1EMAILADDRESS "0x8083" // EMail1Address
193#define MAPI_TAG_CONTACT_EMAIL1ORIGINALDISPLAYNAME "0x8084" // EMail1DisplayName
194#define MAPI_TAG_CONTACT_EMAIL1ORIGINALENTRYID "0x8085" // EMail1EntryID
195
196#define MAPI_TAG_CONTACT_EMAIL2ADDRTYPE "0x8092" // EMail2AddressType
197#define MAPI_TAG_CONTACT_EMAIL2EMAILADDRESS "0x8093" // EMail2Address
198#define MAPI_TAG_CONTACT_EMAIL2ORIGINALDISPLAYNAME "0x8094" // EMail2DisplayName
199#define MAPI_TAG_CONTACT_EMAIL2ORIGINALENTRYID "0x8095" // EMail2EntryID
200
201#define MAPI_TAG_CONTACT_EMAIL3ADDRTYPE "0x80A2" // EMail3AddressType
202#define MAPI_TAG_CONTACT_EMAIL3EMAILADDRESS "0x80A3" // EMail3Address
203#define MAPI_TAG_CONTACT_EMAIL3ORIGINALDISPLAYNAME "0x80A4" // EMail3DisplayName
204#define MAPI_TAG_CONTACT_EMAIL3ORIGINALENTRYID "0x80A5" // EMail3EntryID
205
206#define MAPI_TAG_CONTACT_INTERNETFREEBUSYADDRESS "0x80D8" // InternetFreeBusyAddress
207
208#define MAPI_TAG_CONTACT_BILLINGINFORMATION "0x8535" // BillingInformation
209#define MAPI_TAG_CONTACT_REMINDERTIME "0x8502" // N/A
210#define MAPI_TAG_CONTACT_MILEAGE "0x8534" // Mileage
211
212#define MAPI_TAG_PR_ASSISTANT_TELEPHONE_NUMBER 0x3A2E001F // AssistantTelephoneNumber
213#define MAPI_TAG_PR_BUSINESS_TELEPHONE_NUMBER 0x3A08001F // BusinessTelephoneNumber
214#define MAPI_TAG_PR_BUSINESS2_TELEPHONE_NUMBER 0x3A1B001F // Business2TelephoneNumber
215#define MAPI_TAG_PR_BUSINESS_FAX_NUMBER 0x3A24001F // BusinessFaxNumber
216#define MAPI_TAG_PR_CALLBACK_TELEPHONE_NUMBER 0x3A02001F // CallbackTelephoneNumber
217#define MAPI_TAG_PR_CAR_TELEPHONE_NUMBER 0x3A1E001F // CarTelephoneNumber
218
219#define MAPI_TAG_PR_COMPANY_MAIN_PHONE_NUMBER 0x3A57001F // CompanyMainTelephoneNumber
220
221#define MAPI_TAG_PR_HOME_TELEPHONE_NUMBER 0x3A09001F // HomeTelephoneNumber
222
223#define MAPI_TAG_PR_HOME2_TELEPHONE_NUMBER 0x3A2F001F // Home2TelephoneNumber
224#define MAPI_TAG_PR_HOME_FAX_NUMBER 0x3A25001F // HomeFaxNumber
225#define MAPI_TAG_PR_ISDN_NUMBER 0x3A2D001F // ISDNNumber
226
227#define MAPI_TAG_PR_MOBILE_TELEPHONE_NUMBER 0x3A1C001F // MobileTelephoneNumber
228
229#define MAPI_TAG_PR_OTHER_TELEPHONE_NUMBER 0x3A1F001F // OtherTelephoneNumber
230#define MAPI_TAG_PR_PRIMARY_FAX_NUMBER 0x3A23001F // OtherFaxNumber
231#define MAPI_TAG_PR_PAGER_TELEPHONE_NUMBER 0x3A21001F // PagerNumber
232#define MAPI_TAG_PR_PRIMARY_TELEPHONE_NUMBER 0x3A1A001F // PrimaryTelephoneNumber
233
234#define MAPI_TAG_PR_RADIO_TELEPHONE_NUMBER 0x3A1D001F // RadioTelephoneNumber
235
236#define MAPI_TAG_PR_TELEX_NUMBER 0x3A2C001F // TelexNumber
237#define MAPI_TAG_PR_TTYTDD_PHONE_NUMBER 0x3A4B001F // TTYTDDTelephoneNumber
238#define MAPI_TAG_PR_POSTAL_ADDRESS 0x3A15001F // MailingAddress
239
240#define MAPI_TAG_PR_BUSINESS_ADDRESS_COUNTRY 0x3A26001E // MailingAddressCountry
241#define MAPI_TAG_PR_LOCALITY 0x3A27001F // MailingAddressCity
242#define MAPI_TAG_PR_STATE_OR_PROVINCE 0x3A28001E // MailingAddressState
243#define MAPI_TAG_PR_STREET_ADDRESS 0x3A29001F // MailingAddressStreet
244#define MAPI_TAG_PR_POSTAL_CODE 0x3A2A001E // MailingAddressPostalCode
245#define MAPI_TAG_PR_PO_BOX 0x3A2B001E // MailingAddressPostOfficeBox
246
247#define MAPI_TAG_PR_HOME_ADDRESS_CITY 0x3A59001E // HomeAddressCity
248#define MAPI_TAG_PR_HOME_ADDRESS_STREET 0x3A5D001E // HomeAddressStreet
249#define MAPI_TAG_PR_HOME_ADDRESS_STATE_OR_PROVINCE 0x3A5C001E // HomeAddressState
250#define MAPI_TAG_PR_HOME_ADDRESS_COUNTRY 0x3A5A001E // HomeAddressCountry
251#define MAPI_TAG_PR_HOME_ADDRESS_PO_BOX 0x3A5E001E // HomeAddressPostOfficeBox
252#define MAPI_TAG_PR_HOME_ADDRESS_POSTAL_CODE 0x3A5B001E // HomeAddressPostalCode
253
254#define MAPI_TAG_PR_OTHER_ADDRESS_CITY 0x3A5F001E // OtherAddressCity
255#define MAPI_TAG_PR_OTHER_ADDRESS_STREET 0x3A63001E // OtherAddressStreet
256#define MAPI_TAG_PR_OTHER_ADDRESS_STATE_OR_PROVINCE 0x3A62001E // OtherAddressState
257#define MAPI_TAG_PR_OTHER_ADDRESS_COUNTRY 0x3A60001E // OtherAddressCountry
258#define MAPI_TAG_PR_OTHER_ADDRESS_POSTAL_CODE 0x3A61001E // OtherAddressPostalCode
259#define MAPI_TAG_PR_OTHER_ADDRESS_PO_BOX 0x3A64001E // OtherAddressPostOfficeBox
260
261#define MAPI_TAG_PR_DEPARTMENT_NAME 0x3A18001F // Department
262#define MAPI_TAG_PR_MANAGER_NAME 0x3A4E001F // ManagerName
263#define MAPI_TAG_PR_OFFICE_LOCATION 0x3A19001F // Location
264#define MAPI_TAG_PR_ASSISTANT 0x3A30001F // AssistantName
265#define MAPI_TAG_PR_PROFESSION 0x3A46001F // Profession
266#define MAPI_TAG_PR_NICKNAME 0x3A4F001F // NickName
267#define MAPI_TAG_PR_BIRTHDAY 0x3A420040 // Birthday
268#define MAPI_TAG_PR_SPOUSE_NAME 0x3A48001F // SpouseName
269#define MAPI_TAG_PR_WEDDING_ANNIVERSARY 0x3A410040 // Anniversary
270#define MAPI_TAG_PR_ACCOUNT 0x3A00001E // Account
271#define MAPI_TAG_PR_COMPUTER_NETWORK_NAME 0x3A49001E // ComputerNetworkName
272#define MAPI_TAG_PR_CHILDRENS_NAMES 0x3A58101E // Children
273#define MAPI_TAG_PR_CUSTOMER_ID 0x3A4A001E // CustomerID
274#define MAPI_TAG_PR_GENDER 0x3A4D0002 // Gender:
275 // 0 = Unspecified
276 // 1 = Female
277 // 2 = Male
278#define MAPI_TAG_PR_GOVERNMENT_ID_NUMBER 0x3A07001E // GovernmentIDNumber
279#define MAPI_TAG_PR_HOBBIES 0x3A43001E // Hobby
280#define MAPI_TAG_PR_LANGUAGE 0x3A0C001E // Language
281#define MAPI_TAG_PR_LOCATION 0x3A0D001E // OfficeLocation
282#define MAPI_TAG_PR_ORGANIZATIONAL_ID_NUMBER 0x3A10001E // OrganizationalIDNumber
283#define MAPI_TAG_PR_REFERRED_BY_NAME 0X3A47001E // ReferredBy
284//@endcond
285
286#endif /* KTNEFDEFS_H */
287