doc/
[gpgme.git] / gpgme / gpgme.h
index c4612b8..ed1d25b 100644 (file)
@@ -63,7 +63,7 @@ extern "C" {
    AM_PATH_GPGME macro) check that this header matches the installed
    library.  Warning: Do not edit the next line.  configure will do
    that for you!  */
-#define GPGME_VERSION "0.4.1"
+#define GPGME_VERSION "0.4.2"
 
 \f
 /* Some opaque data types used by GPGME.  */
@@ -142,11 +142,11 @@ int gpgme_err_code_to_errno (gpgme_err_code_t code);
   
 /* Return an error value with the error source SOURCE and the system
    error ERR.  */
-gpgme_error_t gpgme_err_make_from_errno (gpg_err_source_t source, int err);
+gpgme_error_t gpgme_err_make_from_errno (gpgme_err_source_t source, int err);
 
 
 /* Return an error value with the system error ERR.  */
-gpgme_err_code_t gpg_error_from_errno (int err);
+gpgme_err_code_t gpgme_error_from_errno (int err);
 
 \f
 /* The possible encoding mode of gpgme_data_t objects.  */
@@ -421,8 +421,11 @@ struct _gpgme_subkey
   /* True if subkey is secret.  */
   unsigned int secret : 1;
 
+  /* True if subkey can be used for authentication.  */
+  unsigned int can_authenticate : 1;
+
   /* Internal to GPGME, do not use.  */
-  unsigned int _unused : 24;
+  unsigned int _unused : 23;
   
   /* Public key algorithm supported by this subkey.  */
   gpgme_pubkey_algo_t pubkey_algo;
@@ -541,14 +544,6 @@ struct _gpgme_user_id
 };
 typedef struct _gpgme_user_id *gpgme_user_id_t;
 
-/* Release the user IDs in the list UID.  */
-void gpgme_user_ids_release (gpgme_user_id_t uid);
-
-/* Add the name NAME to the user ID list *UIDS_P (with unknown
-   validity).  */
-gpgme_error_t gpgme_user_ids_append (gpgme_user_id_t *uids_p,
-                                    const char *name);
-
 
 /* A key from the keyring.  */
 struct _gpgme_key
@@ -580,8 +575,11 @@ struct _gpgme_key
   /* True if key is secret.  */
   unsigned int secret : 1;
 
+  /* True if key can be used for authentication.  */
+  unsigned int can_authenticate : 1;
+
   /* Internal to GPGME, do not use.  */
-  unsigned int _unused : 24;
+  unsigned int _unused : 23;
 
   /* This is the protocol supported by this key.  */
   gpgme_protocol_t protocol;
@@ -968,20 +966,20 @@ unsigned long gpgme_key_sig_get_ulong_attr (gpgme_key_t key, int uid_idx,
 \f
 /* Crypto Operations.  */
 
-struct _gpgme_invalid_user_id
+struct _gpgme_invalid_key
 {
-  struct _gpgme_invalid_user_id *next;
-  char *id;
+  struct _gpgme_invalid_key *next;
+  char *fpr;
   gpgme_error_t reason;
 };
-typedef struct _gpgme_invalid_user_id *gpgme_invalid_user_id_t;
+typedef struct _gpgme_invalid_key *gpgme_invalid_key_t;
 
 \f
 /* Encryption.  */
 struct _gpgme_op_encrypt_result
 {
   /* The list of invalid recipients.  */
-  gpgme_invalid_user_id_t invalid_recipients;
+  gpgme_invalid_key_t invalid_recipients;
 };
 typedef struct _gpgme_op_encrypt_result *gpgme_encrypt_result_t;
 
@@ -1047,19 +1045,35 @@ gpgme_error_t gpgme_op_decrypt_verify (gpgme_ctx_t ctx, gpgme_data_t cipher,
 struct _gpgme_new_signature
 {
   struct _gpgme_new_signature *next;
+
+  /* The type of the signature.  */
   gpgme_sig_mode_t type;
+
+  /* The public key algorithm used to create the signature.  */
   gpgme_pubkey_algo_t pubkey_algo;
+
+  /* The hash algorithm used to create the signature.  */
   gpgme_hash_algo_t hash_algo;
-  unsigned long class;
+
+  /* Internal to GPGME, do not use.  Must be set to the same value as
+     CLASS below.  */
+  unsigned long _obsolete_class;
+
+  /* Signature creation time.  */
   long int timestamp;
+
+  /* The fingerprint of the signature.  */
   char *fpr;
+
+  /* Crypto backend specific signature class.  */
+  unsigned int class;
 };
 typedef struct _gpgme_new_signature *gpgme_new_signature_t;
 
 struct _gpgme_op_sign_result
 {
   /* The list of invalid signers.  */
-  gpgme_invalid_user_id_t invalid_signers;
+  gpgme_invalid_key_t invalid_signers;
   gpgme_new_signature_t signatures;
 };
 typedef struct _gpgme_op_sign_result *gpgme_sign_result_t;
@@ -1466,7 +1480,6 @@ typedef gpgme_data_write_cb_t GpgmeDataWriteCb _GPGME_DEPRECATED;
 typedef gpgme_data_seek_cb_t GpgmeDataSeekCb _GPGME_DEPRECATED;
 typedef gpgme_data_release_cb_t GpgmeDataReleaseCb _GPGME_DEPRECATED;
 #define GpgmeDataCbs gpgme_data_cbs
-typedef gpgme_invalid_user_id_t GpgmeInvalidUserID _GPGME_DEPRECATED;
 typedef gpgme_encrypt_result_t GpgmeEncryptResult _GPGME_DEPRECATED;
 typedef gpgme_sig_notation_t GpgmeSigNotation _GPGME_DEPRECATED;
 typedef        gpgme_signature_t GpgmeSignature _GPGME_DEPRECATED;