home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / tvision / dpmi / inc / dospool.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-29  |  953 b   |  31 lines

  1. //=====================================================================
  2. //
  3. //  dospool.h
  4. //
  5. //  class to manage global dos memory allocated from protected mode
  6. //
  7. //  Copyright (c) 1994, Kevin Morgan, All rights reserved.
  8. //
  9. //=====================================================================
  10. #ifndef __DOSPOOL_H__
  11. #define __DOSPOOL_H__
  12.  
  13. class DosMemoryPool {
  14.     public:
  15.  
  16.     unsigned dosseg;    // segment for real mode data area
  17.     unsigned selector;    // protected mode selector for data area
  18.     unsigned nextalloc;    // index of unallocated dos memory
  19.  
  20.     DosMemoryPool(unsigned sz);
  21.     ~DosMemoryPool();
  22.     void *allocate(size_t sz);
  23.     unsigned char *allocChar() { return (unsigned char *) allocate(sizeof(unsigned char)); }
  24.     unsigned *allocWord() { return (unsigned *) allocate(sizeof(unsigned)); }
  25.     void *mapReal(void *p) { FP_SEG(p) = dosseg; return p; }
  26.     void *mapProt(void *p) { FP_SEG(p) = selector; return p; }
  27. };
  28.  
  29. #endif
  30.  
  31.