2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: dos/dos32krnl/memory.h
5 * PURPOSE: DOS32 Memory Manager
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
12 /* TYPEDEFS *******************************************************************/
14 #define SEGMENT_TO_MCB(seg) ((PDOS_MCB)((ULONG_PTR)BaseAddress + TO_LINEAR((seg), 0)))
16 enum DOS_ALLOC_STRATEGY
24 typedef struct _DOS_MCB
34 /* VARIABLES ******************************************************************/
36 extern BYTE DosAllocStrategy
;
37 extern BOOLEAN DosUmbLinked
;
39 /* FUNCTIONS ******************************************************************/
41 WORD
DosAllocateMemory(WORD Size
, WORD
*MaxAvailable
);
42 BOOLEAN
DosResizeMemory(WORD BlockData
, WORD NewSize
, WORD
*MaxAvailable
);
43 BOOLEAN
DosFreeMemory(WORD BlockData
);
44 BOOLEAN
DosLinkUmb(VOID
);
45 BOOLEAN
DosUnlinkUmb(VOID
);
46 VOID
DosChangeMemoryOwner(WORD Segment
, WORD NewOwner
);