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>
10 #define _DOS_MEMORY_H_
12 /* TYPEDEFS *******************************************************************/
14 #define SEGMENT_TO_MCB(seg) ((PDOS_MCB)SEG_OFF_TO_PTR((seg), 0))
16 enum DOS_ALLOC_STRATEGY
24 typedef struct _DOS_MCB
32 C_ASSERT(sizeof(DOS_MCB
) == 0x10);
35 /* VARIABLES ******************************************************************/
37 extern BYTE DosAllocStrategy
;
38 extern BOOLEAN DosUmbLinked
;
40 /* FUNCTIONS ******************************************************************/
42 WORD
DosAllocateMemory(WORD Size
, WORD
*MaxAvailable
);
43 BOOLEAN
DosResizeMemory(WORD BlockData
, WORD NewSize
, WORD
*MaxAvailable
);
44 BOOLEAN
DosFreeMemory(WORD BlockData
);
45 BOOLEAN
DosLinkUmb(VOID
);
46 BOOLEAN
DosUnlinkUmb(VOID
);
47 VOID
DosChangeMemoryOwner(WORD Segment
, WORD NewOwner
);
49 VOID
DosInitializeMemory(VOID
);
51 #endif // _DOS_MEMORY_H_