diff options
author | Werner Koch <[email protected]> | 2020-11-25 14:27:21 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2020-11-25 14:27:21 +0000 |
commit | c7b9a4ee439eca5a4bde4781f7d8983af3b9201e (patch) | |
tree | 91c9e32dd9b3465e28108e5f5f30dc3dd5a46f78 /scd/iso7816.h | |
parent | g13: Add missing header (diff) | |
download | gnupg-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.h | 7 |
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); |