1*c2c66affSColin Finck /* 2*c2c66affSColin Finck * COPYRIGHT: See COPYING in the top level directory 3*c2c66affSColin Finck * PROJECT: ReactOS kernel 4*c2c66affSColin Finck * FILE: lib/rossym/initkm.c 5*c2c66affSColin Finck * PURPOSE: Initialize library for use in kernel mode 6*c2c66affSColin Finck * 7*c2c66affSColin Finck * PROGRAMMERS: Ge van Geldorp (gvg@reactos.com) 8*c2c66affSColin Finck */ 9*c2c66affSColin Finck 10*c2c66affSColin Finck #include <ntdef.h> 11*c2c66affSColin Finck #undef DECLSPEC_IMPORT 12*c2c66affSColin Finck #define DECLSPEC_IMPORT 13*c2c66affSColin Finck #include <ntddk.h> 14*c2c66affSColin Finck #include <reactos/rossym.h> 15*c2c66affSColin Finck #include "rossympriv.h" 16*c2c66affSColin Finck 17*c2c66affSColin Finck #define NDEBUG 18*c2c66affSColin Finck #include <debug.h> 19*c2c66affSColin Finck 20*c2c66affSColin Finck #define TAG_ROSSYM 'MYSR' 21*c2c66affSColin Finck 22*c2c66affSColin Finck static PVOID RosSymAllocMemKM(ULONG_PTR Size)23*c2c66affSColin FinckRosSymAllocMemKM(ULONG_PTR Size) 24*c2c66affSColin Finck { 25*c2c66affSColin Finck return ExAllocatePoolWithTag(NonPagedPool, Size, TAG_ROSSYM); 26*c2c66affSColin Finck } 27*c2c66affSColin Finck 28*c2c66affSColin Finck static VOID RosSymFreeMemKM(PVOID Area)29*c2c66affSColin FinckRosSymFreeMemKM(PVOID Area) 30*c2c66affSColin Finck { 31*c2c66affSColin Finck ExFreePool(Area); 32*c2c66affSColin Finck } 33*c2c66affSColin Finck 34*c2c66affSColin Finck VOID RosSymInitKernelMode(VOID)35*c2c66affSColin FinckRosSymInitKernelMode(VOID) 36*c2c66affSColin Finck { 37*c2c66affSColin Finck static ROSSYM_CALLBACKS KmCallbacks = 38*c2c66affSColin Finck { 39*c2c66affSColin Finck RosSymAllocMemKM, 40*c2c66affSColin Finck RosSymFreeMemKM, 41*c2c66affSColin Finck RosSymIoReadFile, 42*c2c66affSColin Finck RosSymIoSeekFile 43*c2c66affSColin Finck }; 44*c2c66affSColin Finck 45*c2c66affSColin Finck RosSymInit(&KmCallbacks); 46*c2c66affSColin Finck } 47*c2c66affSColin Finck 48*c2c66affSColin Finck /* EOF */ 49