543eb771e04b93e80d0777da053fd7685de8b7f1
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>
7 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
10 #ifndef _DOS_MEMORY_H_
11 #define _DOS_MEMORY_H_
13 /* TYPEDEFS *******************************************************************/
15 #define SEGMENT_TO_MCB(seg) ((PDOS_MCB)SEG_OFF_TO_PTR((seg), 0))
17 #define DOS_ALLOC_HIGH 0x40
18 #define DOS_ALLOC_HIGH_LOW 0x80
20 enum DOS_ALLOC_STRATEGY
28 typedef struct _DOS_MCB
36 C_ASSERT(sizeof(DOS_MCB
) == 0x10);
39 /* VARIABLES ******************************************************************/
41 /* FUNCTIONS ******************************************************************/
43 WORD
DosAllocateMemory(WORD Size
, WORD
*MaxAvailable
);
44 BOOLEAN
DosResizeMemory(WORD BlockData
, WORD NewSize
, WORD
*MaxAvailable
);
45 BOOLEAN
DosFreeMemory(WORD BlockData
);
46 BOOLEAN
DosLinkUmb(VOID
);
47 BOOLEAN
DosUnlinkUmb(VOID
);
48 VOID
DosChangeMemoryOwner(WORD Segment
, WORD NewOwner
);
50 VOID
DosInitializeUmb(VOID
);
51 VOID
DosInitializeMemory(VOID
);
53 #endif // _DOS_MEMORY_H_