47 #ifndef __pcsclite_h__ 48 #define __pcsclite_h__ 58 typedef SCARDCONTEXT *PSCARDCONTEXT;
59 typedef SCARDCONTEXT *LPSCARDCONTEXT;
61 typedef SCARDHANDLE *PSCARDHANDLE;
62 typedef SCARDHANDLE *LPSCARDHANDLE;
64 #define MAX_ATR_SIZE 33 100 #define SCARD_PCI_T0 (&g_rgSCardT0Pci) 101 #define SCARD_PCI_T1 (&g_rgSCardT1Pci) 102 #define SCARD_PCI_RAW (&g_rgSCardRawPci) 106 #define SCARD_S_SUCCESS ((LONG)0x00000000) 107 #define SCARD_F_INTERNAL_ERROR ((LONG)0x80100001) 108 #define SCARD_E_CANCELLED ((LONG)0x80100002) 109 #define SCARD_E_INVALID_HANDLE ((LONG)0x80100003) 110 #define SCARD_E_INVALID_PARAMETER ((LONG)0x80100004) 111 #define SCARD_E_INVALID_TARGET ((LONG)0x80100005) 112 #define SCARD_E_NO_MEMORY ((LONG)0x80100006) 113 #define SCARD_F_WAITED_TOO_LONG ((LONG)0x80100007) 114 #define SCARD_E_INSUFFICIENT_BUFFER ((LONG)0x80100008) 115 #define SCARD_E_UNKNOWN_READER ((LONG)0x80100009) 116 #define SCARD_E_TIMEOUT ((LONG)0x8010000A) 117 #define SCARD_E_SHARING_VIOLATION ((LONG)0x8010000B) 118 #define SCARD_E_NO_SMARTCARD ((LONG)0x8010000C) 119 #define SCARD_E_UNKNOWN_CARD ((LONG)0x8010000D) 120 #define SCARD_E_CANT_DISPOSE ((LONG)0x8010000E) 121 #define SCARD_E_PROTO_MISMATCH ((LONG)0x8010000F) 122 #define SCARD_E_NOT_READY ((LONG)0x80100010) 123 #define SCARD_E_INVALID_VALUE ((LONG)0x80100011) 124 #define SCARD_E_SYSTEM_CANCELLED ((LONG)0x80100012) 125 #define SCARD_F_COMM_ERROR ((LONG)0x80100013) 126 #define SCARD_F_UNKNOWN_ERROR ((LONG)0x80100014) 127 #define SCARD_E_INVALID_ATR ((LONG)0x80100015) 128 #define SCARD_E_NOT_TRANSACTED ((LONG)0x80100016) 129 #define SCARD_E_READER_UNAVAILABLE ((LONG)0x80100017) 130 #define SCARD_P_SHUTDOWN ((LONG)0x80100018) 131 #define SCARD_E_PCI_TOO_SMALL ((LONG)0x80100019) 132 #define SCARD_E_READER_UNSUPPORTED ((LONG)0x8010001A) 133 #define SCARD_E_DUPLICATE_READER ((LONG)0x8010001B) 134 #define SCARD_E_CARD_UNSUPPORTED ((LONG)0x8010001C) 135 #define SCARD_E_NO_SERVICE ((LONG)0x8010001D) 136 #define SCARD_E_SERVICE_STOPPED ((LONG)0x8010001E) 137 #define SCARD_E_UNEXPECTED ((LONG)0x8010001F) 138 #define SCARD_E_UNSUPPORTED_FEATURE ((LONG)0x8010001F) 139 #define SCARD_E_ICC_INSTALLATION ((LONG)0x80100020) 140 #define SCARD_E_ICC_CREATEORDER ((LONG)0x80100021) 142 #define SCARD_E_DIR_NOT_FOUND ((LONG)0x80100023) 143 #define SCARD_E_FILE_NOT_FOUND ((LONG)0x80100024) 144 #define SCARD_E_NO_DIR ((LONG)0x80100025) 145 #define SCARD_E_NO_FILE ((LONG)0x80100026) 146 #define SCARD_E_NO_ACCESS ((LONG)0x80100027) 147 #define SCARD_E_WRITE_TOO_MANY ((LONG)0x80100028) 148 #define SCARD_E_BAD_SEEK ((LONG)0x80100029) 149 #define SCARD_E_INVALID_CHV ((LONG)0x8010002A) 150 #define SCARD_E_UNKNOWN_RES_MNG ((LONG)0x8010002B) 151 #define SCARD_E_NO_SUCH_CERTIFICATE ((LONG)0x8010002C) 152 #define SCARD_E_CERTIFICATE_UNAVAILABLE ((LONG)0x8010002D) 153 #define SCARD_E_NO_READERS_AVAILABLE ((LONG)0x8010002E) 154 #define SCARD_E_COMM_DATA_LOST ((LONG)0x8010002F) 155 #define SCARD_E_NO_KEY_CONTAINER ((LONG)0x80100030) 156 #define SCARD_E_SERVER_TOO_BUSY ((LONG)0x80100031) 158 #define SCARD_W_UNSUPPORTED_CARD ((LONG)0x80100065) 159 #define SCARD_W_UNRESPONSIVE_CARD ((LONG)0x80100066) 160 #define SCARD_W_UNPOWERED_CARD ((LONG)0x80100067) 161 #define SCARD_W_RESET_CARD ((LONG)0x80100068) 162 #define SCARD_W_REMOVED_CARD ((LONG)0x80100069) 164 #define SCARD_W_SECURITY_VIOLATION ((LONG)0x8010006A) 165 #define SCARD_W_WRONG_CHV ((LONG)0x8010006B) 166 #define SCARD_W_CHV_BLOCKED ((LONG)0x8010006C) 167 #define SCARD_W_EOF ((LONG)0x8010006D) 168 #define SCARD_W_CANCELLED_BY_USER ((LONG)0x8010006E) 169 #define SCARD_W_CARD_NOT_AUTHENTICATED ((LONG)0x8010006F) 171 #define SCARD_AUTOALLOCATE (DWORD)(-1) 172 #define SCARD_SCOPE_USER 0x0000 173 #define SCARD_SCOPE_TERMINAL 0x0001 174 #define SCARD_SCOPE_SYSTEM 0x0002 176 #define SCARD_PROTOCOL_UNDEFINED 0x0000 177 #define SCARD_PROTOCOL_UNSET SCARD_PROTOCOL_UNDEFINED 178 #define SCARD_PROTOCOL_T0 0x0001 179 #define SCARD_PROTOCOL_T1 0x0002 180 #define SCARD_PROTOCOL_RAW 0x0004 181 #define SCARD_PROTOCOL_T15 0x0008 183 #define SCARD_PROTOCOL_ANY (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1) 185 #define SCARD_SHARE_EXCLUSIVE 0x0001 186 #define SCARD_SHARE_SHARED 0x0002 187 #define SCARD_SHARE_DIRECT 0x0003 189 #define SCARD_LEAVE_CARD 0x0000 190 #define SCARD_RESET_CARD 0x0001 191 #define SCARD_UNPOWER_CARD 0x0002 192 #define SCARD_EJECT_CARD 0x0003 194 #define SCARD_UNKNOWN 0x0001 195 #define SCARD_ABSENT 0x0002 196 #define SCARD_PRESENT 0x0004 197 #define SCARD_SWALLOWED 0x0008 198 #define SCARD_POWERED 0x0010 199 #define SCARD_NEGOTIABLE 0x0020 200 #define SCARD_SPECIFIC 0x0040 202 #define SCARD_STATE_UNAWARE 0x0000 203 #define SCARD_STATE_IGNORE 0x0001 204 #define SCARD_STATE_CHANGED 0x0002 205 #define SCARD_STATE_UNKNOWN 0x0004 206 #define SCARD_STATE_UNAVAILABLE 0x0008 207 #define SCARD_STATE_EMPTY 0x0010 208 #define SCARD_STATE_PRESENT 0x0020 209 #define SCARD_STATE_ATRMATCH 0x0040 210 #define SCARD_STATE_EXCLUSIVE 0x0080 211 #define SCARD_STATE_INUSE 0x0100 212 #define SCARD_STATE_MUTE 0x0200 213 #define SCARD_STATE_UNPOWERED 0x0400 216 #define INFINITE 0xFFFFFFFF 219 #define PCSCLITE_VERSION_NUMBER "1.8.11" 221 #define PCSCLITE_MAX_READERS_CONTEXTS 16 223 #define MAX_READERNAME 128 225 #ifndef SCARD_ATR_LENGTH 226 #define SCARD_ATR_LENGTH MAX_ATR_SIZE 234 #define MAX_BUFFER_SIZE 264 235 #define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3 + 2)
char * pcsc_stringify_error(const LONG)
Returns a human readable text for the given PC/SC error code.
unsigned long cbPciLength
Protocol Control Inf Length.
const SCARD_IO_REQUEST g_rgSCardRawPci
Protocol Control Information for raw access.
LONG SCARDCONTEXT
hContext returned by SCardEstablishContext()
unsigned long dwProtocol
Protocol identifier.
LONG SCARDHANDLE
hCard returned by SCardConnect()
This keeps a list of Windows(R) types.
Protocol Control Information (PCI)
#define MAX_ATR_SIZE
Maximum ATR size.
const SCARD_IO_REQUEST g_rgSCardT1Pci
Protocol Control Information for T=1.
const SCARD_IO_REQUEST g_rgSCardT0Pci
Protocol Control Information for T=0.