1 // Copyright (c) 2004, Antony C. Roberts
2 
3 // Use of this file is subject to the terms
4 // described in the LICENSE.TXT file that
5 // accompanies this file.
6 //
7 // Your use of this file indicates your
8 // acceptance of the terms described in
9 // LICENSE.TXT.
10 //
11 // http://www.freebt.net
12 
13 #ifndef _FREEBT_DEV_H
14 #define _FREEBT_DEV_H
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 NTSTATUS NTAPI FreeBT_DispatchCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
21 NTSTATUS NTAPI FreeBT_DispatchClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
22 NTSTATUS NTAPI FreeBT_DispatchDevCtrl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
23 NTSTATUS NTAPI FreeBT_ResetPipe(IN PDEVICE_OBJECT	DeviceObject, IN USBD_PIPE_HANDLE PipeInfo);
24 NTSTATUS NTAPI FreeBT_ResetDevice(IN PDEVICE_OBJECT DeviceObject);
25 NTSTATUS NTAPI FreeBT_GetPortStatus(IN PDEVICE_OBJECT DeviceObject, IN PULONG PortStatus);
26 NTSTATUS NTAPI FreeBT_ResetParentPort(IN IN PDEVICE_OBJECT DeviceObject);
27 
28 NTSTATUS NTAPI SubmitIdleRequestIrp(IN PDEVICE_EXTENSION DeviceExtension);
29 VOID NTAPI IdleNotificationCallback(IN PDEVICE_EXTENSION DeviceExtension);
30 NTSTATUS NTAPI IdleNotificationRequestComplete(
31     IN PDEVICE_OBJECT    DeviceObject,
32     IN PIRP              Irp,
33     IN PDEVICE_EXTENSION DeviceExtension);
34 
35 VOID NTAPI CancelSelectSuspend(IN PDEVICE_EXTENSION DeviceExtension);
36 VOID NTAPI PoIrpCompletionFunc(
37     IN PDEVICE_OBJECT   DeviceObject,
38     IN UCHAR            MinorFunction,
39     IN POWER_STATE      PowerState,
40     IN PVOID            Context,
41     IN PIO_STATUS_BLOCK IoStatus);
42 
43 VOID NTAPI PoIrpAsyncCompletionFunc(
44     IN PDEVICE_OBJECT DeviceObject,
45     IN UCHAR MinorFunction,
46     IN POWER_STATE PowerState,
47     IN PVOID Context,
48     IN PIO_STATUS_BLOCK IoStatus);
49 
50 VOID NTAPI WWIrpCompletionFunc(
51     IN PDEVICE_OBJECT   DeviceObject,
52     IN UCHAR            MinorFunction,
53     IN POWER_STATE      PowerState,
54     IN PVOID            Context,
55     IN PIO_STATUS_BLOCK IoStatus);
56 
57 #ifdef __cplusplus
58 };
59 #endif
60 
61 #endif
62