Logo Search packages:      
Sourcecode: pcsc-lite version File versions  Download package

LONG IFDGetCapabilities ( READER_CONTEXT rContext,
DWORD  dwTag,
PDWORD  pdwLength,
PUCHAR  pucValue 
)

Get's capabilities in the reader. Other functions int this file will call the driver directly to not cause a deadlock.

Definition at line 214 of file ifdwrapper.c.

References IFD_SUCCESS, IFDHGetCapabilities(), ReaderContext::mMutex, ReaderContext::psFunctions, ReaderContext::psFunctions_v2, and ReaderContext::slot.

Referenced by SCardDisconnect(), and SCardGetAttrib().

{
      RESPONSECODE rv = IFD_SUCCESS;

#ifndef PCSCLITE_STATIC_DRIVER
      RESPONSECODE(*IFDH_get_capabilities) (DWORD, DWORD, PDWORD, /*@out@*/ PUCHAR) = NULL;

      IFDH_get_capabilities =
            rContext->psFunctions.psFunctions_v2.pvfGetCapabilities;
#endif

      /* LOCK THIS CODE REGION */
      (void)pthread_mutex_lock(rContext->mMutex);

#ifndef PCSCLITE_STATIC_DRIVER
      rv = (*IFDH_get_capabilities) (rContext->slot, dwTag, pdwLength, pucValue);
#else
      rv = IFDHGetCapabilities(rContext->slot, dwTag, pdwLength, pucValue);
#endif

      /* END OF LOCKED REGION */
      (void)pthread_mutex_unlock(rContext->mMutex);

      return rv;
}

Here is the call graph for this function:

Here is the caller graph for this function:


Generated by  Doxygen 1.6.0   Back to index