scd: pinpad fix for PC/SC on Windows.

* scd/apdu.c (SCARD_CTL_CODE): Fix for Windows.
This commit is contained in:
NIIBE Yutaka 2013-10-29 09:07:05 +09:00
parent a15c35f37e
commit 32989ad2b1
1 changed files with 8 additions and 1 deletions

View File

@ -246,7 +246,13 @@ static char (* DLSTDCALL CT_close) (unsigned short ctn);
/* Fix pcsc-lite ABI incompatibilty. */
#ifndef SCARD_CTL_CODE
# define SCARD_CTL_CODE(code) (0x42000000 + (code))
#ifdef _WIN32
#include <winioctl.h>
#define SCARD_CTL_CODE(code) CTL_CODE(FILE_DEVICE_SMARTCARD, (code), \
METHOD_BUFFERED, FILE_ANY_ACCESS)
#else
#define SCARD_CTL_CODE(code) (0x42000000 + (code))
#endif
#endif
#define CM_IOCTL_GET_FEATURE_REQUEST SCARD_CTL_CODE(3400)
@ -349,6 +355,7 @@ long (* DLSTDCALL pcsc_control) (long card,
/* Prototypes. */
static int pcsc_vendor_specific_init (int slot);
static int pcsc_get_status (int slot, unsigned int *status);
static int reset_pcsc_reader (int slot);
static int apdu_get_status_internal (int slot, int hang, int no_atr_reset,