Data Structures | Defines | Typedefs | Functions | Variables

pcsclite.h File Reference

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

#include <wintypes.h>
Include dependency graph for pcsclite.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SCARD_READERSTATE_A
struct  SCARD_IO_REQUEST
 Protocol Control Information (PCI). More...

Defines

#define MAX_ATR_SIZE   33
 Maximum ATR size.
#define SCARD_PCI_T0   (&g_rgSCardT0Pci)
 protocol control information (PCI) for T=0
#define SCARD_PCI_T1   (&g_rgSCardT1Pci)
 protocol control information (PCI) for T=1
#define SCARD_PCI_RAW   (&g_rgSCardRawPci)
 protocol control information (PCI) for RAW protocol
#define SCARD_S_SUCCESS   0x00000000
 error codes from http://msdn.microsoft.com/en-us/library/aa924526.aspx
#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_P_SHUTDOWN   0x80100018
 The operation has been aborted to allow the server application to exit.
#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_UNEXPECTED   0x8010001F
 An unexpected card error has occurred.
#define SCARD_E_ICC_INSTALLATION   0x80100020
 No primary provider can be found for the smart card.
#define SCARD_E_ICC_CREATEORDER   0x80100021
 The requested order of object creation is not supported.
#define SCARD_E_DIR_NOT_FOUND   0x80100023
 The identified directory does not exist in the smart card.
#define SCARD_E_FILE_NOT_FOUND   0x80100024
 The identified file does not exist in the smart card.
#define SCARD_E_NO_DIR   0x80100025
 The supplied path does not represent a smart card directory.
#define SCARD_E_NO_FILE   0x80100026
 The supplied path does not represent a smart card file.
#define SCARD_E_NO_ACCESS   0x80100027
 Access is denied to this file.
#define SCARD_E_WRITE_TOO_MANY   0x80100028
 The smart card does not have enough memory to store the information.
#define SCARD_E_BAD_SEEK   0x80100029
 There was an error trying to set the smart card file object pointer.
#define SCARD_E_INVALID_CHV   0x8010002A
 The supplied PIN is incorrect.
#define SCARD_E_UNKNOWN_RES_MNG   0x8010002B
 An unrecognized error code was returned from a layered component.
#define SCARD_E_NO_SUCH_CERTIFICATE   0x8010002C
 The requested certificate does not exist.
#define SCARD_E_CERTIFICATE_UNAVAILABLE   0x8010002D
 The requested certificate could not be obtained.
#define SCARD_E_NO_READERS_AVAILABLE   0x8010002E
 Cannot find a smart card reader.
#define SCARD_E_COMM_DATA_LOST   0x8010002F
 A communications error with the smart card has been detected.
#define SCARD_E_NO_KEY_CONTAINER   0x80100030
 The requested key container does not exist on the smart card.
#define SCARD_E_SERVER_TOO_BUSY   0x80100031
 The Smart Card Resource Manager is too busy to complete this operation.
#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_W_SECURITY_VIOLATION   0x8010006A
 Access was denied because of a security violation.
#define SCARD_W_WRONG_CHV   0x8010006B
 The card cannot be accessed because the wrong PIN was presented.
#define SCARD_W_CHV_BLOCKED   0x8010006C
 The card cannot be accessed because the maximum number of PIN entry attempts has been reached.
#define SCARD_W_EOF   0x8010006D
 The end of the smart card file has been reached.
#define SCARD_W_CANCELLED_BY_USER   0x8010006E
 The user pressed "Cancel" on a Smart Card Selection Dialog.
#define SCARD_W_CARD_NOT_AUTHENTICATED   0x8010006F
 No PIN was presented to the smart card.
#define SCARD_AUTOALLOCATE   (DWORD)(-1)
 see SCardFreeMemory()
#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
 feature not supported.
#define INFINITE   0xFFFFFFFF
 Infinite timeout.
#define PCSCLITE_VERSION_NUMBER   "1.5.5"
 Current version.
#define PCSCLITE_MAX_READERS_CONTEXTS   16
 Maximum readers context (a slot is count as a reader).
#define MAX_READERNAME   100
#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
 hContext returned by SCardEstablishContext()
typedef SCARDCONTEXTPSCARDCONTEXT
typedef SCARDCONTEXTLPSCARDCONTEXT
typedef long SCARDHANDLE
 hCard returned by SCardConnect()
typedef SCARDHANDLEPSCARDHANDLE
typedef SCARDHANDLELPSCARDHANDLE
typedef SCARD_READERSTATE_A SCARD_READERSTATE
typedef SCARD_READERSTATE_APSCARD_READERSTATE_A
typedef SCARD_READERSTATE_ALPSCARD_READERSTATE_A
typedef struct SCARD_IO_REQUESTPSCARD_IO_REQUEST
typedef struct SCARD_IO_REQUESTLPSCARD_IO_REQUEST
typedef const SCARD_IO_REQUESTLPCSCARD_IO_REQUEST

Functions

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

Variables

SCARD_IO_REQUEST g_rgSCardT0Pci
 Protocol Control Information for T=0.
SCARD_IO_REQUEST g_rgSCardT1Pci
 Protocol Control Information for T=1.
SCARD_IO_REQUEST g_rgSCardRawPci
 Protocol Control Information for raw access.

Detailed Description

This keeps a list of defines for pcsc-lite.

Error codes from http://msdn.microsoft.com/en-us/library/aa924526.aspx

Definition in file pcsclite.h.


Define Documentation

#define SCARD_E_BAD_SEEK   0x80100029

There was an error trying to set the smart card file object pointer.

Definition at line 111 of file pcsclite.h.

#define SCARD_E_CANCELLED   0x80100002

The action was cancelled by an SCardCancel request.

Definition at line 72 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_CANT_DISPOSE   0x8010000E

The system could not dispose of the media in the requested manner.

Definition at line 84 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_CARD_UNSUPPORTED   0x8010001C

The smart card does not meet minimal requirements for support.

Definition at line 98 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_CERTIFICATE_UNAVAILABLE   0x8010002D

The requested certificate could not be obtained.

Definition at line 115 of file pcsclite.h.

#define SCARD_E_COMM_DATA_LOST   0x8010002F

A communications error with the smart card has been detected.

Retry the operation.

Definition at line 117 of file pcsclite.h.

#define SCARD_E_DIR_NOT_FOUND   0x80100023

The identified directory does not exist in the smart card.

Definition at line 105 of file pcsclite.h.

#define SCARD_E_DUPLICATE_READER   0x8010001B

The reader driver did not produce a unique reader name.

Definition at line 97 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_FILE_NOT_FOUND   0x80100024

The identified file does not exist in the smart card.

Definition at line 106 of file pcsclite.h.

#define SCARD_E_ICC_CREATEORDER   0x80100021

The requested order of object creation is not supported.

Definition at line 103 of file pcsclite.h.

#define SCARD_E_ICC_INSTALLATION   0x80100020

No primary provider can be found for the smart card.

Definition at line 102 of file pcsclite.h.

#define SCARD_E_INSUFFICIENT_BUFFER   0x80100008

The data buffer to receive returned data is too small for the returned data.

Definition at line 78 of file pcsclite.h.

Referenced by pcsc_stringify_error(), and SCardStatus().

#define SCARD_E_INVALID_ATR   0x80100015

An ATR obtained from the registry is not a valid ATR string.

Definition at line 91 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_INVALID_CHV   0x8010002A

The supplied PIN is incorrect.

Definition at line 112 of file pcsclite.h.

#define SCARD_E_INVALID_HANDLE   0x80100003

The supplied handle was invalid.

Definition at line 73 of file pcsclite.h.

Referenced by pcsc_stringify_error(), SCardEstablishContext(), and SCardReconnect().

#define SCARD_E_INVALID_PARAMETER   0x80100004

One or more of the supplied parameters could not be properly interpreted.

Definition at line 74 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_INVALID_TARGET   0x80100005

Registry startup information is missing or invalid.

Definition at line 75 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_INVALID_VALUE   0x80100011

One or more of the supplied parameters values could not be properly interpreted.

Definition at line 87 of file pcsclite.h.

Referenced by pcsc_stringify_error(), and SCardReconnect().

#define SCARD_E_NO_ACCESS   0x80100027

Access is denied to this file.

Definition at line 109 of file pcsclite.h.

#define SCARD_E_NO_DIR   0x80100025

The supplied path does not represent a smart card directory.

Definition at line 107 of file pcsclite.h.

#define SCARD_E_NO_FILE   0x80100026

The supplied path does not represent a smart card file.

Definition at line 108 of file pcsclite.h.

#define SCARD_E_NO_KEY_CONTAINER   0x80100030

The requested key container does not exist on the smart card.

Definition at line 118 of file pcsclite.h.

#define SCARD_E_NO_MEMORY   0x80100006

Not enough memory available to complete this command.

Definition at line 76 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_NO_READERS_AVAILABLE   0x8010002E

Cannot find a smart card reader.

Definition at line 116 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_NO_SERVICE   0x8010001D

The Smart card resource manager is not running.

Definition at line 99 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_NO_SMARTCARD   0x8010000C

The operation requires a Smart Card, but no Smart Card is currently in the device.

Definition at line 82 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_NO_SUCH_CERTIFICATE   0x8010002C

The requested certificate does not exist.

Definition at line 114 of file pcsclite.h.

#define SCARD_E_NOT_READY   0x80100010

The reader or smart card is not ready to accept commands.

Definition at line 86 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_NOT_TRANSACTED   0x80100016

An attempt was made to end a non-existent transaction.

Definition at line 92 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_PCI_TOO_SMALL   0x80100019

The PCI Receive buffer was too small.

Definition at line 95 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_PROTO_MISMATCH   0x8010000F

The requested protocols are incompatible with the protocol currently in use with the smart card.

Definition at line 85 of file pcsclite.h.

Referenced by pcsc_stringify_error(), SCardConnect(), and SCardReconnect().

#define SCARD_E_READER_UNAVAILABLE   0x80100017

The specified reader is not currently available for use.

Definition at line 93 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_READER_UNSUPPORTED   0x8010001A

The reader driver does not meet minimal requirements for support.

Definition at line 96 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_SERVER_TOO_BUSY   0x80100031

The Smart Card Resource Manager is too busy to complete this operation.

Definition at line 119 of file pcsclite.h.

#define SCARD_E_SERVICE_STOPPED   0x8010001E

The Smart card resource manager has shut down.

Definition at line 100 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_SHARING_VIOLATION   0x8010000B

The smart card cannot be accessed because of other connections outstanding.

Definition at line 81 of file pcsclite.h.

Referenced by pcsc_stringify_error(), SCardBeginTransaction(), and SCardReconnect().

#define SCARD_E_SYSTEM_CANCELLED   0x80100012

The action was cancelled by the system, presumably to log off or shut down.

Definition at line 88 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_TIMEOUT   0x8010000A

The user-specified timeout value has expired.

Definition at line 80 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_UNEXPECTED   0x8010001F

An unexpected card error has occurred.

Definition at line 101 of file pcsclite.h.

#define SCARD_E_UNKNOWN_CARD   0x8010000D

The specified smart card name is not recognized.

Definition at line 83 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_UNKNOWN_READER   0x80100009

The specified reader name is not recognized.

Definition at line 79 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_UNKNOWN_RES_MNG   0x8010002B

An unrecognized error code was returned from a layered component.

Definition at line 113 of file pcsclite.h.

#define SCARD_E_UNSUPPORTED_FEATURE   0x8010001F

feature not supported.

Definition at line 180 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_E_WRITE_TOO_MANY   0x80100028

The smart card does not have enough memory to store the information.

Definition at line 110 of file pcsclite.h.

#define SCARD_F_COMM_ERROR   0x80100013

An internal communications error has been detected.

Definition at line 89 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_F_INTERNAL_ERROR   0x80100001

An internal consistency check failed.

Definition at line 71 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_F_UNKNOWN_ERROR   0x80100014

An internal error has been detected, but the source is unknown.

Definition at line 90 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_F_WAITED_TOO_LONG   0x80100007

An internal consistency timer has expired.

Definition at line 77 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_P_SHUTDOWN   0x80100018

The operation has been aborted to allow the server application to exit.

Definition at line 94 of file pcsclite.h.

#define SCARD_PROTOCOL_ANY   (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1)

IFD determines prot.

Definition at line 146 of file pcsclite.h.

#define SCARD_PROTOCOL_RAW   0x0004

Raw active protocol.

Definition at line 143 of file pcsclite.h.

Referenced by SCardConnect(), SCardReconnect(), and SCardTransmit().

#define SCARD_PROTOCOL_T0   0x0001

T=0 active protocol.

Definition at line 141 of file pcsclite.h.

Referenced by PHSetProtocol(), SCardConnect(), and SCardReconnect().

#define SCARD_PROTOCOL_T1   0x0002

T=1 active protocol.

Definition at line 142 of file pcsclite.h.

Referenced by ATRDecodeAtr(), PHSetProtocol(), SCardConnect(), SCardReconnect(), and SCardTransmit().

#define SCARD_PROTOCOL_T15   0x0008

T=15 protocol.

Definition at line 144 of file pcsclite.h.

#define SCARD_S_SUCCESS   0x00000000
#define SCARD_W_CANCELLED_BY_USER   0x8010006E

The user pressed "Cancel" on a Smart Card Selection Dialog.

Definition at line 131 of file pcsclite.h.

#define SCARD_W_CARD_NOT_AUTHENTICATED   0x8010006F

No PIN was presented to the smart card.

Definition at line 132 of file pcsclite.h.

#define SCARD_W_CHV_BLOCKED   0x8010006C

The card cannot be accessed because the maximum number of PIN entry attempts has been reached.

Definition at line 129 of file pcsclite.h.

#define SCARD_W_EOF   0x8010006D

The end of the smart card file has been reached.

Definition at line 130 of file pcsclite.h.

#define SCARD_W_REMOVED_CARD   0x80100069

The smart card has been removed, so further communication is not possible.

Definition at line 125 of file pcsclite.h.

Referenced by pcsc_stringify_error(), and SCardReconnect().

#define SCARD_W_RESET_CARD   0x80100068

The smart card has been reset, so any shared state information is invalid.

Definition at line 124 of file pcsclite.h.

Referenced by pcsc_stringify_error(), and SCardReconnect().

#define SCARD_W_SECURITY_VIOLATION   0x8010006A

Access was denied because of a security violation.

Definition at line 127 of file pcsclite.h.

#define SCARD_W_UNPOWERED_CARD   0x80100067

Power has been removed from the smart card, so that further communication is not possible.

Definition at line 123 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_W_UNRESPONSIVE_CARD   0x80100066

The smart card is not responding to a reset.

Definition at line 122 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_W_UNSUPPORTED_CARD   0x80100065

The reader cannot communicate with the card, due to ATR string configuration conflicts.

Definition at line 121 of file pcsclite.h.

Referenced by pcsc_stringify_error().

#define SCARD_W_WRONG_CHV   0x8010006B

The card cannot be accessed because the wrong PIN was presented.

Definition at line 128 of file pcsclite.h.