update for HEAD-2003091401
[reactos.git] / ntoskrnl / include / internal / pool.h
1 #ifndef __INTERNAL_POOL_H
2 #define __INTERNAL_POOL_H
3
4 PVOID STDCALL ExAllocateNonPagedPoolWithTag (POOL_TYPE  type, 
5                                              ULONG              size, 
6                                              ULONG              Tag,
7                                              PVOID              Caller);
8
9 PVOID STDCALL ExAllocatePagedPoolWithTag (POOL_TYPE     Type,
10                                           ULONG         size,
11                                           ULONG         Tag);
12 VOID STDCALL ExFreeNonPagedPool (PVOID block);
13
14 VOID STDCALL
15 ExFreePagedPool(IN PVOID Block);
16 VOID MmInitializePagedPool(VOID);
17
18 extern PVOID MmPagedPoolBase;
19 extern ULONG MmPagedPoolSize;
20
21 #define MM_PAGED_POOL_SIZE      (100*1024*1024)
22 #define MM_NONPAGED_POOL_SIZE   (100*1024*1024)
23
24 /*
25  * Maximum size of the kmalloc area (this is totally arbitary)
26  */
27 #define MM_KERNEL_MAP_SIZE      (16*1024*1024)
28
29 /*
30  * FIXME - different architectures have different cache line sizes...
31  */
32 #define MM_CACHE_LINE_SIZE  32
33
34 #define MM_ROUND_UP(x,s)    ((PVOID)(((ULONG)(x)+(s)-1) & ~((s)-1)))
35 #define MM_ROUND_DOWN(x,s)  ((PVOID)(((ULONG)(x)) & ~((s)-1)))
36
37 #endif /* __INTERNAL_POOL_H */