diff options
Diffstat (limited to 'src/gpgme.h.in')
-rw-r--r-- | src/gpgme.h.in | 59 |
1 files changed, 52 insertions, 7 deletions
diff --git a/src/gpgme.h.in b/src/gpgme.h.in index 502d68c..d44994a 100644 --- a/src/gpgme.h.in +++ b/src/gpgme.h.in @@ -303,12 +303,13 @@ typedef enum gpgme_hash_algo_t; -/* The available signature modes. */ +/* The available signature mode flags. */ typedef enum { GPGME_SIG_MODE_NORMAL = 0, GPGME_SIG_MODE_DETACH = 1, - GPGME_SIG_MODE_CLEAR = 2 + GPGME_SIG_MODE_CLEAR = 2, + GPGME_SIG_MODE_ARCHIVE = 4 } gpgme_sig_mode_t; @@ -383,6 +384,7 @@ gpgme_protocol_t; #define GPGME_KEYLIST_MODE_EPHEMERAL 128 #define GPGME_KEYLIST_MODE_VALIDATE 256 #define GPGME_KEYLIST_MODE_FORCE_EXTERN 512 +#define GPGME_KEYLIST_MODE_WITH_V5FPR 1024 #define GPGME_KEYLIST_MODE_LOCATE (1|2) #define GPGME_KEYLIST_MODE_LOCATE_EXTERNAL (1|2|512) @@ -574,8 +576,17 @@ struct _gpgme_subkey /* True if the key is compliant to the de-vs mode. */ unsigned int is_de_vs : 1; + /* True if the key can be used for restricted encryption (ADSK). */ + unsigned int can_renc : 1; + + /* True if the key can be used for timestamping. */ + unsigned int can_timestamp : 1; + + /* True if the private key is possessed by more than one person. */ + unsigned int is_group_owned : 1; + /* Internal to GPGME, do not use. */ - unsigned int _unused : 20; + unsigned int _unused : 17; /* Public key algorithm supported by this subkey. */ gpgme_pubkey_algo_t pubkey_algo; @@ -606,6 +617,9 @@ struct _gpgme_subkey /* The keygrip of the subkey in hex digit form or NULL if not available. */ char *keygrip; + + /* For OpenPGP the v5 fpr of a v4 key. For X.509 the SHA256 fingerprint. */ + char *v5fpr; }; typedef struct _gpgme_subkey *gpgme_subkey_t; @@ -786,8 +800,20 @@ struct _gpgme_key /* True if subkey is qualified for signatures according to German law. */ unsigned int is_qualified : 1; + /* True if key has at least one encryption subkey. */ + unsigned int has_encrypt : 1; + + /* True if key has at least one signing subkey. */ + unsigned int has_sign : 1; + + /* True if key has a certification capability. */ + unsigned int has_certify : 1; + + /* True if key has at least one authentication subkey. */ + unsigned int has_authenticate : 1; + /* Internal to GPGME, do not use. */ - unsigned int _unused : 17; + unsigned int _unused : 13; /* Origin of this key. */ unsigned int origin : 5; @@ -1299,7 +1325,8 @@ typedef enum GPGME_ENCRYPT_SYMMETRIC = 32, GPGME_ENCRYPT_THROW_KEYIDS = 64, GPGME_ENCRYPT_WRAP = 128, - GPGME_ENCRYPT_WANT_ADDRESS = 256 + GPGME_ENCRYPT_WANT_ADDRESS = 256, + GPGME_ENCRYPT_ARCHIVE = 512 } gpgme_encrypt_flags_t; @@ -1424,6 +1451,7 @@ gpgme_decrypt_result_t gpgme_op_decrypt_result (gpgme_ctx_t ctx); typedef enum { GPGME_DECRYPT_VERIFY = 1, + GPGME_DECRYPT_ARCHIVE = 2, GPGME_DECRYPT_UNWRAP = 128 } gpgme_decrypt_flags_t; @@ -1519,10 +1547,10 @@ gpgme_sign_result_t gpgme_op_sign_result (gpgme_ctx_t ctx); /* Sign the plaintext PLAIN and store the signature in SIG. */ gpgme_error_t gpgme_op_sign_start (gpgme_ctx_t ctx, gpgme_data_t plain, gpgme_data_t sig, - gpgme_sig_mode_t mode); + gpgme_sig_mode_t flags); gpgme_error_t gpgme_op_sign (gpgme_ctx_t ctx, gpgme_data_t plain, gpgme_data_t sig, - gpgme_sig_mode_t mode); + gpgme_sig_mode_t flags); /* @@ -1631,6 +1659,13 @@ typedef struct _gpgme_op_verify_result *gpgme_verify_result_t; /* Retrieve a pointer to the result of the verify operation. */ gpgme_verify_result_t gpgme_op_verify_result (gpgme_ctx_t ctx); +/* The valid verify flags. */ +typedef enum + { + GPGME_VERIFY_ARCHIVE = 1 + } +gpgme_verify_flags_t; + /* Verify within CTX that SIG is a valid signature for TEXT. */ gpgme_error_t gpgme_op_verify_start (gpgme_ctx_t ctx, gpgme_data_t sig, gpgme_data_t signed_text, @@ -1638,6 +1673,16 @@ gpgme_error_t gpgme_op_verify_start (gpgme_ctx_t ctx, gpgme_data_t sig, gpgme_error_t gpgme_op_verify (gpgme_ctx_t ctx, gpgme_data_t sig, gpgme_data_t signed_text, gpgme_data_t plaintext); +gpgme_error_t gpgme_op_verify_ext_start (gpgme_ctx_t ctx, + gpgme_verify_flags_t flags, + gpgme_data_t sig, + gpgme_data_t signed_text, + gpgme_data_t plaintext); +gpgme_error_t gpgme_op_verify_ext (gpgme_ctx_t ctx, + gpgme_verify_flags_t flags, + gpgme_data_t sig, + gpgme_data_t signed_text, + gpgme_data_t plaintext); /* |