1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

* apdu.c (close_ct_reader, close_pcsc_reader): Implemented.

(get_ccid_error_string): New.  Not very useful messages, though.
This commit is contained in:
Werner Koch 2003-10-31 12:12:36 +00:00
parent 3344618b2e
commit c8fb3836fb
3 changed files with 24 additions and 4 deletions

View file

@ -363,7 +363,7 @@ open_ct_reader (int port)
static int
close_ct_reader (int slot)
{
/* FIXME: Implement. */
CT_close (slot);
reader_table[slot].used = 0;
return 0;
}
@ -594,7 +594,7 @@ pcsc_send_apdu (int slot, unsigned char *apdu, size_t apdulen,
static int
close_pcsc_reader (int slot)
{
/* FIXME: Implement. */
pcsc_release_context (reader_table[slot].pcsc.context);
reader_table[slot].used = 0;
return 0;
}
@ -608,6 +608,15 @@ close_pcsc_reader (int slot)
Internal CCID driver interface.
*/
static const char *
get_ccid_error_string (long err)
{
if (!err)
return "okay";
else
return "unknown CCID error";
}
static int
open_ccid_reader (void)
{
@ -973,7 +982,7 @@ apdu_open_reader (const char *portstr)
pcsc_disconnect = dlsym (handle, "SCardDisconnect");
pcsc_status = dlsym (handle, "SCardStatus");
#ifdef _WIN32
if (pcsc_status)
if (!pcsc_status)
pcsc_status = dlsym (handle, "SCardStatusA");
#endif
pcsc_begin_transaction = dlsym (handle, "SCardBeginTransaction");
@ -1062,7 +1071,7 @@ error_string (int slot, long rc)
return ct_error_string (rc);
#ifdef HAVE_LIBUSB
else if (reader_table[slot].is_ccid)
return "no CCID driver error strings yet";
return get_ccid_error_string (rc);
#endif
#ifdef HAVE_OPENSC
else if (reader_table[slot].is_osc)