1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-06-20 20:47:58 +02:00

Add support fro CardMan 4040

This commit is contained in:
Werner Koch 2006-02-06 16:34:20 +00:00
parent 23cfe019e9
commit 4f34366389
3 changed files with 564 additions and 242 deletions

View File

@ -1,3 +1,17 @@
2006-02-06 Werner Koch <wk@g10code.com>
* ccid-driver.c, ccid-driver.h: Updated from GnuPG 1.9. Changes:
* ccid-driver.h (CCID_DRIVER_ERR_NO_KEYPAD): New.
* ccid-driver.c (send_escape_cmd): New args RESULT, RESULTLEN and
RESULTMAX. Changed all callers.
(ccid_transceive_escape): New.
* ccid-driver.c (special_transport): New
(ccid_open_reader, do_close_reader, ccid_shutdown_reader)
(bulk_out, bulk_in): Add support for CardMan 4040 reader.
* ccid-driver.c (scan_or_find_devices): Factored most code out to
(scan_or_find_usb_device): .. new.
(make_reader_id): Fixed vendor mask.
2006-01-24 David Shaw <dshaw@jabberwocky.com> 2006-01-24 David Shaw <dshaw@jabberwocky.com>
* keyserver.c (parse_keyserver_uri): If there is a path present, * keyserver.c (parse_keyserver_uri): If there is a path present,

File diff suppressed because it is too large Load Diff

View File

@ -58,7 +58,7 @@
#ifndef CCID_DRIVER_H #ifndef CCID_DRIVER_H
#define CCID_DRIVER_H #define CCID_DRIVER_H
/* The CID driver returns the same error codes as the statsu words /* The CID driver returns the same error codes as the status words
used by GnuPG's apdu.h. For ease of maintenance they should always used by GnuPG's apdu.h. For ease of maintenance they should always
match. */ match. */
#define CCID_DRIVER_ERR_OUT_OF_CORE 0x10001 #define CCID_DRIVER_ERR_OUT_OF_CORE 0x10001
@ -74,6 +74,7 @@
#define CCID_DRIVER_ERR_GENERAL_ERROR 0x1000b #define CCID_DRIVER_ERR_GENERAL_ERROR 0x1000b
#define CCID_DRIVER_ERR_NO_READER 0x1000c #define CCID_DRIVER_ERR_NO_READER 0x1000c
#define CCID_DRIVER_ERR_ABORTED 0x1000d #define CCID_DRIVER_ERR_ABORTED 0x1000d
#define CCID_DRIVER_ERR_NO_KEYPAD 0x1000e
struct ccid_driver_s; struct ccid_driver_s;
typedef struct ccid_driver_s *ccid_driver_t; typedef struct ccid_driver_s *ccid_driver_t;
@ -94,6 +95,10 @@ int ccid_transceive_secure (ccid_driver_t handle,
int pin_mode, int pin_mode,
int pinlen_min, int pinlen_max, int pin_padlen, int pinlen_min, int pinlen_max, int pin_padlen,
unsigned char *resp, size_t maxresplen, size_t *nresp); unsigned char *resp, size_t maxresplen, size_t *nresp);
int ccid_transceive_escape (ccid_driver_t handle,
const unsigned char *data, size_t datalen,
unsigned char *resp, size_t maxresplen,
size_t *nresp);