/usr/include/libpff/definitions.h is in libpff-dev 20120802-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | /*
* Definitions for libpff
*
* Copyright (c) 2008-2012, Joachim Metz <joachim.metz@gmail.com>
*
* Refer to AUTHORS for acknowledgements.
*
* This software is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this software. If not, see <http://www.gnu.org/licenses/>.
*/
#if !defined( _LIBPFF_DEFINITIONS_H )
#define _LIBPFF_DEFINITIONS_H
#include <libpff/types.h>
#define LIBPFF_VERSION 20120802
/* The version string
*/
#define LIBPFF_VERSION_STRING "20120802"
/* The access flags definitions
* bit 1 set to 1 for read access
* bit 2 set to 1 for write access
* bit 3-8 not used
*/
enum LIBPFF_ACCESS_FLAGS
{
LIBPFF_ACCESS_FLAG_READ = 0x01,
/* Reserved: not supported yet */
LIBPFF_ACCESS_FLAG_WRITE = 0x02
};
/* The file access macros
*/
#define LIBPFF_OPEN_READ ( LIBPFF_ACCESS_FLAG_READ )
/* Reserved: not supported yet */
#define LIBPFF_OPEN_WRITE ( LIBPFF_ACCESS_FLAG_WRITE )
/* Reserved: not supported yet */
#define LIBPFF_OPEN_READ_WRITE ( LIBPFF_ACCESS_FLAG_READ | LIBPFF_ACCESS_FLAG_WRITE )
/* TODO deprecated remove after a while */
#define LIBPFF_FLAG_READ LIBPFF_ACCESS_FLAG_READ
#define LIBPFF_FLAG_WRITE LIBPFF_ACCESS_FLAG_WRITE
/* The recovery flags
*/
enum LIBPFF_RECOVERY_FLAGS
{
LIBPFF_RECOVERY_FLAG_IGNORE_ALLOCATION_DATA = 0x01,
LIBPFF_RECOVERY_FLAG_SCAN_FOR_FRAGMENTS = 0x02
};
/* The file types
*/
enum LIBPFF_FILE_TYPES
{
LIBPFF_FILE_TYPE_32BIT = 32,
LIBPFF_FILE_TYPE_64BIT = 64
};
/* The file content types
*/
enum LIBPFF_FILE_CONTENT_TYPES
{
LIBPFF_FILE_CONTENT_TYPE_PAB = (int) 'a',
LIBPFF_FILE_CONTENT_TYPE_PST = (int) 'p',
LIBPFF_FILE_CONTENT_TYPE_OST = (int) 'o'
};
/* The encryption types
*/
enum LIBPFF_ENCRYPTION_TYPES
{
LIBPFF_ENCRYPTION_TYPE_NONE = 0,
LIBPFF_ENCRYPTION_TYPE_COMPRESSIBLE = 1,
LIBPFF_ENCRYPTION_TYPE_HIGH = 2
};
/* The item types
* These item types partially map to the message classes
* LIBPFF_ITEM_TYPE_UNDEFINED (initialization value)
* LIBPFF_ITEM_TYPE_ACTIVITY IPM.Activity
* LIBPFF_ITEM_TYPE_APPOINTMENT IPM.Appointment
* LIBPFF_ITEM_TYPE_ATTACHMENT (attachment)
* LIBPFF_ITEM_TYPE_ATTACHMENTS (attachments)
* LIBPFF_ITEM_TYPE_COMMON IPM
* LIBPFF_ITEM_TYPE_CONFIGURATION IPM.Configuration.*
* LIBPFF_ITEM_TYPE_CONFLICT_MESSAGE IPM.Conflict.Message
* LIBPFF_ITEM_TYPE_CONTACT IPM.Contact
* LIBPFF_ITEM_TYPE_DISTRIBUTION_LIST IPM.DistList
* LIBPFF_ITEM_TYPE_DOCUMENT IPM.Document.*
* LIBPFF_ITEM_TYPE_EMAIL IPM.Note, REPORT.IPM.Note.*
* LIBPFF_ITEM_TYPE_EMAIL_SMIME IPM.Note.SMIME.*
* LIBPFF_ITEM_TYPE_FAX IPM.FAX, IPM.Note.Fax
* LIBPFF_ITEM_TYPE_FOLDER (folder/container)
* LIBPFF_ITEM_TYPE_MEETING IPM.Schedule.Meeting
* LIBPFF_ITEM_TYPE_MMS IPM.Note.Mobile.MMS
* LIBPFF_ITEM_TYPE_NOTE IPM.StickyNote
* LIBPFF_ITEM_TYPE_POSTING_NOTE IPM.Post
* LIBPFF_ITEM_TYPE_RECIPIENTS (recipients)
* LIBPFF_ITEM_TYPE_RSS_FEED IPM.Post.RSS
* LIBPFF_ITEM_TYPE_SHARING IPM.Sharing.*
* LIBPFF_ITEM_TYPE_SMS IPM.Note.Mobile.SMS
* LIBPFF_ITEM_TYPE_TASK IPM.Task
* LIBPFF_ITEM_TYPE_TASK_REQUEST IPM.TaskRequest.*
* LIBPFF_ITEM_TYPE_VOICEMAIL IPM.Note.Voicemail
* LIBPFF_ITEM_TYPE_UNKNOWN (unknown item type, used in folder content type)
*
* Unsupported:
* IPM.Post
*/
enum LIBPFF_ITEM_TYPES
{
LIBPFF_ITEM_TYPE_UNDEFINED,
LIBPFF_ITEM_TYPE_ACTIVITY,
LIBPFF_ITEM_TYPE_APPOINTMENT,
LIBPFF_ITEM_TYPE_ATTACHMENT,
LIBPFF_ITEM_TYPE_ATTACHMENTS,
LIBPFF_ITEM_TYPE_COMMON,
LIBPFF_ITEM_TYPE_CONFIGURATION,
LIBPFF_ITEM_TYPE_CONFLICT_MESSAGE,
LIBPFF_ITEM_TYPE_CONTACT,
LIBPFF_ITEM_TYPE_DISTRIBUTION_LIST,
LIBPFF_ITEM_TYPE_DOCUMENT,
LIBPFF_ITEM_TYPE_EMAIL,
LIBPFF_ITEM_TYPE_EMAIL_SMIME,
LIBPFF_ITEM_TYPE_FAX,
LIBPFF_ITEM_TYPE_FOLDER,
LIBPFF_ITEM_TYPE_MEETING,
LIBPFF_ITEM_TYPE_MMS,
LIBPFF_ITEM_TYPE_NOTE,
LIBPFF_ITEM_TYPE_POSTING_NOTE,
LIBPFF_ITEM_TYPE_RECIPIENTS,
LIBPFF_ITEM_TYPE_RSS_FEED,
LIBPFF_ITEM_TYPE_SHARING,
LIBPFF_ITEM_TYPE_SMS,
LIBPFF_ITEM_TYPE_SUB_ASSOCIATED_CONTENTS,
LIBPFF_ITEM_TYPE_SUB_FOLDERS,
LIBPFF_ITEM_TYPE_SUB_MESSAGES,
LIBPFF_ITEM_TYPE_TASK,
LIBPFF_ITEM_TYPE_TASK_REQUEST,
LIBPFF_ITEM_TYPE_VOICEMAIL,
LIBPFF_ITEM_TYPE_UNKNOWN
};
/* The attachment types
*/
enum LIBPFF_ATTACHMENT_TYPES
{
LIBPFF_ATTACHMENT_TYPE_UNDEFINED = 0,
LIBPFF_ATTACHMENT_TYPE_DATA = (int) 'd',
LIBPFF_ATTACHMENT_TYPE_ITEM = (int) 'i',
LIBPFF_ATTACHMENT_TYPE_REFERENCE = (int) 'r'
};
/* The unallocated block type
*/
enum LIBPFF_UNALLOCATED_BLOCK_TYPES
{
LIBPFF_UNALLOCATED_BLOCK_TYPE_DATA = (int) 'd',
LIBPFF_UNALLOCATED_BLOCK_TYPE_PAGE = (int) 'p'
};
/* The name to id map entry types
*/
enum LIBPFF_NAME_TO_ID_MAP_ENTRY_TYPES
{
LIBPFF_NAME_TO_ID_MAP_ENTRY_TYPE_NUMERIC = (int) 'n',
LIBPFF_NAME_TO_ID_MAP_ENTRY_TYPE_STRING = (int) 's'
};
/* The entry value flags
*/
enum LIBPFF_ENTRY_VALUE_FLAGS
{
LIBPFF_ENTRY_VALUE_FLAG_MATCH_ANY_VALUE_TYPE = 0x01,
LIBPFF_ENTRY_VALUE_FLAG_IGNORE_NAME_TO_ID_MAP = 0x02
};
#endif
|