21#ifndef FREERDP_UTILS_RDPDR_H 
   22#define FREERDP_UTILS_RDPDR_H 
   24#include <winpr/stream.h> 
   25#include <freerdp/api.h> 
   36    char PreferredDosName[8];
 
   37    UINT32 DeviceDataLength;
 
 
   43    UINT16 CapabilityType;
 
   44    UINT16 CapabilityLength;
 
 
   48  FREERDP_API 
const char* rdpdr_component_string(UINT16 component);
 
   49  FREERDP_API 
const char* rdpdr_packetid_string(UINT16 packetid);
 
   50  FREERDP_API 
const char* rdpdr_irp_string(UINT32 major);
 
   51  FREERDP_API 
const char* rdpdr_cap_type_string(UINT16 capability);
 
   53  FREERDP_API LONG scard_log_status_error(
const char* tag, 
const char* what, LONG status);
 
   64  FREERDP_API LONG scard_log_status_error_wlog(wLog* log, 
const char* what, LONG status);
 
   65  FREERDP_API 
const char* scard_get_ioctl_string(UINT32 ioControlCode, BOOL funcName);
 
   67  FREERDP_API BOOL rdpdr_write_iocompletion_header(
wStream* out, UINT32 DeviceId,
 
   68                                                   UINT32 CompletionId, NTSTATUS ioStatus);
 
   70  FREERDP_API 
void rdpdr_dump_received_packet(wLog* log, DWORD lvl, 
wStream* out,
 
   72  FREERDP_API 
void rdpdr_dump_send_packet(wLog* log, DWORD lvl, 
wStream* out, 
const char* custom);
 
   74  FREERDP_API UINT rdpdr_read_capset_header(wLog* log, 
wStream* s,
 
   76  FREERDP_API UINT rdpdr_write_capset_header(wLog* log, 
wStream* s,