ifdhgetcapabilities(3smartca) [sunos man page]
IFDHGetCapabilities(3SMARTCARD) Smartcard Library Functions IFDHGetCapabilities(3SMARTCARD) NAME
IFDHGetCapabilities - get IFD capabilities SYNOPSIS
#include <smartcard/ifdhandler.h> RESPONSECODE IFDHGetCapabilities(DWORD Lun, DWORD Tag, PDWORD Length, PUCHAR Value); PARAMETERS
The IFDHGetCapabilities() function takes the following parameters: Input Lun Logical Unit Number Tag Tag of the desired data value Length Maximum length of the desired data value Output Length Length of the data returned Value Value of the desired data DESCRIPTION
The IFDHGetCapabilities() function retrieves the terminal or card capabilities for the terminal or card specified by Lun. The Tag parameter can have one of the following values: TAG_IFD_ATR Return the ATR (Answer To Reset). This is the default value. TAG_IFD_SIMULTANEOUS_ACCESS Return the number of sessions the driver can handle. This value is used for multiple terminals sharing the same IFD handler. TAG_IFD_SLOTS_NUMBER Return the number of slots in this terminal. If the TAG_IFD_SIMULTANEOUS_ACCESS and TAG_IFD_SLOTS_NUMBER tags are not supported, the error value IFD_ERROR_TAG must be returned. RETURN VALUES
The following values are returned: IFD_SUCCESS Successful completion. IFD_ERROR_TAG An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
IFDHCreateChannelByName(3SMARTCARD), attributes(5) NOTES
This manual page is derived from the MUSCLE PC/SC IFD Driver Developer Kit documentation. License terms and attribution and copyright information for this interface are available at the default location /var/sadm/pkg/SUNWocfh/install/copyright. If the Solaris Operating Environment has been installed anywhere other than the default location, modify the path to access the file at the installed location. SunOS 5.10 4 Dec 2002 IFDHGetCapabilities(3SMARTCARD)
Check Out this Related Man Page
SCF_Terminal_getCard(3SMARTCARD) Smartcard Library Functions SCF_Terminal_getCard(3SMARTCARD) NAME
SCF_Terminal_getCard - establish a context with a smartcard SYNOPSIS
cc [ flag... ] file... -lsmartcard [ library...] #include <smartcard/scf.h> SCF_Status_t SCF_Terminal_getCard(SCF_Terminal_t terminal, SCF_Card_t *card); PARAMETERS
card A pointer to a SCF_Card_t. If the smartcard is successfully opened, a handle for the card will be returned through this parameter. terminal The terminal (from SCF_Session_getTerminal(3SMARTCARD)) containing a smartcard to open. DESCRIPTION
The SCF_Terminal_getCard() function establishes a context with a specific smartcard in a terminal. Card objects can be used to send APDUs (Application Protocol Data Units) to the card with SCF_Card_exchangeAPDU(3SMARTCARD). When the card is no longer needed, SCF_Card_close(3SMARTCARD) should be called to release allocated resources. If SCF_Terminal_getCard() is called multiple times in the same session to access the same physical card (while the card remains inserted), the same SCF_Card_t will be returned in each call. The library cannot identifty specific cards, so when a card is reinserted it will be represented by a new SCF_Card_t. Multithreaded applications must take care to avoid having one thread close a card that is still needed by another thread. This can be accomplished by coordination within the application, or by having each thread open a separate session to avoid interference. RETURN VALUES
If a working card is present in the reader, SCF_STATUS_SUCCESS is returned and card is a valid reference to the card. Otherwise, an error value is returned and card remains unaltered. ERRORS
The SCF_Terminal_getCard() function will fail if: SCF_STATUS_BADARGS The card argument is a null pointer. SCF_STATUS_BADHANDLE The specified terminal has been closed or is invalid. SCF_STATUS_FAILED An internal error occured. SCF_STATUS_NOCARD No card is present in the terminal. EXAMPLES
Example 1: Access a smartcard. SCF_Status_t status; SCF_Terminal_t myTerminal; SCF_Card_t myCard; /* (...call SCF_Session_getTerminal to open myTerminal...) */ status = SCF_Terminal_getCard(myTerminal, &myCard); if (status == SCF_STATUS_NOCARD) { printf("Please insert your smartcard and try again. "); exit(0); } else if (status != SCF_STATUS_SUCCESS) exit(1); /* (...go on to use the card with SCF_Card_exchangeAPDU()...) */ ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
libsmartcard(3LIB), SCF_Card_close(3SMARTCARD), SCF_Card_exchangeAPDU(3SMARTCARD), SCF_Card_getInfo(3SMARTCARD), SCF_Card_lock(3SMARTCARD), SCF_Session_getTerminal(3SMARTCARD), attributes(5) SunOS 5.10 28 Feb 2001 SCF_Terminal_getCard(3SMARTCARD)