aboutsummaryrefslogtreecommitdiffstats
path: root/scd/apdu.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-08-12 14:06:49 +0000
committerWerner Koch <[email protected]>2020-08-12 14:06:49 +0000
commit9a8d7e41bba1926158a21ebdda542241493ef983 (patch)
tree6bc39decf6d542b22e743062ca41466aca861ac8 /scd/apdu.c
parentcommon: Pass the WAYLAND_DISPLAY envvar along (diff)
downloadgnupg-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.c7
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";
}
}