66 |
extern FILEINFO g_fileinfo[]; |
extern FILEINFO g_fileinfo[]; |
67 |
extern BOOL g_notify_stamp; |
extern BOOL g_notify_stamp; |
68 |
|
|
69 |
|
#ifdef WITH_SCARD |
70 |
|
VCHANNEL *rdpdr_channel; |
71 |
|
#else |
72 |
static VCHANNEL *rdpdr_channel; |
static VCHANNEL *rdpdr_channel; |
73 |
|
#endif |
74 |
|
|
75 |
/* If select() times out, the request for the device with handle g_min_timeout_fd is aborted */ |
/* If select() times out, the request for the device with handle g_min_timeout_fd is aborted */ |
76 |
NTHANDLE g_min_timeout_fd; |
NTHANDLE g_min_timeout_fd; |
683 |
|
|
684 |
out.data = out.p = buffer; |
out.data = out.p = buffer; |
685 |
out.size = sizeof(buffer); |
out.size = sizeof(buffer); |
686 |
#ifdef WITH_SCARD_DEBUG |
|
687 |
printf("[SMART-CARD TRACE]\n"); |
DEBUG_SCARD(("[SMART-CARD TRACE]\n")); |
688 |
printf("device 0x%.8x\n", device); |
DEBUG_SCARD(("device 0x%.8x\n", device)); |
689 |
printf("file 0x%.8x\n", file); |
DEBUG_SCARD(("file 0x%.8x\n", file)); |
690 |
printf("id 0x%.8x\n", id); |
DEBUG_SCARD(("id 0x%.8x\n", id)); |
|
#endif |
|
691 |
#ifdef WITH_SCARD |
#ifdef WITH_SCARD |
692 |
scardSetInfo(device, id, bytes_out + 0x14); |
scardSetInfo(device, id, bytes_out + 0x14); |
693 |
#endif |
#endif |
694 |
status = fns->device_control(file, request, s, &out); |
status = fns->device_control(file, request, s, &out); |
695 |
result = buffer_len = out.p - out.data; |
result = buffer_len = out.p - out.data; |
696 |
#ifdef WITH_SCARD_DEBUG |
|
697 |
printf("[SMART-CARD TRACE] OUT 0x%.8x\n", status); |
DEBUG_SCARD(("[SMART-CARD TRACE] OUT 0x%.8x\n", status)); |
698 |
#endif |
|
699 |
/* Serial SERIAL_WAIT_ON_MASK */ |
/* Serial SERIAL_WAIT_ON_MASK */ |
700 |
if (status == STATUS_PENDING) |
if (status == STATUS_PENDING) |
701 |
{ |
{ |