aboutsummaryrefslogtreecommitdiffstats
path: root/gpgme/gpgme.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gpgme/gpgme.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/gpgme/gpgme.h b/gpgme/gpgme.h
index 7f0a9bf9..0073c92d 100644
--- a/gpgme/gpgme.h
+++ b/gpgme/gpgme.h
@@ -222,6 +222,90 @@ typedef enum
GpgmeProtocol;
+/* The possible stati for the edit operation. */
+
+typedef enum {
+ GPGME_STATUS_EOF,
+ /* mkstatus starts here */
+ GPGME_STATUS_ENTER ,
+ GPGME_STATUS_LEAVE ,
+ GPGME_STATUS_ABORT ,
+
+ GPGME_STATUS_GOODSIG ,
+ GPGME_STATUS_BADSIG ,
+ GPGME_STATUS_ERRSIG ,
+
+ GPGME_STATUS_BADARMOR ,
+
+ GPGME_STATUS_RSA_OR_IDEA ,
+ GPGME_STATUS_KEYEXPIRED ,
+ GPGME_STATUS_KEYREVOKED ,
+
+ GPGME_STATUS_TRUST_UNDEFINED ,
+ GPGME_STATUS_TRUST_NEVER ,
+ GPGME_STATUS_TRUST_MARGINAL ,
+ GPGME_STATUS_TRUST_FULLY ,
+ GPGME_STATUS_TRUST_ULTIMATE ,
+
+ GPGME_STATUS_SHM_INFO ,
+ GPGME_STATUS_SHM_GET ,
+ GPGME_STATUS_SHM_GET_BOOL ,
+ GPGME_STATUS_SHM_GET_HIDDEN ,
+
+ GPGME_STATUS_NEED_PASSPHRASE ,
+ GPGME_STATUS_VALIDSIG ,
+ GPGME_STATUS_SIG_ID ,
+ GPGME_STATUS_ENC_TO ,
+ GPGME_STATUS_NODATA ,
+ GPGME_STATUS_BAD_PASSPHRASE ,
+ GPGME_STATUS_NO_PUBKEY ,
+ GPGME_STATUS_NO_SECKEY ,
+ GPGME_STATUS_NEED_PASSPHRASE_SYM,
+ GPGME_STATUS_DECRYPTION_FAILED ,
+ GPGME_STATUS_DECRYPTION_OKAY ,
+ GPGME_STATUS_MISSING_PASSPHRASE ,
+ GPGME_STATUS_GOOD_PASSPHRASE ,
+ GPGME_STATUS_GOODMDC ,
+ GPGME_STATUS_BADMDC ,
+ GPGME_STATUS_ERRMDC ,
+ GPGME_STATUS_IMPORTED ,
+ GPGME_STATUS_IMPORT_RES ,
+ GPGME_STATUS_FILE_START ,
+ GPGME_STATUS_FILE_DONE ,
+ GPGME_STATUS_FILE_ERROR ,
+
+ GPGME_STATUS_BEGIN_DECRYPTION ,
+ GPGME_STATUS_END_DECRYPTION ,
+ GPGME_STATUS_BEGIN_ENCRYPTION ,
+ GPGME_STATUS_END_ENCRYPTION ,
+
+ GPGME_STATUS_DELETE_PROBLEM ,
+ GPGME_STATUS_GET_BOOL ,
+ GPGME_STATUS_GET_LINE ,
+ GPGME_STATUS_GET_HIDDEN ,
+ GPGME_STATUS_GOT_IT ,
+ GPGME_STATUS_PROGRESS ,
+ GPGME_STATUS_SIG_CREATED ,
+ GPGME_STATUS_SESSION_KEY ,
+ GPGME_STATUS_NOTATION_NAME ,
+ GPGME_STATUS_NOTATION_DATA ,
+ GPGME_STATUS_POLICY_URL ,
+ GPGME_STATUS_BEGIN_STREAM ,
+ GPGME_STATUS_END_STREAM ,
+ GPGME_STATUS_KEY_CREATED ,
+ GPGME_STATUS_USERID_HINT ,
+ GPGME_STATUS_UNEXPECTED ,
+ GPGME_STATUS_INV_RECP ,
+ GPGME_STATUS_NO_RECP ,
+ GPGME_STATUS_ALREADY_SIGNED ,
+ GPGME_STATUS_SIGEXPIRED ,
+ GPGME_STATUS_EXPSIG ,
+ GPGME_STATUS_EXPKEYSIG ,
+ GPGME_STATUS_TRUNCATED ,
+ GPGME_STATUS_ERROR ,
+} GpgmeStatusCode;
+
+
/* The available keylist mode flags. */
#define GPGME_KEYLIST_MODE_LOCAL 1
#define GPGME_KEYLIST_MODE_EXTERN 2
@@ -237,6 +321,9 @@ typedef const char *(*GpgmePassphraseCb) (void *hook, const char *desc,
typedef void (*GpgmeProgressCb) (void *opaque, const char *what,
int type, int current, int total);
+/* Interact with the user about an edit operation. */
+typedef GpgmeError (*GpgmeEditCb) (void *opaque, GpgmeStatusCode status,
+ const char *args, const char **reply);
/* Context management functions. */
@@ -598,6 +685,14 @@ GpgmeError gpgme_op_delete_start (GpgmeCtx ctx, const GpgmeKey key,
GpgmeError gpgme_op_delete (GpgmeCtx ctx, const GpgmeKey key,
int allow_secret);
+/* Edit the key KEY. Send status and command requests to FNC and
+ output of edit commands to OUT. */
+GpgmeError gpgme_op_edit_start (GpgmeCtx ctx, GpgmeKey key,
+ GpgmeEditCb fnc, void *fnc_value,
+ GpgmeData out);
+GpgmeError gpgme_op_edit (GpgmeCtx ctx, GpgmeKey key,
+ GpgmeEditCb fnc, void *fnc_value,
+ GpgmeData out);
/* Key management functions */