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