79 |
|
|
80 |
#ifndef MAKE_PROTO |
#ifndef MAKE_PROTO |
81 |
|
|
82 |
static NTSTATUS |
static RD_NTSTATUS |
83 |
scard_create(uint32 device_id, uint32 accessmask, uint32 sharemode, uint32 create_disposition, |
scard_create(uint32 device_id, uint32 accessmask, uint32 sharemode, uint32 create_disposition, |
84 |
uint32 flags_and_attributes, char *filename, NTHANDLE * phandle) |
uint32 flags_and_attributes, char *filename, RD_NTHANDLE * phandle) |
85 |
{ |
{ |
86 |
return STATUS_SUCCESS; |
return RD_STATUS_SUCCESS; |
87 |
} |
} |
88 |
|
|
89 |
static NTSTATUS |
static RD_NTSTATUS |
90 |
scard_close(NTHANDLE handle) |
scard_close(RD_NTHANDLE handle) |
91 |
{ |
{ |
92 |
return STATUS_SUCCESS; |
return RD_STATUS_SUCCESS; |
93 |
} |
} |
94 |
|
|
95 |
static NTSTATUS |
static RD_NTSTATUS |
96 |
scard_read(NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result) |
scard_read(RD_NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result) |
97 |
{ |
{ |
98 |
return STATUS_SUCCESS; |
return RD_STATUS_SUCCESS; |
99 |
} |
} |
100 |
|
|
101 |
static NTSTATUS |
static RD_NTSTATUS |
102 |
scard_write(NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result) |
scard_write(RD_NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result) |
103 |
{ |
{ |
104 |
return STATUS_SUCCESS; |
return RD_STATUS_SUCCESS; |
105 |
} |
} |
106 |
#endif /* MAKE_PROTO */ |
#endif /* MAKE_PROTO */ |
107 |
|
|
2167 |
} |
} |
2168 |
|
|
2169 |
|
|
2170 |
static NTSTATUS |
static RD_NTSTATUS |
2171 |
scard_device_control(NTHANDLE handle, uint32 request, STREAM in, STREAM out) |
scard_device_control(RD_NTHANDLE handle, uint32 request, STREAM in, STREAM out) |
2172 |
{ |
{ |
2173 |
SERVER_DWORD Result = 0x00000000; |
SERVER_DWORD Result = 0x00000000; |
2174 |
unsigned char *psize, *pend, *pStatusCode; |
unsigned char *psize, *pend, *pStatusCode; |
2368 |
hexdump(pbeg, (size_t) (out->p) - (size_t) pbeg); |
hexdump(pbeg, (size_t) (out->p) - (size_t) pbeg); |
2369 |
DEBUG_SCARD(("--------------------------------\n")); |
DEBUG_SCARD(("--------------------------------\n")); |
2370 |
#endif |
#endif |
2371 |
return STATUS_SUCCESS; |
return RD_STATUS_SUCCESS; |
2372 |
} |
} |
2373 |
|
|
2374 |
/* Thread functions */ |
/* Thread functions */ |
2423 |
} |
} |
2424 |
|
|
2425 |
static PSCThreadData |
static PSCThreadData |
2426 |
SC_addToQueue(NTHANDLE handle, uint32 request, STREAM in, STREAM out) |
SC_addToQueue(RD_NTHANDLE handle, uint32 request, STREAM in, STREAM out) |
2427 |
{ |
{ |
2428 |
PMEM_HANDLE lcHandle = NULL; |
PMEM_HANDLE lcHandle = NULL; |
2429 |
PSCThreadData data = SC_xmalloc(&lcHandle, sizeof(TSCThreadData)); |
PSCThreadData data = SC_xmalloc(&lcHandle, sizeof(TSCThreadData)); |
2613 |
return NULL; |
return NULL; |
2614 |
} |
} |
2615 |
|
|
2616 |
static NTSTATUS |
static RD_NTSTATUS |
2617 |
thread_wrapper(NTHANDLE handle, uint32 request, STREAM in, STREAM out) |
thread_wrapper(RD_NTHANDLE handle, uint32 request, STREAM in, STREAM out) |
2618 |
{ |
{ |
2619 |
if (SC_addToQueue(handle, request, in, out)) |
if (SC_addToQueue(handle, request, in, out)) |
2620 |
return STATUS_PENDING | 0xC0000000; |
return RD_STATUS_PENDING | 0xC0000000; |
2621 |
else |
else |
2622 |
return STATUS_NO_SUCH_FILE; |
return RD_STATUS_NO_SUCH_FILE; |
2623 |
} |
} |
2624 |
|
|
2625 |
DEVICE_FNS scard_fns = { |
DEVICE_FNS scard_fns = { |