File indexing completed on 2024-04-28 05:19:25

0001 /*
0002     ktnefdefs.h
0003 
0004     SPDX-FileCopyrightText: 2002 Michael Goffioul <kdeprint@swing.be>
0005 
0006     This file is part of KTNEF, the KDE TNEF support library/program.
0007 
0008     SPDX-License-Identifier: LGPL-2.0-or-later
0009  */
0010 /**
0011  * @file
0012  * This file is part of the API for handling TNEF data and
0013  * provides some basic definitions for general use.
0014  *
0015  * @author Michael Goffioul
0016  */
0017 
0018 #pragma once
0019 //@cond IGNORE
0020 #define TNEF_SIGNATURE 0x223e9f78
0021 #define LVL_MESSAGE 0x01
0022 #define LVL_ATTACHMENT 0x02
0023 
0024 #define atpSTRING 0x0001
0025 #define atpTEXT 0x0002
0026 #define atpDATE 0x0003
0027 #define atpSHORT 0x0004
0028 #define atpLONG 0x0005
0029 #define atpBYTE 0x0006
0030 #define atpWORD 0x0007
0031 #define atpDWORD 0x0008
0032 
0033 #define attDATESTART 0x0006
0034 #define attDATEEND 0x0007
0035 #define attAIDOWNER 0x0008
0036 #define attREQUESTRES 0x0009
0037 #define attFROM 0x8000
0038 #define attSUBJECT 0x8004
0039 #define attDATESENT 0x8005
0040 #define attDATERECD 0x8006
0041 #define attMSGSTATUS 0x8007
0042 #define attMSGCLASS 0x8008
0043 #define attMSGID 0x8009
0044 #define attBODY 0x800c
0045 #define attMSGPRIORITY 0x800d
0046 #define attATTACHDATA 0x800f /* Attachment Data */
0047 #define attATTACHTITLE 0x8010 /* Attachment File Name */
0048 #define attATTACHMETAFILE 0x8011
0049 #define attATTACHCREATEDATE 0x8012
0050 #define attATTACHMODDATE 0x8013
0051 #define attDATEMODIFIED 0x8020
0052 #define attATTACHRENDDATA 0x9002
0053 #define attMAPIPROPS 0x9003
0054 #define attRECIPTABLE 0x9004
0055 #define attATTACHMENT 0x9005 /* Attachment properties (?) */
0056 #define attTNEFVERSION 0x9006
0057 #define attOEMCODEPAGE 0x9007
0058 
0059 /* These are found in TNEF documentation, but have so far not been implemented
0060 #define attATTACHCREATEDATE        0x0000
0061 #define attATTACHTRANSPORTFILENAME 0x0000
0062 #define attCONVERSATIONID          0x0000
0063 #define attORIGINALMSGCLASS        0x0000
0064 #define attOWNER                   0x0000
0065 #define attPARENTID                0x0000
0066 #define attNULL                    0x0000
0067 #define attDELEGATE                0x0000
0068 #define attSENTFOR                 0x0000
0069 */
0070 
0071 #define fmsModified 0x01
0072 #define fmsLocal 0x02
0073 #define fmsSubmitted 0x04
0074 #define fmsRead 0x20
0075 #define fmsHasAttach 0x80
0076 #define MSGFLAG_READ 0x00000001
0077 #define MSGFLAG_UNMODIFIED 0x00000002
0078 #define MSGFLAG_SUBMIT 0x00000004
0079 #define MSGFLAG_UNSENT 0x00000008
0080 #define MSGFLAG_HASATTACH 0x00000010
0081 
0082 // supported MAPI types
0083 #define MAPI_TYPE_NONE 0x0000
0084 #define MAPI_TYPE_UINT16 0x0002
0085 #define MAPI_TYPE_ULONG 0x0003
0086 #define MAPI_TYPE_FLOAT 0x0004
0087 #define MAPI_TYPE_DOUBLE 0x0005
0088 #define MAPI_TYPE_BOOLEAN 0x000b
0089 #define MAPI_TYPE_OBJECT 0x000d
0090 #define MAPI_TYPE_TIME 0x0040
0091 #define MAPI_TYPE_STRING8 0x001e
0092 #define MAPI_TYPE_USTRING 0x001f
0093 #define MAPI_TYPE_BINARY 0x0102
0094 #define MAPI_TYPE_VECTOR 0x1000
0095 
0096 // supported MAPI tags
0097 #define MAPI_TAG_INDEX 0x0e21
0098 #define MAPI_TAG_SIZE 0x0e20
0099 #define MAPI_TAG_FILENAME 0x3707
0100 #define MAPI_TAG_DISPLAYNAME 0x3001
0101 #define MAPI_TAG_DATA 0x3701
0102 #define MAPI_TAG_ATTACHENCODING 0x3702
0103 #define MAPI_TAG_EXTENSION 0x3703
0104 #define MAPI_TAG_ATTACHMETHOD 0x3705
0105 #define MAPI_TAG_RENDERINGPOS 0x370b
0106 #define MAPI_TAG_MIMETAG 0x370e
0107 #define MAPI_TAG_ATTACHFLAGS 0x3714
0108 
0109 #define MAPI_IID_IMessage 0x00020307
0110 
0111 // unsupported Outlook Contact Properties
0112 // note: properties beginning with MAPI_TAG_CONTACT
0113 //       are 'named' properties
0114 #define MAPI_TAG_PR_MESSAGE_DELIVERY_TIME 0x0E060040 // CreationTime
0115 #define MAPI_TAG_PR_MESSAGE_SIZE 0x0E080003 // Size
0116 #define MAPI_TAG_PR_SENSITIVITY 0x00360003 // Sensitivity
0117 #define MAPI_TAG_PR_MESSAGE_CLASS 0x001A001F // MessageClass
0118 #define MAPI_TAG_PR_IMPORTANCE 0x00170003 // Importance
0119 #define MAPI_TAG_PR_ENTRYID 0x0FFF0102 // EntryID
0120 #define MAPI_TAG_PR_BODY 0x1000001F // Body
0121 #define MAPI_TAG_CONTACT_Categories "Keywords" // Categories
0122 #define MAPI_TAG_PR_DISPLAY_NAME 0x3001001F // FullName
0123 #define MAPI_TAG_PR_TITLE 0x3A17001F // JobTitle
0124 #define MAPI_TAG_PR_COMPANY_NAME 0x3A16001F // CompanyName
0125 #define MAPI_TAG_PR_DISPLAY_NAME_PREFIX 0x3A45001E // Title
0126 #define MAPI_TAG_PR_SURNAME 0x3A11001E // LastName
0127 #define MAPI_TAG_PR_MIDDLE_NAME 0x3A44001F // MiddleName
0128 #define MAPI_TAG_PR_GIVEN_NAME 0x3A06001F // FirstName
0129 #define MAPI_TAG_PR_GENERATION 0x3A05001E // Suffix
0130 #define MAPI_TAG_PR_BUSINESS_HOME_PAGE 0x3A51001F // BusinessHomePage
0131 #define MAPI_TAG_PR_PERSONAL_HOME_PAGE 0x3A50001F // PersonalHomePage
0132 #define MAPI_TAG_PR_FTP_SITE 0x3A4C001E // FTPSite
0133 #define MAPI_TAG_PR_INITIALS 0x3A0A001E // Initials
0134 
0135 #define MAPI_TAG_CONTACT_FILEUNDER "0x8005" // FileAs
0136 
0137 #define MAPI_TAG_CONTACT_LASTNAMEANDFIRSTNAME "0x8017" // LastNameandFirstName
0138 #define MAPI_TAG_CONTACT_COMPANYANDFULLNAME "0x8018" // CompanyAndFullName
0139 #define MAPI_TAG_CONTACT_FULLNAMEANDCOMPANY "0x8019" // FullNameAndCompany
0140 
0141 #define MAPI_TAG_CONTACT_HOMEADDRESS "0x801A" // HomeAddress
0142 #define MAPI_TAG_CONTACT_BUSINESSADDRESS "0x801B" // BusinessAddress
0143 #define MAPI_TAG_CONTACT_OTHERADDRESS "0x801C" // OtherAddress
0144 #define MAPI_TAG_CONTACT_SELECTEDADDRESS "0x8022" // SelectedMailingAddress:
0145 // 0 = None
0146 // 1 = Home
0147 // 2 = Business
0148 // 3 = Other
0149 
0150 #define MAPI_TAG_CONTACT_WEBPAGE "0x802B" // WebPage
0151 #define MAPI_TAG_CONTACT_YOMIFIRSTNAME "0x802C" // YomiFirstName
0152 #define MAPI_TAG_CONTACT_YOMILASTNAME "0x802D" // YomiLastName
0153 #define MAPI_TAG_CONTACT_YOMICOMPANYNAME "0x802E" // YomiCompanyName
0154 
0155 #define MAPI_TAG_CONTACT_LASTFIRSTNOSPACE "0x8030" // LastFirstNoSpace
0156 #define MAPI_TAG_CONTACT_LASTFIRSTSPACEONLY "0x8031" // LastFirstSpaceOnly
0157 #define MAPI_TAG_CONTACT_COMPANYLASTFIRSTNOSPACE "0x8032" // CompanyLastFirstNoSpace
0158 #define MAPI_TAG_CONTACT_COMPANYLASTFIRSTSpaceOnly "0x8033" // CompanyLastFirstSpaceOnly
0159 #define MAPI_TAG_CONTACT_LASTFIRSTNOSPACECOMPANY "0x8034" // LastFirstNoSpaceCompany
0160 #define MAPI_TAG_CONTACT_LASTFIRSTSPACEONLYCOMPANY "0x8035" // LastFirstSpaceOnlyCompany
0161 #define MAPI_TAG_CONTACT_LASTFIRSTANDSuffix "0x8036" // LastFirstAndSuffix
0162 
0163 #define MAPI_TAG_CONTACT_BUSINESSADDRESSSTREET "0x8045" // BusinessAddressStreet
0164 #define MAPI_TAG_CONTACT_BUSINESSADDRESSCITY "0x8046" // BusinessAddressCity
0165 #define MAPI_TAG_CONTACT_BUSINESSADDRESSSTATE "0x8047" // BusinessAddressState
0166 #define MAPI_TAG_CONTACT_BUSINESSADDRESSPOSTALCODE "0x8048" // BusinessAddressPostalCode
0167 #define MAPI_TAG_CONTACT_BUSINESSADDRESSCOUNTRY "0x8049" // BusinessAddressCountry
0168 #define MAPI_TAG_CONTACT_BUSINESSADDRESSPOBOX "0x804A" // BusinessAddressPostOfficeBox
0169 
0170 #define MAPI_TAG_CONTACT_USERFIELD1 "0x804F" // UserField1
0171 #define MAPI_TAG_CONTACT_USERFIELD2 "0x8050" // UserField2
0172 #define MAPI_TAG_CONTACT_USERFIELD3 "0x8051" // UserField3
0173 #define MAPI_TAG_CONTACT_USERFIELD4 "0x8052" // UserField4
0174 
0175 #define MAPI_TAG_CONTACT_IMADDRESS "0x8062" // InternetMailAddress (>= Outlook 2002)
0176 
0177 #define MAPI_TAG_CONTACT_EMAIL1ADDRTYPE "0x8082" // EMail1AddressType
0178 #define MAPI_TAG_CONTACT_EMAIL1EMAILADDRESS "0x8083" // EMail1Address
0179 #define MAPI_TAG_CONTACT_EMAIL1ORIGINALDISPLAYNAME "0x8084" // EMail1DisplayName
0180 #define MAPI_TAG_CONTACT_EMAIL1ORIGINALENTRYID "0x8085" // EMail1EntryID
0181 
0182 #define MAPI_TAG_CONTACT_EMAIL2ADDRTYPE "0x8092" // EMail2AddressType
0183 #define MAPI_TAG_CONTACT_EMAIL2EMAILADDRESS "0x8093" // EMail2Address
0184 #define MAPI_TAG_CONTACT_EMAIL2ORIGINALDISPLAYNAME "0x8094" // EMail2DisplayName
0185 #define MAPI_TAG_CONTACT_EMAIL2ORIGINALENTRYID "0x8095" // EMail2EntryID
0186 
0187 #define MAPI_TAG_CONTACT_EMAIL3ADDRTYPE "0x80A2" // EMail3AddressType
0188 #define MAPI_TAG_CONTACT_EMAIL3EMAILADDRESS "0x80A3" // EMail3Address
0189 #define MAPI_TAG_CONTACT_EMAIL3ORIGINALDISPLAYNAME "0x80A4" // EMail3DisplayName
0190 #define MAPI_TAG_CONTACT_EMAIL3ORIGINALENTRYID "0x80A5" // EMail3EntryID
0191 
0192 #define MAPI_TAG_CONTACT_INTERNETFREEBUSYADDRESS "0x80D8" // InternetFreeBusyAddress
0193 
0194 #define MAPI_TAG_CONTACT_BILLINGINFORMATION "0x8535" // BillingInformation
0195 #define MAPI_TAG_CONTACT_REMINDERTIME "0x8502" // N/A
0196 #define MAPI_TAG_CONTACT_MILEAGE "0x8534" // Mileage
0197 
0198 #define MAPI_TAG_PR_ASSISTANT_TELEPHONE_NUMBER 0x3A2E001F // AssistantTelephoneNumber
0199 #define MAPI_TAG_PR_BUSINESS_TELEPHONE_NUMBER 0x3A08001F // BusinessTelephoneNumber
0200 #define MAPI_TAG_PR_BUSINESS2_TELEPHONE_NUMBER 0x3A1B001F // Business2TelephoneNumber
0201 #define MAPI_TAG_PR_BUSINESS_FAX_NUMBER 0x3A24001F // BusinessFaxNumber
0202 #define MAPI_TAG_PR_CALLBACK_TELEPHONE_NUMBER 0x3A02001F // CallbackTelephoneNumber
0203 #define MAPI_TAG_PR_CAR_TELEPHONE_NUMBER 0x3A1E001F // CarTelephoneNumber
0204 
0205 #define MAPI_TAG_PR_COMPANY_MAIN_PHONE_NUMBER 0x3A57001F // CompanyMainTelephoneNumber
0206 
0207 #define MAPI_TAG_PR_HOME_TELEPHONE_NUMBER 0x3A09001F // HomeTelephoneNumber
0208 
0209 #define MAPI_TAG_PR_HOME2_TELEPHONE_NUMBER 0x3A2F001F // Home2TelephoneNumber
0210 #define MAPI_TAG_PR_HOME_FAX_NUMBER 0x3A25001F // HomeFaxNumber
0211 #define MAPI_TAG_PR_ISDN_NUMBER 0x3A2D001F // ISDNNumber
0212 
0213 #define MAPI_TAG_PR_MOBILE_TELEPHONE_NUMBER 0x3A1C001F // MobileTelephoneNumber
0214 
0215 #define MAPI_TAG_PR_OTHER_TELEPHONE_NUMBER 0x3A1F001F // OtherTelephoneNumber
0216 #define MAPI_TAG_PR_PRIMARY_FAX_NUMBER 0x3A23001F // OtherFaxNumber
0217 #define MAPI_TAG_PR_PAGER_TELEPHONE_NUMBER 0x3A21001F // PagerNumber
0218 #define MAPI_TAG_PR_PRIMARY_TELEPHONE_NUMBER 0x3A1A001F // PrimaryTelephoneNumber
0219 
0220 #define MAPI_TAG_PR_RADIO_TELEPHONE_NUMBER 0x3A1D001F // RadioTelephoneNumber
0221 
0222 #define MAPI_TAG_PR_TELEX_NUMBER 0x3A2C001F // TelexNumber
0223 #define MAPI_TAG_PR_TTYTDD_PHONE_NUMBER 0x3A4B001F // TTYTDDTelephoneNumber
0224 #define MAPI_TAG_PR_POSTAL_ADDRESS 0x3A15001F // MailingAddress
0225 
0226 #define MAPI_TAG_PR_BUSINESS_ADDRESS_COUNTRY 0x3A26001E // MailingAddressCountry
0227 #define MAPI_TAG_PR_LOCALITY 0x3A27001F // MailingAddressCity
0228 #define MAPI_TAG_PR_STATE_OR_PROVINCE 0x3A28001E // MailingAddressState
0229 #define MAPI_TAG_PR_STREET_ADDRESS 0x3A29001F // MailingAddressStreet
0230 #define MAPI_TAG_PR_POSTAL_CODE 0x3A2A001E // MailingAddressPostalCode
0231 #define MAPI_TAG_PR_PO_BOX 0x3A2B001E // MailingAddressPostOfficeBox
0232 
0233 #define MAPI_TAG_PR_HOME_ADDRESS_CITY 0x3A59001E // HomeAddressCity
0234 #define MAPI_TAG_PR_HOME_ADDRESS_STREET 0x3A5D001E // HomeAddressStreet
0235 #define MAPI_TAG_PR_HOME_ADDRESS_STATE_OR_PROVINCE 0x3A5C001E // HomeAddressState
0236 #define MAPI_TAG_PR_HOME_ADDRESS_COUNTRY 0x3A5A001E // HomeAddressCountry
0237 #define MAPI_TAG_PR_HOME_ADDRESS_PO_BOX 0x3A5E001E // HomeAddressPostOfficeBox
0238 #define MAPI_TAG_PR_HOME_ADDRESS_POSTAL_CODE 0x3A5B001E // HomeAddressPostalCode
0239 
0240 #define MAPI_TAG_PR_OTHER_ADDRESS_CITY 0x3A5F001E // OtherAddressCity
0241 #define MAPI_TAG_PR_OTHER_ADDRESS_STREET 0x3A63001E // OtherAddressStreet
0242 #define MAPI_TAG_PR_OTHER_ADDRESS_STATE_OR_PROVINCE 0x3A62001E // OtherAddressState
0243 #define MAPI_TAG_PR_OTHER_ADDRESS_COUNTRY 0x3A60001E // OtherAddressCountry
0244 #define MAPI_TAG_PR_OTHER_ADDRESS_POSTAL_CODE 0x3A61001E // OtherAddressPostalCode
0245 #define MAPI_TAG_PR_OTHER_ADDRESS_PO_BOX 0x3A64001E // OtherAddressPostOfficeBox
0246 
0247 #define MAPI_TAG_PR_DEPARTMENT_NAME 0x3A18001F // Department
0248 #define MAPI_TAG_PR_MANAGER_NAME 0x3A4E001F // ManagerName
0249 #define MAPI_TAG_PR_OFFICE_LOCATION 0x3A19001F // Location
0250 #define MAPI_TAG_PR_ASSISTANT 0x3A30001F // AssistantName
0251 #define MAPI_TAG_PR_PROFESSION 0x3A46001F // Profession
0252 #define MAPI_TAG_PR_NICKNAME 0x3A4F001F // NickName
0253 #define MAPI_TAG_PR_BIRTHDAY 0x3A420040 // Birthday
0254 #define MAPI_TAG_PR_SPOUSE_NAME 0x3A48001F // SpouseName
0255 #define MAPI_TAG_PR_WEDDING_ANNIVERSARY 0x3A410040 // Anniversary
0256 #define MAPI_TAG_PR_ACCOUNT 0x3A00001E // Account
0257 #define MAPI_TAG_PR_COMPUTER_NETWORK_NAME 0x3A49001E // ComputerNetworkName
0258 #define MAPI_TAG_PR_CHILDRENS_NAMES 0x3A58101E // Children
0259 #define MAPI_TAG_PR_CUSTOMER_ID 0x3A4A001E // CustomerID
0260 #define MAPI_TAG_PR_GENDER 0x3A4D0002 // Gender:
0261 // 0 = Unspecified
0262 // 1 = Female
0263 // 2 = Male
0264 #define MAPI_TAG_PR_GOVERNMENT_ID_NUMBER 0x3A07001E // GovernmentIDNumber
0265 #define MAPI_TAG_PR_HOBBIES 0x3A43001E // Hobby
0266 #define MAPI_TAG_PR_LANGUAGE 0x3A0C001E // Language
0267 #define MAPI_TAG_PR_LOCATION 0x3A0D001E // OfficeLocation
0268 #define MAPI_TAG_PR_ORGANIZATIONAL_ID_NUMBER 0x3A10001E // OrganizationalIDNumber
0269 #define MAPI_TAG_PR_REFERRED_BY_NAME 0X3A47001E // ReferredBy
0270 //@endcond