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 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