1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
#include <stdio.h>
#include <unistd.h>
#ifdef __APPLE__
#include <PCSC/winscard.h>
#include <PCSC/wintypes.h>
#else
#include <winscard.h>
#endif
int main(void)
{
SCARDCONTEXT hContext;
SCARDHANDLE hCard;
DWORD dwActiveProtocol;
LONG rv;
char mszReaders[1024];
DWORD dwReaders = sizeof(mszReaders);
rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext);
printf("%lX\n", rv);
rv = SCardListReaders(hContext, NULL, mszReaders, &dwReaders);
printf("%lX\n", rv);
rv = SCardConnect(hContext, mszReaders, SCARD_SHARE_SHARED,
SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, &hCard,
&dwActiveProtocol);
printf("%lX\n", rv);
printf("remove/insert card\n");
sleep(3);
rv = SCardBeginTransaction(hCard);
printf("%lX\n", rv);
return 0;
}
|