58 typedef SCARDCONTEXT *LPSCARDCONTEXT; 59 typedef long SCARDHANDLE; 60 typedef SCARDHANDLE *PSCARDHANDLE; 61 typedef SCARDHANDLE *LPSCARDHANDLE; 62 63 #define MAX_ATR_SIZE 33 /* Maximum ATR size */ 64 65 #ifndef __APPLE__ 66 67 typedef struct 68 { 69 const char *szReader; 70 void *pvUserData; 71 unsigned long dwCurrentState; 72 unsigned long dwEventState; 73 unsigned long cbAtr; 74 unsigned char rgbAtr[MAX_ATR_SIZE]; 75 } 76 SCARD_READERSTATE_A; 77 78 #else // __APPLE__ 79 80 #pragma pack(1) 81 typedef struct 82 { 83 const char *szReader; 84 void *pvUserData; 85 uint32_t dwCurrentState; 86 uint32_t dwEventState; 87 uint32_t cbAtr; 88 unsigned char rgbAtr[MAX_ATR_SIZE]; 89 } 90 SCARD_READERSTATE_A; 91 #pragma pack() 92 93 #endif // __APPLE__ 94 95 typedef SCARD_READERSTATE_A SCARD_READERSTATE, *PSCARD_READERSTATE_A, 96 *LPSCARD_READERSTATE_A; 97 98 typedef struct _SCARD_IO_REQUEST 99 { 100 unsigned long dwProtocol; /* Protocol identifier */ 101 unsigned long cbPciLength; /* Protocol Control Inf Length */ 102 } 103 SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; 104 105 typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; 106 107 extern SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, 108 g_rgSCardRawPci; 109 110 #define SCARD_PCI_T0 (&g_rgSCardT0Pci) 111 #define SCARD_PCI_T1 (&g_rgSCardT1Pci) 112 #define SCARD_PCI_RAW (&g_rgSCardRawPci) 113 114 #define SCARD_S_SUCCESS 0x00000000 115 #define SCARD_E_CANCELLED 0x80100002 116 #define SCARD_E_CANT_DISPOSE 0x8010000E 117 #define SCARD_E_INSUFFICIENT_BUFFER 0x80100008 118 #define SCARD_E_INVALID_ATR 0x80100015 119 #define SCARD_E_INVALID_HANDLE 0x80100003 120 #define SCARD_E_INVALID_PARAMETER 0x80100004 121 #define SCARD_E_INVALID_TARGET 0x80100005 122 #define SCARD_E_INVALID_VALUE 0x80100011 123 #define SCARD_E_NO_MEMORY 0x80100006 124 #define SCARD_F_COMM_ERROR 0x80100013 | 58 typedef SCARDCONTEXT *LPSCARDCONTEXT; 59 typedef long SCARDHANDLE; 60 typedef SCARDHANDLE *PSCARDHANDLE; 61 typedef SCARDHANDLE *LPSCARDHANDLE; 62 63 #define MAX_ATR_SIZE 33 /* Maximum ATR size */ 64 65 #ifndef __APPLE__ 66 67 typedef struct 68 { 69 const char *szReader; 70 void *pvUserData; 71 unsigned long dwCurrentState; 72 unsigned long dwEventState; 73 unsigned long cbAtr; 74 unsigned char rgbAtr[MAX_ATR_SIZE]; 75 } 76 SCARD_READERSTATE_A; 77 78 typedef struct _SCARD_IO_REQUEST 79 { 80 unsigned long dwProtocol; /* Protocol identifier */ 81 unsigned long cbPciLength; /* Protocol Control Inf Length */ 82 } 83 SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; 84 85 #else // __APPLE__ 86 87 #pragma pack(1) 88 typedef struct 89 { 90 const char *szReader; 91 void *pvUserData; 92 uint32_t dwCurrentState; 93 uint32_t dwEventState; 94 uint32_t cbAtr; 95 unsigned char rgbAtr[MAX_ATR_SIZE]; 96 } 97 SCARD_READERSTATE_A; 98 99 typedef struct _SCARD_IO_REQUEST 100 { 101 uint32_t dwProtocol; /* Protocol identifier */ 102 uint32_t cbPciLength; /* Protocol Control Inf Length */ 103 } 104 SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; 105 #pragma pack() 106 107 #endif // __APPLE__ 108 109 typedef SCARD_READERSTATE_A SCARD_READERSTATE, *PSCARD_READERSTATE_A, 110 *LPSCARD_READERSTATE_A; 111 112 typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; 113 114 extern SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, 115 g_rgSCardRawPci; 116 117 #define SCARD_PCI_T0 (&g_rgSCardT0Pci) 118 #define SCARD_PCI_T1 (&g_rgSCardT1Pci) 119 #define SCARD_PCI_RAW (&g_rgSCardRawPci) 120 121 #define SCARD_S_SUCCESS 0x00000000 122 #define SCARD_E_CANCELLED 0x80100002 123 #define SCARD_E_CANT_DISPOSE 0x8010000E 124 #define SCARD_E_INSUFFICIENT_BUFFER 0x80100008 125 #define SCARD_E_INVALID_ATR 0x80100015 126 #define SCARD_E_INVALID_HANDLE 0x80100003 127 #define SCARD_E_INVALID_PARAMETER 0x80100004 128 #define SCARD_E_INVALID_TARGET 0x80100005 129 #define SCARD_E_INVALID_VALUE 0x80100011 130 #define SCARD_E_NO_MEMORY 0x80100006 131 #define SCARD_F_COMM_ERROR 0x80100013 |