Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

190 lines
2.7 KiB

#include "usb.h"
#include "usbhcdi.h"
// include all bus interfaces
#include "usbbusif.h"
#include "hubbusif.h"
// inclulde ioctl defs for port drivers
#include "usbkern.h"
#include "usbuser.h"
#include "..\..\USB2LIB\usb2lib.h"
#include "..\usbport\dbg.h"
#include "..\usbport\usbport.h"
//#define DEBUGIT
typedef union _SIG {
UCHAR c[4];
ULONG l;
} SIG, *PSIG;
typedef struct _FLAG_TABLE {
PUCHAR Name;
ULONG Mask;
} FLAG_TABLE, *PFLAG_TABLE;
#define GETMEMLOC(base, typ, field) \
((base) + FIELD_OFFSET(typ, field))
typedef ULONG64 MEMLOC, *PMEMLOC;
typedef struct _STRUC_ENTRY {
PUCHAR FieldName;
ULONG FieldType;
} STRUC_ENTRY, *PSTRUC_ENTRY;
#define FT_ULONG 1
#define FT_UCHAR 2
#define FT_USHORT 3
#define FT_PTR 4
#define FT_SIG 5
#define FT_DEVSPEED 6
#define FT_ULONG64 7
ULONG
CheckSym();
#define CHECKSYM()\
{\
ULONG n;\
if ((n=CheckSym()) != S_OK) {\
return n;\
}\
}
VOID
UsbDumpStruc(
MEMLOC MemLoc,
PUCHAR Cs,
PSTRUC_ENTRY FieldList,
ULONG NumEntries
);
CPPMOD
ScanfMemLoc(
PMEMLOC MemLoc,
PCSTR args
);
VOID
PrintfMemLoc(
PUCHAR Str1,
MEMLOC MemLoc,
PUCHAR Str2
);
VOID
BadMemLoc(
ULONG MemLoc
);
VOID
BadSig(
ULONG Sig,
ULONG ExpectedSig
);
VOID
DumpIPipe(
MEMLOC MEmLoc
);
PCHAR
ListEmpty(
MEMLOC HeadMemLoc
);
VOID
DumpPowerCaps(
MEMLOC MemLoc
);
VOID
UsbDumpFlags(
ULONG Flags,
PFLAG_TABLE FlagTable,
ULONG NumEntries
);
VOID
DumpUnicodeString(
UNICODE_STRING uniString
);
VOID
DumpEndpointParameters(
MEMLOC MemLoc
);
VOID
DumpUSBDescriptor(
PVOID Descriptor
);
VOID
EpType(
ENDPOINT_TRANSFER_TYPE Typ
);
VOID
EpDir(
ENDPOINT_TRANSFER_DIRECTION Dir
);
VOID
Sig(
ULONG Sig,
PUCHAR p
);
VOID
DumpInterfaceInfo(
MEMLOC MemLoc
);
ULONG
UsbFieldOffset(
IN LPSTR Type,
IN LPSTR Field
);
MEMLOC
UsbReadFieldPtr(
IN ULONG64 Addr,
IN LPSTR Type,
IN LPSTR Field
);
ULONG
UsbReadFieldUlong(
IN ULONG64 Addr,
IN LPSTR Type,
IN LPSTR Field
);
UCHAR
UsbReadFieldUchar(
IN ULONG64 Addr,
IN LPSTR Type,
IN LPSTR Field
);
USHORT
UsbReadFieldUshort(
IN ULONG64 Addr,
IN LPSTR Type,
IN LPSTR Field
);
VOID
DumpEHCI_StaticQHs(
MEMLOC MemLoc
);