aboutsummaryrefslogtreecommitdiffstats
path: root/agent/agent.h
diff options
context:
space:
mode:
Diffstat (limited to 'agent/agent.h')
-rw-r--r--agent/agent.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/agent/agent.h b/agent/agent.h
index 2d92f94be..2b5a2fa31 100644
--- a/agent/agent.h
+++ b/agent/agent.h
@@ -102,6 +102,8 @@ const char *trans (const char *text);
void start_command_handler (int);
/*-- findkey.c --*/
+int agent_write_private_key (const unsigned char *grip,
+ const void *buffer, size_t length, int force);
GCRY_SEXP agent_key_from_file (const unsigned char *grip,
unsigned char **shadow_info);
int agent_key_available (const unsigned char *grip);
@@ -152,12 +154,14 @@ int agent_marktrusted (const char *name, const char *fpr, int flag);
/*-- divert-scd.c --*/
int divert_pksign (const unsigned char *digest, size_t digestlen, int algo,
- const char *shadow_info, unsigned char **r_sig);
-int divert_pkdecrypt (const unsigned char *cipher, const char *shadow_info,
+ const unsigned char *shadow_info, unsigned char **r_sig);
+int divert_pkdecrypt (const unsigned char *cipher,
+ const unsigned char *shadow_info,
char **r_buf, size_t *r_len);
/*-- call-scd.c --*/
-int agent_card_learn (void);
+int agent_card_learn (void (*kpinfo_cb)(void*, const char *),
+ void *kpinfo_cb_arg);
int agent_card_serialno (char **r_serialno);
int agent_card_pksign (const char *keyid,
int (*getpin_cb)(void *, const char *, char*, size_t),
@@ -169,6 +173,12 @@ int agent_card_pkdecrypt (const char *keyid,
void *getpin_cb_arg,
const unsigned char *indata, size_t indatalen,
char **r_buf, size_t *r_buflen);
+int agent_card_readcert (const char *id, char **r_buf, size_t *r_buflen);
+int agent_card_readkey (const char *id, unsigned char **r_buf);
+
+
+/*-- learncard.c --*/
+int agent_handle_learn (void *assuan_context);
#endif /*AGENT_H*/