diff options
author | Werner Koch <[email protected]> | 2003-10-02 10:20:12 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2003-10-02 10:20:12 +0000 |
commit | 99cabff03f3d27f7ac2a12b837b17a538be1fe1f (patch) | |
tree | 0a15a78faf6e50798ededc50e498bcbce28ae2bf /g10/app-common.h | |
parent | * g10.c (main): Add --no-groups to zero --group list. (diff) | |
download | gnupg-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.h | 72 |
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*/ |