Oracle Solaris Security for Developers Guide

Developing an IFD Handler for Smart Card Terminals

Smart card terminals that are developed for the Solaris OS use the same set of APIs that are used by linux smart card terminals. If you have not previously developed an IFD handler, then you should visit one of the web sites for the linux environment that provide IFD source code, such as To develop an IFD handler for smart card terminals in the Solaris operating system, you need to include /usr/include/smartcard/ifdhandler.h and implement the following interfaces:

Note –

The IFDHCreateChannel(), IFDHSetCapabilities(), and IFDHControl() are not currently used, but these interfaces might be required in future releases.

The IFDHICCPresence() and IFDHPowerICC() function are useful for testing. For example, you can use the IFDHICCPresence() function to test the presence of a card in the slot. One way to check the smart card power is functioning normally is to use the IFDHPowerICC() function. This function gets the Answer to Reset (ATR) value of the inserted smart card.