1 /*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/io/iomgr/adapter.c
5 * PURPOSE: I/O Wrappers for HAL Adapter APIs
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 * Filip Navara (navaraf@reactos.org)
8 */
9
10 /* INCLUDES *****************************************************************/
11
12 #include <ntoskrnl.h>
13 #define NDEBUG
14 #include <debug.h>
15
16 /* DATA **********************************************************************/
17
18 POBJECT_TYPE IoAdapterObjectType;
19 POBJECT_TYPE IoDeviceHandlerObjectType;
20 ULONG IoDeviceHandlerObjectSize;
21
22 /* FUNCTIONS *****************************************************************/
23
24 #undef IoAllocateAdapterChannel
25 /*
26 * @implemented
27 */
28 NTSTATUS
29 NTAPI
IoAllocateAdapterChannel(IN PADAPTER_OBJECT AdapterObject,IN PDEVICE_OBJECT DeviceObject,IN ULONG NumberOfMapRegisters,IN PDRIVER_CONTROL ExecutionRoutine,IN PVOID Context)30 IoAllocateAdapterChannel(IN PADAPTER_OBJECT AdapterObject,
31 IN PDEVICE_OBJECT DeviceObject,
32 IN ULONG NumberOfMapRegisters,
33 IN PDRIVER_CONTROL ExecutionRoutine,
34 IN PVOID Context)
35 {
36 PWAIT_CONTEXT_BLOCK Wcb = &DeviceObject->Queue.Wcb;
37
38 /* Initialize the WCB */
39 Wcb->DeviceObject = DeviceObject;
40 Wcb->DeviceContext = Context;
41 Wcb->CurrentIrp = DeviceObject->CurrentIrp;
42
43 /* Call HAL */
44 return HalAllocateAdapterChannel(AdapterObject,
45 Wcb,
46 NumberOfMapRegisters,
47 ExecutionRoutine);
48 }
49
50 /* EOF */
51