aboutsummaryrefslogtreecommitdiffstats
path: root/scd/app-common.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-01-16 18:42:16 +0000
committerWerner Koch <[email protected]>2020-01-16 18:42:16 +0000
commit718555874efcbad502112449c7d15025cb193628 (patch)
tree23c15f36ea6a1f9f34f6511d4c34517c8c94ea0d /scd/app-common.h
parentscd:piv: Remove debug code from a recent commit. (diff)
downloadgnupg-718555874efcbad502112449c7d15025cb193628.tar.gz
gnupg-718555874efcbad502112449c7d15025cb193628.zip
scd: New commands SWITCHCARD and SWITCHAPP.
* scd/app.c: Include membuf.h. (app_switch_current_card): New. (send_card_and_app_list): Factor code out to ... (send_serialno_and_app_status): new. (app_send_card_list): New. (app_send_active_apps): New. (app_switch_active_app): New. * scd/command.c (cmd_switchcard): New. (cmd_switchapp): New. (register_commands): Register new commands. (cmd_getinfo): New sub-commands "active_apps" and "all_active_apps". -- These new commands allow to switch between known cards and are in particular useful for the gpg-card tool. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'scd/app-common.h')
-rw-r--r--scd/app-common.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/scd/app-common.h b/scd/app-common.h
index 72ad8e7cd..dc5684b39 100644
--- a/scd/app-common.h
+++ b/scd/app-common.h
@@ -229,6 +229,7 @@ const char *strapptype (apptype_t t);
void app_update_priority_list (const char *arg);
gpg_error_t app_send_card_list (ctrl_t ctrl);
+gpg_error_t app_send_active_apps (card_t card, ctrl_t ctrl);
char *card_get_serialno (card_t card);
char *app_get_serialno (app_t app);
@@ -242,6 +243,13 @@ gpg_error_t select_application (ctrl_t ctrl, const char *name, card_t *r_app,
int scan, const unsigned char *serialno_bin,
size_t serialno_bin_len);
gpg_error_t select_additional_application (ctrl_t ctrl, const char *name);
+
+gpg_error_t app_switch_current_card (ctrl_t ctrl,
+ const unsigned char *serialno,
+ size_t serialnolen);
+gpg_error_t app_switch_active_app (card_t card, ctrl_t ctrl,
+ const char *appname);
+
char *get_supported_applications (void);
card_t card_ref (card_t card);