166 lines
3.1 KiB
C
166 lines
3.1 KiB
C
/*++
|
|
|
|
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__ */
|