|
|
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
USBDLIBI.H
Abstract:
Services exported by USBD for use by USB port drivers and the usb hub driver.
Environment:
Kernel & user mode
Revision History:
01-27-96 : created
--*/
#ifndef __USBDLIBI_H__
#define __USBDLIBI_H__
#pragma message ("warning: using obsolete header file usbdlibi.h")
#define USBD_KEEP_DEVICE_DATA 0x01
#define USBD_MARK_DEVICE_BUSY 0x02
#ifndef USBD
typedef PVOID PUSBD_DEVICE_DATA;
//
// Services exported by USBD
//
DECLSPEC_IMPORT VOID USBD_RegisterHostController( IN PDEVICE_OBJECT PhysicalDeviceObject, IN PDEVICE_OBJECT HcdDeviceObject, IN PDEVICE_OBJECT HcdTopOfPdoStackDeviceObject, IN PDRIVER_OBJECT HcdDriverObject, IN HCD_DEFFERED_START_FUNCTION *HcdDeffreredStart, IN HCD_SET_DEVICE_POWER_STATE *HcdSetDevicePowerState, IN HCD_GET_CURRENT_FRAME *HcdGetCurrentFrame, IN HCD_GET_CONSUMED_BW *HcdGetConsumedBW, IN HCD_SUBMIT_ISO_URB *HcdSubmitIsoUrb, IN ULONG HcdDeviceNameHandle );
DECLSPEC_IMPORT BOOLEAN USBD_Dispatch( PDEVICE_OBJECT DeviceObject, PIRP Irp, PDEVICE_OBJECT *HcdDeviceObject, NTSTATUS *NtStatus );
DECLSPEC_IMPORT VOID USBD_CompleteRequest( PIRP Irp, CCHAR PriorityBoost );
DECLSPEC_IMPORT NTSTATUS USBD_CreateDevice( IN OUT PUSBD_DEVICE_DATA *DeviceData, IN PDEVICE_OBJECT DeviceObject, IN BOOLEAN DeviceIsLowSpeed, IN ULONG MaxPacketSize_Endpoint0, IN OUT PULONG NonCompliantDevice );
DECLSPEC_IMPORT NTSTATUS USBD_InitializeDevice( IN PUSBD_DEVICE_DATA DeviceData, IN PDEVICE_OBJECT DeviceObject, IN OUT PUSB_DEVICE_DESCRIPTOR DeviceDescriptor, IN ULONG DeviceDescriptorLength, IN OUT PUSB_CONFIGURATION_DESCRIPTOR ConfigDescriptor, IN ULONG ConfigDescriptorLength );
DECLSPEC_IMPORT NTSTATUS USBD_RemoveDevice( IN PUSBD_DEVICE_DATA DeviceData, IN PDEVICE_OBJECT DeviceObject, IN UCHAR Flags );
DECLSPEC_IMPORT NTSTATUS USBD_RestoreDevice( IN OUT PUSBD_DEVICE_DATA OldDeviceData, IN OUT PUSBD_DEVICE_DATA NewDeviceData, IN PDEVICE_OBJECT DeviceObject );
DECLSPEC_IMPORT ULONG USBD_AllocateDeviceName( PUNICODE_STRING DeviceNameUnicodeString );
DECLSPEC_IMPORT VOID USBD_FreeDeviceName( ULONG DeviceNameHandle );
DECLSPEC_IMPORT VOID USBD_WaitDeviceMutex( PDEVICE_OBJECT RootHubPDO );
DECLSPEC_IMPORT VOID USBD_FreeDeviceMutex( PDEVICE_OBJECT RootHubPDO );
DECLSPEC_IMPORT NTSTATUS USBD_GetDeviceInformation( IN PUSB_NODE_CONNECTION_INFORMATION DeviceInformation, IN ULONG DeviceInformationLength, IN PUSBD_DEVICE_DATA DeviceData );
DECLSPEC_IMPORT NTSTATUS USBD_MakePdoName( IN OUT PUNICODE_STRING PdoNameUnicodeString, IN ULONG Index );
DECLSPEC_IMPORT VOID USBD_RegisterHcDeviceCapabilities( PDEVICE_OBJECT DeviceObject, PDEVICE_CAPABILITIES DeviceCapabilities, ROOT_HUB_POWER_FUNCTION *RootHubPower );
DECLSPEC_IMPORT ULONG USBD_CalculateUsbBandwidth( ULONG MaxPacketSize, UCHAR EndpointType, BOOLEAN LowSpeed );
#endif
#endif /* __USBDLIBI_H__ */
|