aboutsummaryrefslogtreecommitdiffstats
path: root/g10/app-common.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2003-10-02 10:20:12 +0000
committerWerner Koch <[email protected]>2003-10-02 10:20:12 +0000
commit99cabff03f3d27f7ac2a12b837b17a538be1fe1f (patch)
tree0a15a78faf6e50798ededc50e498bcbce28ae2bf /g10/app-common.h
parent* g10.c (main): Add --no-groups to zero --group list. (diff)
downloadgnupg-99cabff03f3d27f7ac2a12b837b17a538be1fe1f.tar.gz
gnupg-99cabff03f3d27f7ac2a12b837b17a538be1fe1f.zip
* cardglue.c (learn_status_cb): Release values before assignment
so that it can be used by getattr to update the structure. (agent_scd_getattr): New. * keylist.c (print_pubkey_info): Add FP arg for optional printing to a stream. Changed all callers.
Diffstat (limited to '')
-rw-r--r--g10/app-common.h72
1 files changed, 67 insertions, 5 deletions
diff --git a/g10/app-common.h b/g10/app-common.h
index 26666e7a7..33f23127b 100644
--- a/g10/app-common.h
+++ b/g10/app-common.h
@@ -1,4 +1,4 @@
-/* app-common.h
+/* app-common.h - Common declarations for all card applications
* Copyright (C) 2003 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
@@ -18,8 +18,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
-#ifndef APP_COMMON_H
-#define APP_COMMON_H
+#ifndef GNUPG_SCD_APP_COMMON_H
+#define GNUPG_SCD_APP_COMMON_H
struct app_ctx_s {
int initialized; /* The application has been initialied and the
@@ -31,10 +31,12 @@ struct app_ctx_s {
size_t serialnolen; /* Length in octets of serialnumber. */
unsigned int card_version;
int did_chv1;
+ int force_chv1; /* True if the card does not cache CHV1. */
int did_chv2;
int did_chv3;
struct {
int (*learn_status) (APP app, CTRL ctrl);
+ int (*getattr) (APP app, CTRL ctrl, const char *name);
int (*setattr) (APP app, const char *name,
int (*pincb)(void*, const char *, char **),
void *pincb_arg,
@@ -64,13 +66,73 @@ struct app_ctx_s {
int (*pincb)(void*, const char *, char **),
void *pincb_arg);
} fnc;
-};
+};
+
+#if GNUPG_MAJOR_VERSION == 1
int app_select_openpgp (APP app, unsigned char **sn, size_t *snlen);
int app_get_serial_and_stamp (APP app, char **serial, time_t *stamp);
+#else
+/*-- app.c --*/
+void app_set_default_reader_port (const char *portstr);
+APP select_application (void);
+int app_get_serial_and_stamp (APP app, char **serial, time_t *stamp);
+int app_write_learn_status (APP app, CTRL ctrl);
+int app_getattr (APP app, CTRL ctrl, const char *name);
+int app_setattr (APP app, const char *name,
+ int (*pincb)(void*, const char *, char **),
+ void *pincb_arg,
+ const unsigned char *value, size_t valuelen);
+int app_sign (APP app, const char *keyidstr, int hashalgo,
+ int (pincb)(void*, const char *, char **),
+ void *pincb_arg,
+ const void *indata, size_t indatalen,
+ unsigned char **outdata, size_t *outdatalen );
+int app_auth (APP app, const char *keyidstr,
+ int (*pincb)(void*, const char *, char **),
+ void *pincb_arg,
+ const void *indata, size_t indatalen,
+ unsigned char **outdata, size_t *outdatalen);
+int app_decipher (APP app, const char *keyidstr,
+ int (pincb)(void*, const char *, char **),
+ void *pincb_arg,
+ const void *indata, size_t indatalen,
+ unsigned char **outdata, size_t *outdatalen );
+int app_genkey (APP app, CTRL ctrl, const char *keynostr, unsigned int flags,
+ int (*pincb)(void*, const char *, char **),
+ void *pincb_arg);
+int app_get_challenge (APP app, size_t nbytes, unsigned char *buffer);
+int app_change_pin (APP app, CTRL ctrl, const char *chvnostr, int reset_mode,
+ int (*pincb)(void*, const char *, char **),
+ void *pincb_arg);
+
+
+/*-- app-openpgp.c --*/
+int app_select_openpgp (APP app, unsigned char **sn, size_t *snlen);
+
+int app_openpgp_cardinfo (APP app,
+ char **serialno,
+ char **disp_name,
+ char **pubkey_url,
+ unsigned char **fpr1,
+ unsigned char **fpr2,
+ unsigned char **fpr3);
+int app_openpgp_storekey (APP app, int keyno,
+ unsigned char *template, size_t template_len,
+ time_t created_at,
+ const unsigned char *m, size_t mlen,
+ const unsigned char *e, size_t elen,
+ int (*pincb)(void*, const char *, char **),
+ void *pincb_arg);
+int app_openpgp_readkey (APP app, int keyno,
+ unsigned char **m, size_t *mlen,
+ unsigned char **e, size_t *elen);
+#endif
+
+
-#endif /*APP_COMMON_H*/
+#endif /*GNUPG_SCD_APP_COMMON_H*/