Sync with trunk r58687.
[reactos.git] / drivers / bluetooth / fbtusb / include / fbtpwr.h
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_POWER_H
14 #define _FREEBT_POWER_H
15
16 typedef struct _POWER_COMPLETION_CONTEXT
17 {
18 PDEVICE_OBJECT DeviceObject;
19 PIRP SIrp;
20
21 } POWER_COMPLETION_CONTEXT, *PPOWER_COMPLETION_CONTEXT;
22
23 typedef struct _WORKER_THREAD_CONTEXT
24 {
25 PDEVICE_OBJECT DeviceObject;
26 PIRP Irp;
27 PIO_WORKITEM WorkItem;
28
29 } WORKER_THREAD_CONTEXT, *PWORKER_THREAD_CONTEXT;
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 NTSTATUS NTAPI FreeBT_DispatchPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
36 NTSTATUS NTAPI HandleSystemQueryPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
37 NTSTATUS NTAPI HandleSystemSetPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
38 NTSTATUS NTAPI HandleDeviceQueryPower(PDEVICE_OBJECT DeviceObject, PIRP Irp);
39 NTSTATUS NTAPI SysPoCompletionRoutine(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PDEVICE_EXTENSION DeviceExtension);
40 VOID NTAPI SendDeviceIrp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
41 VOID NTAPI DevPoCompletionRoutine(
42 IN PDEVICE_OBJECT DeviceObject,
43 IN UCHAR MinorFunction,
44 IN POWER_STATE PowerState,
45 IN PVOID Context,
46 IN PIO_STATUS_BLOCK IoStatus
47 );
48
49 NTSTATUS NTAPI HandleDeviceSetPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
50 NTSTATUS NTAPI FinishDevPoUpIrp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PDEVICE_EXTENSION DeviceExtension);
51 NTSTATUS NTAPI SetDeviceFunctional(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PDEVICE_EXTENSION DeviceExtension);
52 NTSTATUS NTAPI FinishDevPoDnIrp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PDEVICE_EXTENSION DeviceExtension);
53 NTSTATUS NTAPI HoldIoRequests(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
54 VOID NTAPI HoldIoRequestsWorkerRoutine(IN PDEVICE_OBJECT DeviceObject, IN PVOID Context);
55 NTSTATUS NTAPI QueueRequest(IN OUT PDEVICE_EXTENSION DeviceExtension, IN PIRP Irp);
56 VOID NTAPI CancelQueued(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
57 NTSTATUS NTAPI WaitWakeCompletionRoutine(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PDEVICE_EXTENSION DeviceExtension);
58 NTSTATUS NTAPI IssueWaitWake(IN PDEVICE_EXTENSION DeviceExtension);
59 VOID NTAPI CancelWaitWake(IN PDEVICE_EXTENSION DeviceExtension);
60 VOID NTAPI WaitWakeCallback(
61 IN PDEVICE_OBJECT DeviceObject,
62 IN UCHAR MinorFunction,
63 IN POWER_STATE PowerState,
64 IN PVOID Context,
65 IN PIO_STATUS_BLOCK IoStatus
66 );
67
68 PCHAR NTAPI PowerMinorFunctionString(IN UCHAR MinorFunction);
69
70 #ifdef __cplusplus
71 };
72 #endif
73
74 #endif