home *** CD-ROM | disk | FTP | other *** search
- //=====================================================================
- //
- // dospool.h
- //
- // class to manage global dos memory allocated from protected mode
- //
- // Copyright (c) 1994, Kevin Morgan, All rights reserved.
- //
- //=====================================================================
- #ifndef __DOSPOOL_H__
- #define __DOSPOOL_H__
-
- class DosMemoryPool {
- public:
-
- unsigned dosseg; // segment for real mode data area
- unsigned selector; // protected mode selector for data area
- unsigned nextalloc; // index of unallocated dos memory
-
- DosMemoryPool(unsigned sz);
- ~DosMemoryPool();
- void *allocate(size_t sz);
- unsigned char *allocChar() { return (unsigned char *) allocate(sizeof(unsigned char)); }
- unsigned *allocWord() { return (unsigned *) allocate(sizeof(unsigned)); }
- void *mapReal(void *p) { FP_SEG(p) = dosseg; return p; }
- void *mapProt(void *p) { FP_SEG(p) = selector; return p; }
- };
-
- #endif
-