aboutsummaryrefslogtreecommitdiffstats
path: root/scd/app-common.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2004-04-26 18:28:06 +0000
committerWerner Koch <[email protected]>2004-04-26 18:28:06 +0000
commit869a2bbad2f76153d953aeaaec5e3f0dd31d82f6 (patch)
tree14d848f06d2c148fc1e678b61e2a1d8dd8e65645 /scd/app-common.h
parent(change_name): Check that the NAME is not too long. (diff)
downloadgnupg-869a2bbad2f76153d953aeaaec5e3f0dd31d82f6.tar.gz
gnupg-869a2bbad2f76153d953aeaaec5e3f0dd31d82f6.zip
* app-common.h: New members FNC.DEINIT and APP_LOCAL.
* app.c (release_application): Call new deconstructor. * app-openpgp.c (do_deinit): New. (get_cached_data, flush_cache_item, flush_cache_after_error) (flush_cache): New. (get_one_do): Replaced arg SLOT by APP. Make used of cached data. (verify_chv2, verify_chv3): Flush some cache item after error. (do_change_pin): Ditto. (do_sign): Ditto. (do_setattr): Flush cache item. (do_genkey): Flush the entire cache. (compare_fingerprint): Use cached data.
Diffstat (limited to '')
-rw-r--r--scd/app-common.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/scd/app-common.h b/scd/app-common.h
index c16a15719..6e62bf99d 100644
--- a/scd/app-common.h
+++ b/scd/app-common.h
@@ -23,6 +23,8 @@
#include <ksba.h>
+struct app_local_s; /* Defined by all app-*.c. */
+
struct app_ctx_s {
int initialized; /* The application has been initialied and the
function pointers may be used. Note that for
@@ -37,7 +39,9 @@ struct app_ctx_s {
int force_chv1; /* True if the card does not cache CHV1. */
int did_chv2;
int did_chv3;
+ struct app_local_s *app_local; /* Local to the application. */
struct {
+ void (*deinit) (app_t app);
int (*learn_status) (app_t app, ctrl_t ctrl);
int (*readcert) (app_t app, const char *certid,
unsigned char **cert, size_t *certlen);
@@ -75,7 +79,6 @@ struct app_ctx_s {
void *pincb_arg);
} fnc;
-
};
#if GNUPG_MAJOR_VERSION == 1