45 46 #endif 47 48 #ifdef __cplusplus 49 extern "C" 50 { 51 #endif 52 53 #ifdef WIN32 54 #include <winscard.h> 55 #else 56 typedef long SCARDCONTEXT; 57 typedef SCARDCONTEXT *PSCARDCONTEXT; 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 typedef struct 66 { 67 const char *szReader; 68 void *pvUserData; 69 unsigned long dwCurrentState; 70 unsigned long dwEventState; 71 unsigned long cbAtr; 72 unsigned char rgbAtr[MAX_ATR_SIZE]; 73 } 74 SCARD_READERSTATE_A; 75 76 typedef SCARD_READERSTATE_A SCARD_READERSTATE, *PSCARD_READERSTATE_A, 77 *LPSCARD_READERSTATE_A; 78 79 typedef struct _SCARD_IO_REQUEST 80 { 81 unsigned long dwProtocol; /* Protocol identifier */ 82 unsigned long cbPciLength; /* Protocol Control Inf Length */ 83 } 84 SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; 85 86 typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; 87 88 extern SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, 89 g_rgSCardRawPci; 90 91 #define SCARD_PCI_T0 (&g_rgSCardT0Pci) 92 #define SCARD_PCI_T1 (&g_rgSCardT1Pci) 93 #define SCARD_PCI_RAW (&g_rgSCardRawPci) 94 | 45 46 #endif 47 48 #ifdef __cplusplus 49 extern "C" 50 { 51 #endif 52 53 #ifdef WIN32 54 #include <winscard.h> 55 #else 56 typedef long SCARDCONTEXT; 57 typedef SCARDCONTEXT *PSCARDCONTEXT; 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 |