pEpObjCAdapterFramework/PEPEngineTypes.h
author Dirk Zimmermann <dz@pep.security>
Fri, 20 Sep 2019 17:00:26 +0200
branchIOSAD-132
changeset 1255 9919bdc5e3cd
parent 1167 fc5d52285ff8
child 1256 11a02b9107be
permissions -rw-r--r--
IOSAD-132 PEPDecryptFlags.
dz@815
     1
//
dz@839
     2
//  PEPTypes.h
dz@815
     3
//  pEpObjCAdapter
dz@815
     4
//
dz@815
     5
//  Created by Dirk Zimmermann on 27.02.19.
dz@815
     6
//  Copyright © 2019 p≡p. All rights reserved.
dz@815
     7
//
dz@815
     8
dz@839
     9
#ifndef PEPTypes_h
dz@839
    10
#define PEPTypes_h
dz@815
    11
dz@845
    12
#import <Foundation/Foundation.h>
dz@845
    13
dz@1255
    14
typedef NS_CLOSED_ENUM(int, PEPDecryptFlags) {
dz@1255
    15
    PEPDecryptFlagsNone = 0x0, // not actually defined in the engine
dz@1255
    16
    PEPDecryptFlagsOwnPrivateKey = 0x1, // PEP_decrypt_flag_own_private_key
dz@1255
    17
    PEPDecryptFlagsConsume = 0x2, //PEP_decrypt_flag_consume
dz@1255
    18
    PEPDecryptFlagsIgnore = 0x4, // PEP_decrypt_flag_ignore
dz@1255
    19
    PEPDecryptFlagsSourceModified = 0x8, // PEP_decrypt_flag_src_modified
dz@1255
    20
    PEPDecryptFlagsUntrustedServer = 0x100, // PEP_decrypt_flag_untrusted_server
dz@1255
    21
    PEPDecryptFlagsDontTriggerSync = 0x200, // PEP_decrypt_flag_dont_trigger_sync
dz@1255
    22
};
dz@815
    23
dz@973
    24
typedef NS_ENUM(int, PEPEncFormat) {
dz@863
    25
    PEPEncFormatNone = 0, // PEP_enc_none = 0, // message is not encrypted
dz@863
    26
    PEPEncFormatPieces, // PEP_enc_pieces, // inline PGP + PGP extensions
dz@863
    27
    PEPEncFormatSMIME, // PEP_enc_S_MIME, // RFC5751
dz@863
    28
    PEPEncFormatPgpMIME, // PEP_enc_PGP_MIME, // RFC3156
dz@863
    29
    PEPEncFormatPEP, // PEP_enc_PEP, // pEp encryption format
dz@863
    30
    PEPEncFormatPgpMIMEOutlook1 // PEP_enc_PGP_MIME_Outlook1 // Message B0rken by Outlook type 1
dz@862
    31
};
dz@818
    32
dz@973
    33
typedef NS_ENUM(int, PEPRating) {
dz@819
    34
    PEPRatingUndefined = 0,// PEP_rating_undefined = 0,
dz@819
    35
    PEPRatingCannotDecrypt, // PEP_rating_cannot_decrypt,
dz@819
    36
    PEPRatingHaveNoKey, // PEP_rating_have_no_key,
dz@819
    37
    PEPRatingUnencrypted, // PEP_rating_unencrypted,
dz@819
    38
    PEPRatingUnencryptedForSome, // PEP_rating_unencrypted_for_some, // don't use this any more
dz@819
    39
    PEPRatingUnreliable, // PEP_rating_unreliable,
dz@819
    40
    PEPRatingReliable, // PEP_rating_reliable,
dz@819
    41
    PEPRatingTrusted, // PEP_rating_trusted,
dz@819
    42
    PEPRatingTrustedAndAnonymized, // PEP_rating_trusted_and_anonymized,
dz@819
    43
    PEPRatingFullyAnonymous, // PEP_rating_fully_anonymous,
dz@819
    44
dz@819
    45
    PEPRatingMistrust = -1, // PEP_rating_mistrust = -1,
dz@819
    46
    PEPRatingB0rken = -2, // PEP_rating_b0rken = -2,
dz@819
    47
    PEPRatingUnderAttack = -3 // PEP_rating_under_attack = -3
dz@862
    48
};
dz@819
    49
dz@973
    50
typedef NS_ENUM(int, PEPStatus) {
dz@820
    51
    PEPStatusOK                                   = 0, // PEP_STATUS_OK
dz@820
    52
dz@863
    53
    PEPStatusInitCannotLoadGPME                      = 0x0110, // PEP_INIT_CANNOT_LOAD_GPGME
dz@863
    54
    PEPStatusInitGPGMEInitFailed                      = 0x0111, // PEP_INIT_GPGME_INIT_FAILED
dz@863
    55
    PEPStatusInitNoGPGHome                            = 0x0112, // PEP_INIT_NO_GPG_HOME
dz@863
    56
    PEPStatusInitNETPGPInitFailed                     = 0x0113, // PEP_INIT_NETPGP_INIT_FAILED
dz@863
    57
    PEPStatusInitCannotDetermineGPGVersion           = 0x0114, // PEP_INIT_CANNOT_DETERMINE_GPG_VERSION
dz@863
    58
    PEPStatusInitUnsupportedGPGVersion                = 0x0115, // PEP_INIT_UNSUPPORTED_GPG_VERSION
dz@863
    59
    PEPStatusInitCannotConfigGPGAgent                = 0x0116, // PEP_INIT_CANNOT_CONFIG_GPG_AGENT
dz@820
    60
dz@863
    61
    PEPStatusInitSqlite3WithoutMutex                  = 0x0120, // PEP_INIT_SQLITE3_WITHOUT_MUTEX
dz@863
    62
    PEPStatusInitCannotOpenDB                         = 0x0121, // PEP_INIT_CANNOT_OPEN_DB
dz@863
    63
    PEPStatusInitCannotOpenSystemDB                  = 0x0122, // PEP_INIT_CANNOT_OPEN_SYSTEM_DB
dz@863
    64
    PEPStatusUnknownDBError                            = 0x01ff, // PEP_UNKNOWN_DB_ERROR
dz@820
    65
dz@863
    66
    PEPStatusKeyNotFound                               = 0x0201, // PEP_KEY_NOT_FOUND
dz@863
    67
    PEPStatusKeyHasAmbigName                          = 0x0202, // PEP_KEY_HAS_AMBIG_NAME
dz@863
    68
    PEPStatusGetKeyFailed                              = 0x0203, // PEP_GET_KEY_FAILED
dz@863
    69
    PEPStatusCannotExportKey                           = 0x0204, // PEP_CANNOT_EXPORT_KEY
dz@863
    70
    PEPStatusCannotEditKey                             = 0x0205, // PEP_CANNOT_EDIT_KEY
dz@863
    71
    PEPStatusKeyUnsuitable                              = 0x0206, // PEP_KEY_UNSUITABLE
dz@863
    72
    PEPStatusMalformedKeyResetMsg                     = 0x0210, // PEP_MALFORMED_KEY_RESET_MSG
dz@863
    73
    PEPStatusKeyNotReset                               = 0x0211, // PEP_KEY_NOT_RESET
dz@820
    74
dz@863
    75
    PEPStatusKeyImported                                = 0x0220, // PEP_KEY_IMPORTED
dz@863
    76
    PEPStatusNoKeyImported                             = 0x0221, // PEP_NO_KEY_IMPORTED
dz@863
    77
    PEPStatusKeyImportStatusUnknown                   = 0x0222, // PEP_KEY_IMPORT_STATUS_UNKNOWN
dz@820
    78
dz@863
    79
    PEPStatusCannotFindIdentity                        = 0x0301, // PEP_CANNOT_FIND_IDENTITY
dz@863
    80
    PEPStatusCannotSetPerson                           = 0x0381, // PEP_CANNOT_SET_PERSON
dz@863
    81
    PEPStatusCannotSetPGPKeyPair                      = 0x0382, // PEP_CANNOT_SET_PGP_KEYPAIR
dz@863
    82
    PEPStatusCannotSetIdentity                         = 0x0383, // PEP_CANNOT_SET_IDENTITY
dz@863
    83
    PEPStatusCannotSetTrust                            = 0x0384, // PEP_CANNOT_SET_TRUST
dz@863
    84
    PEPStatusKeyBlacklisted                             = 0x0385, // PEP_KEY_BLACKLISTED
dz@863
    85
    PEPStatusCannotFindPerson                          = 0x0386, // PEP_CANNOT_FIND_PERSON
dz@1149
    86
    PEPStatusCannotSetPEPVersion = 0X0387, // PEP_CANNOT_SET_PEP_VERSION
dz@820
    87
dz@863
    88
    PEPStatusCannotFindAlias                           = 0x0391, // PEP_CANNOT_FIND_ALIAS
dz@863
    89
    PEPStatusCannotSetAlias                            = 0x0392, // PEP_CANNOT_SET_ALIAS
dz@820
    90
dz@863
    91
    PEPStatusUnencrypted                                 = 0x0400, // PEP_UNENCRYPTED
dz@863
    92
    PEPStatusVerified                                    = 0x0401, // PEP_VERIFIED
dz@863
    93
    PEPStatusDecrypted                                   = 0x0402, // PEP_DECRYPTED
dz@863
    94
    PEPStatusDecryptedAndVerified                      = 0x0403, // PEP_DECRYPTED_AND_VERIFIED
dz@863
    95
    PEPStatusDecryptWrongFormat                        = 0x0404, // PEP_DECRYPT_WRONG_FORMAT
dz@863
    96
    PEPStatusDecryptNoKey                              = 0x0405, // PEP_DECRYPT_NO_KEY
dz@863
    97
    PEPStatusDecryptSignatureDoesNotMatch            = 0x0406, // PEP_DECRYPT_SIGNATURE_DOES_NOT_MATCH
dz@863
    98
    PEPStatusVerifyNoKey                               = 0x0407, // PEP_VERIFY_NO_KEY
dz@863
    99
    PEPStatusVerifiedAndTrusted                        = 0x0408, // PEP_VERIFIED_AND_TRUSTED
dz@863
   100
    PEPStatusCannotReencrypt                            = 0x0409, // PEP_CANNOT_REENCRYPT
dz@863
   101
    PEPStatusCannotDecryptUnknown                      = 0x04ff, // PEP_CANNOT_DECRYPT_UNKNOWN
dz@820
   102
dz@863
   103
    PEPStatusTrustwordNotFound                         = 0x0501, // PEP_TRUSTWORD_NOT_FOUND
dz@863
   104
    PEPStatusTrustwordsFPRWrongLength                 = 0x0502, // PEP_TRUSTWORDS_FPR_WRONG_LENGTH
dz@863
   105
    PEPStatusTrustwordsDuplicateFPR                    = 0x0503, // PEP_TRUSTWORDS_DUPLICATE_FPR
dz@820
   106
dz@863
   107
    PEPStatusCannotCreateKey                           = 0x0601, // PEP_CANNOT_CREATE_KEY
dz@863
   108
    PEPStatusCannotSendKey                             = 0x0602, // PEP_CANNOT_SEND_KEY
dz@820
   109
dz@863
   110
    PEPStatusPhraseNotFound                            = 0x0701, // PEP_PHRASE_NOT_FOUND
dz@820
   111
dz@863
   112
    PEPStatusSendFunctionNotRegistered                = 0x0801, // PEP_SEND_FUNCTION_NOT_REGISTERED
dz@863
   113
    PEPStatusConstraintsViolated                         = 0x0802, // PEP_CONTRAINTS_VIOLATED
dz@863
   114
    PEPStatusCannotEncode                               = 0x0803, // PEP_CANNOT_ENCODE
dz@820
   115
dz@863
   116
    PEPStatusSyncNoNotifyCallback                     = 0x0901, // PEP_SYNC_NO_NOTIFY_CALLBACK
dz@863
   117
    PEPStatusSyncIllegalMessage                        = 0x0902, // PEP_SYNC_ILLEGAL_MESSAGE
dz@863
   118
    PEPStatusSyncNoInjectCallback                     = 0x0903, // PEP_SYNC_NO_INJECT_CALLBACK
dz@863
   119
    PEPStatusSyncNoChannel                             = 0x0904, // PEP_SYNC_NO_CHANNEL
dz@863
   120
    PEPStatusSyncCannotEncrypt                         = 0x0905, // PEP_SYNC_CANNOT_ENCRYPT
dz@863
   121
    PEPStatusSyncNoMessageSendCallback               = 0x0906, // PEP_SYNC_NO_MESSAGE_SEND_CALLBACK
dz@820
   122
dz@863
   123
    PEPStatusCannotIncreaseSequence                    = 0x0971, // PEP_CANNOT_INCREASE_SEQUENCE
dz@820
   124
dz@863
   125
    PEPStatusStatemachineError                          = 0x0980, // PEP_STATEMACHINE_ERROR
dz@863
   126
    PEPStatusNoTrust                                    = 0x0981, // PEP_NO_TRUST
dz@863
   127
    PEPStatusStatemachineInvalidState                  = 0x0982, // PEP_STATEMACHINE_INVALID_STATE
dz@863
   128
    PEPStatusStatemachineInvalidEvent                  = 0x0983, // PEP_STATEMACHINE_INVALID_EVENT
dz@863
   129
    PEPStatusStatemachineInvalidCondition              = 0x0984, // PEP_STATEMACHINE_INVALID_CONDITION
dz@863
   130
    PEPStatusStatemachineInvalidAction                 = 0x0985, // PEP_STATEMACHINE_INVALID_ACTION
dz@863
   131
    PEPStatusStatemachineInhibitedEvent                = 0x0986, // PEP_STATEMACHINE_INHIBITED_EVENT
dz@863
   132
    PEPStatusStatemachineCannotSend                    = 0x0987, // PEP_STATEMACHINE_CANNOT_SEND
dz@820
   133
dz@863
   134
    PEPStatusCommitFailed                               = 0xff01, // PEP_COMMIT_FAILED
dz@863
   135
    PEPStatusMessageConsume                             = 0xff02, // PEP_MESSAGE_CONSUME
dz@863
   136
    PEPStatusMessageIgnore                              = 0xff03, // PEP_MESSAGE_IGNORE
dz@820
   137
dz@863
   138
    PEPStatusRecordNotFound                            = -6, // PEP_RECORD_NOT_FOUND
dz@863
   139
    PEPStatusCannotCreateTempFile                     = -5, // PEP_CANNOT_CREATE_TEMP_FILE
dz@863
   140
    PEPStatusIllegalValue                               = -4, // PEP_ILLEGAL_VALUE
dz@863
   141
    PEPStatusBufferTooSmall                            = -3, // PEP_BUFFER_TOO_SMALL
dz@863
   142
    PEPStatusOutOfMemory                               = -2, // PEP_OUT_OF_MEMORY
dz@863
   143
    PEPStatusUnknownError                               = -1, // PEP_UNKNOWN_ERROR
dz@820
   144
dz@863
   145
    PEPStatusVersionMismatch                            = -7, // PEP_VERSION_MISMATCH
dz@862
   146
};
dz@820
   147
dz@973
   148
typedef NS_ENUM(int, PEPIdentityFlags) {
dz@823
   149
    // the first octet flags are app defined settings
dz@863
   150
    PEPIdentityFlagsNotForSync = 0x0001, // PEP_idf_not_for_sync = 0x0001,   // don't use this identity for sync
dz@863
   151
    PEPIdentityFlagsList = 0x0002, // PEP_idf_list = 0x0002,           // identity of list of persons
dz@823
   152
    // the second octet flags are calculated
dz@863
   153
    PEPIdentityFlagsDeviceGroup = 0x0100 // PEP_idf_devicegroup = 0x0100     // identity of a device group member
dz@862
   154
};
dz@823
   155
dz@973
   156
typedef NS_ENUM(int, PEPSyncHandshakeSignal) { // _sync_handshake_signal
dz@933
   157
    PEPSyncHandshakeSignalUndefined = 0, // SYNC_NOTIFY_UNDEFINED = 0,
dz@933
   158
dz@933
   159
    // request show handshake dialog
dz@933
   160
    PEPSyncHandshakeSignalInitAddOurDevice = 1, // SYNC_NOTIFY_INIT_ADD_OUR_DEVICE = 1,
dz@933
   161
    PEPSyncHandshakeSignalInitAddOtherDevice = 2, // SYNC_NOTIFY_INIT_ADD_OTHER_DEVICE = 2,
dz@933
   162
    PEPSyncHandshakeSignalInitFormGroup = 3, // SYNC_NOTIFY_INIT_FORM_GROUP = 3,
dz@933
   163
    // SYNC_NOTIFY_INIT_MOVE_OUR_DEVICE = 4,
dz@933
   164
dz@933
   165
    // handshake process timed out
dz@933
   166
    PEPSyncHandshakeSignalTimeout = 5, // SYNC_NOTIFY_TIMEOUT = 5,
dz@933
   167
dz@933
   168
    // handshake accepted by user
dz@933
   169
    PEPSyncHandshakeSignalAcceptedDeviceAdded = 6, // SYNC_NOTIFY_ACCEPTED_DEVICE_ADDED = 6,
dz@933
   170
    PEPSyncHandshakeSignalAcceptedGroupCreated = 7, // SYNC_NOTIFY_ACCEPTED_GROUP_CREATED = 7,
dz@933
   171
    // SYNC_NOTIFY_ACCEPTED_DEVICE_MOVED = 8,
dz@933
   172
dz@933
   173
    // handshake dialog must be closed
dz@933
   174
    PEPSyncHandshakeSignalOvertaken = 9, // SYNC_NOTIFY_OVERTAKEN = 9,
dz@933
   175
andreas@1167
   176
    /** currently exchanging private keys */
andreas@1167
   177
    PEPSyncHandshakeSignalFormingGroup = 10, // SYNC_NOTIFY_FORMING_GROUP = 10
andreas@1167
   178
dz@933
   179
    // notificaton of actual group status
dz@933
   180
    PEPSyncHandshakeSignalSole = 254, // SYNC_NOTIFY_SOLE = 254,
dz@933
   181
    PEPSyncHandshakeSignalInGroup = 255 // SYNC_NOTIFY_IN_GROUP = 255
dz@933
   182
};
dz@933
   183
dz@973
   184
typedef NS_ENUM(int, PEPSyncHandshakeResult) {
dz@827
   185
    PEPSyncHandshakeResultCancel = -1, // SYNC_HANDSHAKE_CANCEL = -1,
dz@827
   186
    PEPSyncHandshakeResultAccepted = 0, // SYNC_HANDSHAKE_ACCEPTED = 0,
dz@827
   187
    PEPSyncHandshakeResultRejected = 1 // SYNC_HANDSHAKE_REJECTED = 1
dz@862
   188
};
dz@824
   189
dz@973
   190
typedef NS_ENUM(int, PEPCommType) {
dz@863
   191
    PEPCommTypeUnknown = 0, // PEP_ct_unknown = 0,
dz@832
   192
dz@832
   193
    // range 0x01 to 0x09: no encryption, 0x0a to 0x0e: nothing reasonable
dz@832
   194
dz@863
   195
    PEPCommTypeNoEncryption = 0x01, // PEP_ct_no_encryption = 0x01,                // generic
dz@863
   196
    PEPCommTypeNoEncrypted_channel = 0x02, // PEP_ct_no_encrypted_channel = 0x02,
dz@863
   197
    PEPCommTypeKeyNotFound = 0x03, // PEP_ct_key_not_found = 0x03,
dz@863
   198
    PEPCommTypeKeyExpired = 0x04, // PEP_ct_key_expired = 0x04,
dz@863
   199
    PEPCommTypeKeyRevoked = 0x05, // PEP_ct_key_revoked = 0x05,
dz@863
   200
    PEPCommTypeKeyBr0ken = 0x06, // PEP_ct_key_b0rken = 0x06,
dz@863
   201
    PEPCommTypeKeyExpiredButConfirmed = 0x07, // PEP_ct_key_expired_but_confirmed = 0x07, // NOT with confirmed bit. Just retaining info here in case of renewal.
dz@863
   202
    PEPCommTypeMyKeyNotIncluded = 0x09, // PEP_ct_my_key_not_included = 0x09,
dz@832
   203
dz@863
   204
    PEPCommTypeSecurityByObscurity = 0x0a, // PEP_ct_security_by_obscurity = 0x0a,
dz@863
   205
    PEPCommTypeBr0kenCrypto = 0x0b, // PEP_ct_b0rken_crypto = 0x0b,
dz@863
   206
    PEPCommTypeKeyTooShort = 0x0c, // PEP_ct_key_too_short = 0x0c,
dz@832
   207
dz@863
   208
    PEPCommTypeCompromised = 0x0e, // PEP_ct_compromized = 0x0e,                  // deprecated misspelling
dz@863
   209
    PEPCommTypeMistrusted = 0x0f, // PEP_ct_mistrusted = 0x0f,                   // known mistrusted key
dz@832
   210
dz@832
   211
    // range 0x10 to 0x3f: unconfirmed encryption
dz@832
   212
dz@863
   213
    PEPCommTypeUnconfirmedEncryption = 0x10, // PEP_ct_unconfirmed_encryption = 0x10,       // generic
dz@863
   214
    PEPCommTypeOpenPGPWeakUnconfirmed = 0x11, // PEP_ct_OpenPGP_weak_unconfirmed = 0x11,     // RSA 1024 is weak
dz@832
   215
dz@863
   216
    PEPCommTypeToBeChecked = 0x20, // PEP_ct_to_be_checked = 0x20,                // generic
dz@863
   217
    PEPCommTypeSMIMEUnconfirmed = 0x21, // PEP_ct_SMIME_unconfirmed = 0x21,
dz@863
   218
    PEPCommTypeCMSUnconfirmed = 0x22, // PEP_ct_CMS_unconfirmed = 0x22,
dz@832
   219
dz@863
   220
    PEPCommTypeStongButUnconfirmed = 0x30, // PEP_ct_strong_but_unconfirmed = 0x30,       // generic
dz@863
   221
    PEPCommTypeOpenPGPUnconfirmed = 0x38, // PEP_ct_OpenPGP_unconfirmed = 0x38,          // key at least 2048 bit RSA or EC
dz@863
   222
    PEPCommTypeOTRUnconfirmed = 0x3a, // PEP_ct_OTR_unconfirmed = 0x3a,
dz@832
   223
dz@832
   224
    // range 0x40 to 0x7f: unconfirmed encryption and anonymization
dz@832
   225
dz@863
   226
    PEPCommTypeUnconfirmedEncAnon = 0x40, // PEP_ct_unconfirmed_enc_anon = 0x40,         // generic
dz@863
   227
    PEPCommTypePEPUnconfirmed = 0x7f, // PEP_ct_pEp_unconfirmed = 0x7f,
dz@832
   228
dz@863
   229
    PEPCommTypeConfirmed = 0x80, // PEP_ct_confirmed = 0x80,                    // this bit decides if trust is confirmed
dz@832
   230
dz@832
   231
    // range 0x81 to 0x8f: reserved
dz@832
   232
    // range 0x90 to 0xbf: confirmed encryption
dz@832
   233
dz@863
   234
    PEPCommTypeConfirmedEncryption = 0x90, // PEP_ct_confirmed_encryption = 0x90,         // generic
dz@863
   235
    PEPCommTypeOpenPGPWeak = 0x91, // PEP_ct_OpenPGP_weak = 0x91,                 // RSA 1024 is weak (unused)
dz@832
   236
dz@863
   237
    PEPCommTypeToBeCheckedConfirmed = 0xa0, // PEP_ct_to_be_checked_confirmed = 0xa0,      // generic
dz@863
   238
    PEPCommTypeSMIME = 0xa1, // PEP_ct_SMIME = 0xa1,
dz@863
   239
    PEPCommTypeCMS = 0xa2, // PEP_ct_CMS = 0xa2,
dz@832
   240
dz@863
   241
    PEPCommTypeStongEncryption = 0xb0, // PEP_ct_strong_encryption = 0xb0,            // generic
dz@863
   242
    PEPCommTypeOpenPGP = 0xb8, // PEP_ct_OpenPGP = 0xb8,                      // key at least 2048 bit RSA or EC
dz@863
   243
    PEPCommTypeOTR = 0xba, // PEP_ct_OTR = 0xba,
dz@832
   244
dz@832
   245
    // range 0xc0 to 0xff: confirmed encryption and anonymization
dz@832
   246
dz@863
   247
    PEPCommTypeConfirmedEncAnon = 0xc0, // PEP_ct_confirmed_enc_anon = 0xc0,           // generic
dz@863
   248
    PEPCommTypePEP = 0xff // PEP_ct_pEp = 0xff
dz@862
   249
};
dz@832
   250
dz@973
   251
typedef NS_ENUM(int, PEPMsgDirection) {
dz@863
   252
    PEPMsgDirectionIncoming = 0,
dz@863
   253
    PEPMsgDirectionOutgoing
dz@862
   254
};
dz@844
   255
dz@973
   256
typedef NS_ENUM(int, PEPColor) {
dz@852
   257
    PEPColorNoColor = 0,
dz@852
   258
    PEPColorYellow,
dz@852
   259
    PEPColorGreen,
dz@852
   260
    PEPColorRed = -1,
dz@862
   261
};
dz@852
   262
dz@973
   263
typedef NS_ENUM(int, PEPContentDisposition) {
dz@863
   264
    PEPContentDispositionAttachment = 0,
dz@863
   265
    PEPContentDispositionInline = 1,
dz@863
   266
    PEPContentDispositionOther = -1      // must be affirmatively set
dz@862
   267
};
dz@857
   268
dz@839
   269
#endif /* PEPTypes_h */