2010-12-31 12:01:21 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "hardware.h"
|
|
|
|
#include "hwiface.h"
|
|
|
|
#include "physmem.h"
|
2011-04-13 04:48:50 +00:00
|
|
|
#include "usbehci.h"
|
2010-12-31 12:01:21 +00:00
|
|
|
#include <usb.h>
|
|
|
|
#include <ntddk.h>
|
|
|
|
|
2011-04-13 04:48:50 +00:00
|
|
|
PQUEUE_HEAD
|
|
|
|
BuildControlTransfer(PEHCI_HOST_CONTROLLER hcd,
|
|
|
|
ULONG DeviceAddress,
|
|
|
|
USBD_PIPE_HANDLE PipeHandle,
|
|
|
|
PUSB_DEFAULT_PIPE_SETUP_PACKET CtrlSetup,
|
|
|
|
PMDL pMdl,
|
|
|
|
BOOLEAN FreeMdl);
|
|
|
|
|
|
|
|
PQUEUE_HEAD
|
|
|
|
BuildBulkTransfer(PEHCI_HOST_CONTROLLER hcd,
|
|
|
|
ULONG DeviceAddress,
|
|
|
|
USBD_PIPE_HANDLE PipeHandle,
|
|
|
|
UCHAR PidDirection,
|
|
|
|
PMDL pMdl,
|
|
|
|
BOOLEAN FreeMdl);
|
2010-12-31 12:01:21 +00:00
|
|
|
|
|
|
|
VOID
|
|
|
|
BuildSetupPacketFromURB(PEHCI_HOST_CONTROLLER hcd,
|
|
|
|
PURB Urb,
|
|
|
|
PUSB_DEFAULT_PIPE_SETUP_PACKET CtrlSetup);
|
|
|
|
|
2011-04-13 04:48:50 +00:00
|
|
|
NTSTATUS
|
|
|
|
ExecuteTransfer(PDEVICE_OBJECT DeviceObject,
|
|
|
|
PUSB_DEVICE UsbDevice,
|
|
|
|
USBD_PIPE_HANDLE PipeHandle,
|
|
|
|
PUSB_DEFAULT_PIPE_SETUP_PACKET CtrlSetup,
|
|
|
|
ULONG TransferFlags,
|
|
|
|
PVOID TransferBufferOrMdl,
|
|
|
|
ULONG TransferBufferLength,
|
|
|
|
PIRP IrpToComplete);
|