Add missing copyrights in tnef_parse plugin
[claws.git] / src / plugins / tnef_parse / mapi.h
1 /*
2 *    Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
3 *    Copyright (C) 2004-2014 Colin Leroy and the Claws Mail team
4 *
5 *    Yerase's TNEF Stream Reader Library
6 *    Copyright (C) 2003  Randall E. Hand
7 *
8 *    This program is free software; you can redistribute it and/or modify
9 *    it under the terms of the GNU General Public License as published by
10 *    the Free Software Foundation; either version 3 of the License, or
11 *    (at your option) any later version.
12 *
13 *    This program 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
16 *    GNU General Public License for more details.
17 *
18 *    You should have received a copy of the GNU General Public License
19 *    along with this program. If not, see <http://www.gnu.org/licenses/>.
20 *
21 *    You can contact me at randall.hand@gmail.com for questions or assistance
22 */
23 #define MV_FLAG         0x1000          /* Multi-value flag */
24
25 #define PT_UNSPECIFIED  ((ULONG)  0)    /* (Reserved for interface use) type doesn't matter to caller */
26 #define PT_NULL         ((ULONG)  1)    /* NULL property value */
27 #define PT_I2           ((ULONG)  2)    /* Signed 16-bit value */
28 #define PT_LONG         ((ULONG)  3)    /* Signed 32-bit value */
29 #define PT_R4           ((ULONG)  4)    /* 4-byte floating point */
30 #define PT_DOUBLE       ((ULONG)  5)    /* Floating point double */
31 #define PT_CURRENCY     ((ULONG)  6)    /* Signed 64-bit int (decimal w/    4 digits right of decimal pt) */
32 #define PT_APPTIME      ((ULONG)  7)    /* Application time */
33 #define PT_ERROR        ((ULONG) 10)    /* 32-bit error value */
34 #define PT_BOOLEAN      ((ULONG) 11)    /* 16-bit boolean (non-zero true) */
35 #define PT_OBJECT       ((ULONG) 13)    /* Embedded object in a property */
36 #define PT_I8           ((ULONG) 20)    /* 8-byte signed integer */
37 #define PT_STRING8      ((ULONG) 30)    /* Null terminated 8-bit character string */
38 #define PT_UNICODE      ((ULONG) 31)    /* Null terminated Unicode string */
39 #define PT_SYSTIME      ((ULONG) 64)    /* FILETIME 64-bit int w/ number of 100ns periods since Jan 1,1601 */
40 #define PT_CLSID        ((ULONG) 72)    /* OLE GUID */
41 #define PT_BINARY       ((ULONG) 258)   /* Uninterpreted (counted byte array) */
42
43 #define PROP_TYPE_MASK          ((ULONG)0x0000FFFF) /* Mask for Property type */
44 #define PROP_TYPE(ulPropTag)    (((ULONG)(ulPropTag))&PROP_TYPE_MASK)
45 #define PROP_ID(ulPropTag)      (((ULONG)(ulPropTag))>>16)
46 #define PROP_TAG(ulPropType,ulPropID)   ((((ULONG)(ulPropID))<<16)|((ULONG)(ulPropType)))
47 #define PROP_ID_NULL            0
48 #define PROP_ID_INVALID         0xFFFF
49 #define PR_NULL                 PROP_TAG( PT_NULL, PROP_ID_NULL)
50
51 #define MAPI_UNDEFINED ((variableLength*)-1)