aboutsummaryrefslogtreecommitdiffstats
path: root/scd/iso7816.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-11-25 14:27:21 +0000
committerWerner Koch <[email protected]>2020-11-25 14:27:21 +0000
commitc7b9a4ee439eca5a4bde4781f7d8983af3b9201e (patch)
tree91c9e32dd9b3465e28108e5f5f30dc3dd5a46f78 /scd/iso7816.h
parentg13: Add missing header (diff)
downloadgnupg-c7b9a4ee439eca5a4bde4781f7d8983af3b9201e.tar.gz
gnupg-c7b9a4ee439eca5a4bde4781f7d8983af3b9201e.zip
scd:p15: Improve support for some CardOS based cards.
* scd/iso7816.c (iso7816_read_binary_ext): Add optional arg r_sw and change callers. (iso7816_read_record): Factor all code out to ... (iso7816_read_record_ext): new. * scd/app-p15.c (select_and_read_binary): Fallback to record reading. (read_ef_aodf): Clear EOF error.
Diffstat (limited to 'scd/iso7816.h')
-rw-r--r--scd/iso7816.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/scd/iso7816.h b/scd/iso7816.h
index 10a1aa8d1..d68ee57f2 100644
--- a/scd/iso7816.h
+++ b/scd/iso7816.h
@@ -142,9 +142,14 @@ gpg_error_t iso7816_get_challenge (int slot,
gpg_error_t iso7816_read_binary_ext (int slot, int extended_mode,
size_t offset, size_t nmax,
- unsigned char **result, size_t *resultlen);
+ unsigned char **result, size_t *resultlen,
+ int *r_sw);
gpg_error_t iso7816_read_binary (int slot, size_t offset, size_t nmax,
unsigned char **result, size_t *resultlen);
+gpg_error_t iso7816_read_record_ext (int slot, int recno, int reccount,
+ int short_ef,
+ unsigned char **result, size_t *resultlen,
+ int *r_sw);
gpg_error_t iso7816_read_record (int slot, int recno, int reccount,
int short_ef,
unsigned char **result, size_t *resultlen);