diff --git a/src/ccid_ifdhandler.h b/src/ccid_ifdhandler.h index b2e3102..681bd5a 100644 --- a/src/ccid_ifdhandler.h +++ b/src/ccid_ifdhandler.h @@ -47,7 +47,7 @@ extern int DriverOptions; * The maximum number of readers is also limited in pcsc-lite (16 by default) * see the definition of PCSCLITE_MAX_READERS_CONTEXTS in src/PCSC/pcsclite.h */ -#define CCID_DRIVER_MAX_READERS 16 +#define CCID_DRIVER_MAX_READERS 32 /* * CCID driver specific functions diff --git a/src/ccid_ifdhandler.h.maxreaders b/src/ccid_ifdhandler.h.maxreaders new file mode 100644 index 0000000..b2e3102 --- /dev/null +++ b/src/ccid_ifdhandler.h.maxreaders @@ -0,0 +1,58 @@ +/* + ccid_ifdhandler.h: non-generic ifdhandler functions + Copyright (C) 2004-2010 Ludovic Rousseau + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this library; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#ifndef _ccid_ifd_handler_h_ +#define _ccid_ifd_handler_h_ + +#define IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE SCARD_CTL_CODE(1) + +#define CLASS2_IOCTL_MAGIC 0x330000 +#define IOCTL_FEATURE_VERIFY_PIN_DIRECT \ + SCARD_CTL_CODE(FEATURE_VERIFY_PIN_DIRECT + CLASS2_IOCTL_MAGIC) +#define IOCTL_FEATURE_MODIFY_PIN_DIRECT \ + SCARD_CTL_CODE(FEATURE_MODIFY_PIN_DIRECT + CLASS2_IOCTL_MAGIC) +#define IOCTL_FEATURE_MCT_READER_DIRECT \ + SCARD_CTL_CODE(FEATURE_MCT_READER_DIRECT + CLASS2_IOCTL_MAGIC) +#define IOCTL_FEATURE_IFD_PIN_PROPERTIES \ + SCARD_CTL_CODE(FEATURE_IFD_PIN_PROPERTIES + CLASS2_IOCTL_MAGIC) +#define IOCTL_FEATURE_GET_TLV_PROPERTIES \ + SCARD_CTL_CODE(FEATURE_GET_TLV_PROPERTIES + CLASS2_IOCTL_MAGIC) + +#define DRIVER_OPTION_CCID_EXCHANGE_AUTHORIZED 1 +#define DRIVER_OPTION_GEMPC_TWIN_KEY_APDU 2 +#define DRIVER_OPTION_USE_BOGUS_FIRMWARE 4 +#define DRIVER_OPTION_DISABLE_PIN_RETRIES (1 << 6) + +extern int DriverOptions; + +/* + * Maximum number of CCID readers supported simultaneously + * + * The maximum number of readers is also limited in pcsc-lite (16 by default) + * see the definition of PCSCLITE_MAX_READERS_CONTEXTS in src/PCSC/pcsclite.h + */ +#define CCID_DRIVER_MAX_READERS 16 + +/* + * CCID driver specific functions + */ +CcidDesc *get_ccid_slot(unsigned int reader_index); + +#endif +