diff options
author | Werner Koch <[email protected]> | 2020-08-12 14:06:49 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2020-08-12 14:06:49 +0000 |
commit | 9a8d7e41bba1926158a21ebdda542241493ef983 (patch) | |
tree | 6bc39decf6d542b22e743062ca41466aca861ac8 /scd/apdu.c | |
parent | common: Pass the WAYLAND_DISPLAY envvar along (diff) | |
download | gnupg-9a8d7e41bba1926158a21ebdda542241493ef983.tar.gz gnupg-9a8d7e41bba1926158a21ebdda542241493ef983.zip |
scd: Map some error codes from libusb to ccid-driver error codes.
* scd/ccid-driver.h (CCID_DRIVER_ERR_USB_*): New error codes.
* scd/apdu.h: New SW_HOST error codes.
* scd/apdu.c (host_sw_string): Print them
* scd/ccid-driver.c (map_libusb_error): New.
(ccid_open_usb_reader, bulk_in, abort_cmd): Map libusb error codes.
* scd/iso7816.c (map_sw): Map new codes to gpg-error.
--
This change will help to get low level error conditions from hipher
application code.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'scd/apdu.c')
-rw-r--r-- | scd/apdu.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/scd/apdu.c b/scd/apdu.c index 8b3b5694c..f72f043fb 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -521,6 +521,13 @@ host_sw_string (long err) case SW_HOST_NO_PINPAD: return "no pinpad"; case SW_HOST_ALREADY_CONNECTED: return "already connected"; case SW_HOST_CANCELLED: return "cancelled"; + case SW_HOST_USB_OTHER: return "USB general error"; + case SW_HOST_USB_IO: return "USB I/O error"; + case SW_HOST_USB_ACCESS: return "USB permission denied"; + case SW_HOST_USB_NO_DEVICE:return "USB no device"; + case SW_HOST_USB_BUSY: return "USB busy"; + case SW_HOST_USB_TIMEOUT: return "USB timeout"; + case SW_HOST_USB_OVERFLOW: return "USB overflow"; default: return "unknown host status error"; } } |