Important!

Blog moved to https://blog.apdu.fr/

I moved my blog from https://ludovicrousseau.blogspot.com/ to https://blog.apdu.fr/ . Why? I wanted to move away from Blogger (owne...

Friday, October 15, 2010

IFDHandler version 1 support removed from pcsc-lite

In revision 5321 (October 2010) I removed the support of the IFD Handler API version 1. The IFD Handler API the is API used to communicate between pcscd and reader driver. The API v3 is documented here.

The version 1 of the API is very old and I never saw a reader driver using it. Even when I started using pcsc-lite and writing drivers the version 2 was already in place.

Motivation


I removed this API for two reasons:
  1. This API is not used and is dead code inside pcscd.
  2. This API do not return the ATR on card power on but using IFD_Set_Capabilities()/IFD_Get_Capabilities() and IFDStatusICC() had a special case for that.

With this v1 API removal I can simplify the prototype of IFDStatusICC() and remove 2 parameters from:

LONG IFDStatusICC(READER_CONTEXT * rContext, PDWORD pdwStatus,
PUCHAR pucAtr, PDWORD pdwAtrLen)

to:

LONG IFDStatusICC(READER_CONTEXT * rContext, PDWORD pdwStatus)


This also simplifies the internal pcscd code using IFDStatusICC() since the code just wants to know if a card is present or not, but not need to know the ATR.

Consideration


Note that I already removed the API prototype from ifdhandler.h in revision 4472 in October 2009. And no one complained since then. So the version 1 API may really be unused.

Result


51 lines of code added. 335 lines of code removed. Gain: 284 lines of code removed.


Flattr this