pcsclite.h File Reference

This keeps a list of defines for pcsc-lite. More...

#include <wintypes.h>

Go to the source code of this file.

Data Structures

struct  SCARD_READERSTATE_A
struct  _SCARD_IO_REQUEST

Defines

#define MAX_ATR_SIZE   33
 Maximum ATR size.
#define SCARD_PCI_T0   (&g_rgSCardT0Pci)
#define SCARD_PCI_T1   (&g_rgSCardT1Pci)
#define SCARD_PCI_RAW   (&g_rgSCardRawPci)
#define SCARD_S_SUCCESS   0x00000000
#define SCARD_F_INTERNAL_ERROR   0x80100001
 An internal consistency check failed.
#define SCARD_E_CANCELLED   0x80100002
 The action was cancelled by an SCardCancel request.
#define SCARD_E_INVALID_HANDLE   0x80100003
 The supplied handle was invalid.
#define SCARD_E_INVALID_PARAMETER   0x80100004
 One or more of the supplied parameters could not be properly interpreted.
#define SCARD_E_INVALID_TARGET   0x80100005
 Registry startup information is missing or invalid.
#define SCARD_E_NO_MEMORY   0x80100006
 Not enough memory available to complete this command.
#define SCARD_F_WAITED_TOO_LONG   0x80100007
 An internal consistency timer has expired.
#define SCARD_E_INSUFFICIENT_BUFFER   0x80100008
 The data buffer to receive returned data is too small for the returned data.
#define SCARD_E_UNKNOWN_READER   0x80100009
 The specified reader name is not recognized.
#define SCARD_E_TIMEOUT   0x8010000A
 The user-specified timeout value has expired.
#define SCARD_E_SHARING_VIOLATION   0x8010000B
 The smart card cannot be accessed because of other connections outstanding.
#define SCARD_E_NO_SMARTCARD   0x8010000C
 The operation requires a Smart Card, but no Smart Card is currently in the device.
#define SCARD_E_UNKNOWN_CARD   0x8010000D
 The specified smart card name is not recognized.
#define SCARD_E_CANT_DISPOSE   0x8010000E
 The system could not dispose of the media in the requested manner.
#define SCARD_E_PROTO_MISMATCH   0x8010000F
 The requested protocols are incompatible with the protocol currently in use with the smart card.
#define SCARD_E_NOT_READY   0x80100010
 The reader or smart card is not ready to accept commands.
#define SCARD_E_INVALID_VALUE   0x80100011
 One or more of the supplied parameters values could not be properly interpreted.
#define SCARD_E_SYSTEM_CANCELLED   0x80100012
 The action was cancelled by the system, presumably to log off or shut down.
#define SCARD_F_COMM_ERROR   0x80100013
 An internal communications error has been detected.
#define SCARD_F_UNKNOWN_ERROR   0x80100014
 An internal error has been detected, but the source is unknown.
#define SCARD_E_INVALID_ATR   0x80100015
 An ATR obtained from the registry is not a valid ATR string.
#define SCARD_E_NOT_TRANSACTED   0x80100016
 An attempt was made to end a non-existent transaction.
#define SCARD_E_READER_UNAVAILABLE   0x80100017
 The specified reader is not currently available for use.
#define SCARD_W_UNSUPPORTED_CARD   0x80100065
 The reader cannot communicate with the card, due to ATR string configuration conflicts.
#define SCARD_W_UNRESPONSIVE_CARD   0x80100066
 The smart card is not responding to a reset.
#define SCARD_W_UNPOWERED_CARD   0x80100067
 Power has been removed from the smart card, so that further communication is not possible.
#define SCARD_W_RESET_CARD   0x80100068
 The smart card has been reset, so any shared state information is invalid.
#define SCARD_W_REMOVED_CARD   0x80100069
 The smart card has been removed, so further communication is not possible.
#define SCARD_E_PCI_TOO_SMALL   0x80100019
 The PCI Receive buffer was too small.
#define SCARD_E_READER_UNSUPPORTED   0x8010001A
 The reader driver does not meet minimal requirements for support.
#define SCARD_E_DUPLICATE_READER   0x8010001B
 The reader driver did not produce a unique reader name.
#define SCARD_E_CARD_UNSUPPORTED   0x8010001C
 The smart card does not meet minimal requirements for support.
#define SCARD_E_NO_SERVICE   0x8010001D
 The Smart card resource manager is not running.
#define SCARD_E_SERVICE_STOPPED   0x8010001E
 The Smart card resource manager has shut down.
#define SCARD_E_NO_READERS_AVAILABLE   0x8010002E
 Cannot find a smart card reader.
#define SCARD_SCOPE_USER   0x0000
 Scope in user space.
#define SCARD_SCOPE_TERMINAL   0x0001
 Scope in terminal.
#define SCARD_SCOPE_SYSTEM   0x0002
 Scope in system.
#define SCARD_PROTOCOL_UNDEFINED   0x0000
 protocol not set
#define SCARD_PROTOCOL_UNSET   SCARD_PROTOCOL_UNDEFINED
#define SCARD_PROTOCOL_T0   0x0001
 T=0 active protocol.
#define SCARD_PROTOCOL_T1   0x0002
 T=1 active protocol.
#define SCARD_PROTOCOL_RAW   0x0004
 Raw active protocol.
#define SCARD_PROTOCOL_T15   0x0008
 T=15 protocol.
#define SCARD_PROTOCOL_ANY   (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1)
 IFD determines prot.
#define SCARD_SHARE_EXCLUSIVE   0x0001
 Exclusive mode only.
#define SCARD_SHARE_SHARED   0x0002
 Shared mode only.
#define SCARD_SHARE_DIRECT   0x0003
 Raw mode only.
#define SCARD_LEAVE_CARD   0x0000
 Do nothing on close.
#define SCARD_RESET_CARD   0x0001
 Reset on close.
#define SCARD_UNPOWER_CARD   0x0002
 Power down on close.
#define SCARD_EJECT_CARD   0x0003
 Eject on close.
#define SCARD_UNKNOWN   0x0001
 Unknown state.
#define SCARD_ABSENT   0x0002
 Card is absent.
#define SCARD_PRESENT   0x0004
 Card is present.
#define SCARD_SWALLOWED   0x0008
 Card not powered.
#define SCARD_POWERED   0x0010
 Card is powered.
#define SCARD_NEGOTIABLE   0x0020
 Ready for PTS.
#define SCARD_SPECIFIC   0x0040
 PTS has been set.
#define SCARD_STATE_UNAWARE   0x0000
 App wants status.
#define SCARD_STATE_IGNORE   0x0001
 Ignore this reader.
#define SCARD_STATE_CHANGED   0x0002
 State has changed.
#define SCARD_STATE_UNKNOWN   0x0004
 Reader unknown.
#define SCARD_STATE_UNAVAILABLE   0x0008
 Status unavailable.
#define SCARD_STATE_EMPTY   0x0010
 Card removed.
#define SCARD_STATE_PRESENT   0x0020
 Card inserted.
#define SCARD_STATE_ATRMATCH   0x0040
 ATR matches card.
#define SCARD_STATE_EXCLUSIVE   0x0080
 Exclusive Mode.
#define SCARD_STATE_INUSE   0x0100
 Shared Mode.
#define SCARD_STATE_MUTE   0x0200
 Unresponsive card.
#define SCARD_STATE_UNPOWERED   0x0400
 Unpowered card.
#define SCARD_W_INSERTED_CARD   0x8010006A
 PC/SC Lite specific extensions.
#define SCARD_E_UNSUPPORTED_FEATURE   0x8010001F
#define INFINITE   0xFFFFFFFF
 Infinite timeout.
#define PCSCLITE_VERSION_NUMBER   "1.4.4"
 Current version.
#define PCSCLITE_MAX_READERS_CONTEXTS   16
 Maximum readers context (a slot is count as a reader).
#define MAX_READERNAME   52
#define SCARD_ATR_LENGTH   MAX_ATR_SIZE
 Maximum ATR size.
#define MAX_BUFFER_SIZE   264
 Maximum Tx/Rx Buffer for short APDU.
#define MAX_BUFFER_SIZE_EXTENDED   (4 + 3 + (1<<16) + 3)
 enhanced (64K + APDU + Lc + Le) Tx/Rx Buffer

Typedefs

typedef long SCARDCONTEXT
typedef SCARDCONTEXTPSCARDCONTEXT
typedef SCARDCONTEXTLPSCARDCONTEXT
typedef long SCARDHANDLE
typedef SCARDHANDLEPSCARDHANDLE
typedef SCARDHANDLELPSCARDHANDLE
typedef SCARD_READERSTATE_A SCARD_READERSTATE
typedef SCARD_READERSTATE_APSCARD_READERSTATE_A
typedef SCARD_READERSTATE_ALPSCARD_READERSTATE_A
typedef _SCARD_IO_REQUEST SCARD_IO_REQUEST
typedef _SCARD_IO_REQUESTPSCARD_IO_REQUEST
typedef _SCARD_IO_REQUESTLPSCARD_IO_REQUEST
typedef const SCARD_IO_REQUESTLPCSCARD_IO_REQUEST

Functions

char * pcsc_stringify_error (long)
 This function return a human readable text for the given PC/SC error code.

Variables

SCARD_IO_REQUEST g_rgSCardT0Pci
SCARD_IO_REQUEST g_rgSCardT1Pci
SCARD_IO_REQUEST g_rgSCardRawPci


Detailed Description

This keeps a list of defines for pcsc-lite.

Definition in file pcsclite.h.


Function Documentation

char* pcsc_stringify_error ( long  pcscError  ) 

This function return a human readable text for the given PC/SC error code.

Parameters:
[in] pcscError Error code to be translated to text.
Returns:
Text representing de error code passed.
Test:
 SCARDCONTEXT hContext;
 LONG rv;
 rv = SCardEstablishContext(SCARD\_SCOPE\_SYSTEM, NULL, NULL, &hContext);
 if (rv != SCARD_S_SUCCESS)
     printf("SCardReleaseContext: %s (0x%lX)\n",
         pcsc_stringify_error(rv), rv);

Definition at line 45 of file error.c.

References SCARD_E_CANCELLED, SCARD_E_CANT_DISPOSE, SCARD_E_CARD_UNSUPPORTED, SCARD_E_DUPLICATE_READER, SCARD_E_INSUFFICIENT_BUFFER, SCARD_E_INVALID_ATR, SCARD_E_INVALID_HANDLE, SCARD_E_INVALID_PARAMETER, SCARD_E_INVALID_TARGET, SCARD_E_INVALID_VALUE, SCARD_E_NO_MEMORY, SCARD_E_NO_SERVICE, SCARD_E_NO_SMARTCARD, SCARD_E_NOT_READY, SCARD_E_NOT_TRANSACTED, SCARD_E_PCI_TOO_SMALL, SCARD_E_PROTO_MISMATCH, SCARD_E_READER_UNAVAILABLE, SCARD_E_READER_UNSUPPORTED, SCARD_E_SERVICE_STOPPED, SCARD_E_SHARING_VIOLATION, SCARD_E_SYSTEM_CANCELLED, SCARD_E_TIMEOUT, SCARD_E_UNKNOWN_CARD, SCARD_E_UNKNOWN_READER, SCARD_E_UNSUPPORTED_FEATURE, SCARD_F_COMM_ERROR, SCARD_F_INTERNAL_ERROR, SCARD_F_UNKNOWN_ERROR, SCARD_F_WAITED_TOO_LONG, SCARD_S_SUCCESS, SCARD_W_INSERTED_CARD, SCARD_W_REMOVED_CARD, SCARD_W_RESET_CARD, SCARD_W_UNPOWERED_CARD, SCARD_W_UNRESPONSIVE_CARD, and SCARD_W_UNSUPPORTED_CARD.

Referenced by main(), and test_rv().


Generated on Wed Jul 14 16:38:27 2010 for pcsc-lite by  doxygen 1.4.7