xref: /reactos/sdk/lib/rossym_new/initkm.c (revision c2c66aff)
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 Finck RosSymAllocMemKM(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 Finck RosSymFreeMemKM(PVOID Area)
30*c2c66affSColin Finck {
31*c2c66affSColin Finck   ExFreePool(Area);
32*c2c66affSColin Finck }
33*c2c66affSColin Finck 
34*c2c66affSColin Finck VOID
RosSymInitKernelMode(VOID)35*c2c66affSColin Finck RosSymInitKernelMode(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