home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / mslang / vm / h / xms.h < prev   
Encoding:
C/C++ Source or Header  |  1993-12-15  |  3.3 KB  |  72 lines

  1. /***
  2. * xms.h -
  3. *
  4. *       Copyright (c) 1989-1992, Microsoft Corporation.  All rights reserved.
  5. *
  6. *******************************************************************************/
  7.  
  8. typedef unsigned HEMB;
  9. typedef HEMB _far *PHEMB;
  10.  
  11. struct ExtMemMoveStruct {
  12.    unsigned long  cb;
  13.    HEMB           hembSource;
  14.    unsigned long  ibSource;
  15.    HEMB           hembDest;
  16.    unsigned long  ibDest;
  17.    };
  18.  
  19. int PUBLIC _far __FXmsCheckInstalled(void);
  20. unsigned PUBLIC _far __XmsGetVersionNumber(int _far *pfHMAExists);
  21.  
  22. ERR PUBLIC _far __ErrXmsRequestHighMemoryArea(unsigned short cb);
  23. ERR PUBLIC _far __ErrXmsReleaseHighMemoryArea(void);
  24. ERR PUBLIC _far __ErrXmsGlobalEnableA20(void);
  25. ERR PUBLIC _far __ErrXmsGlobalDisableA20(void);
  26. ERR PUBLIC _far __ErrXmsLocalEnableA20(void);
  27. ERR PUBLIC _far __ErrXmsLocalDisableA20(void);
  28. ERR PUBLIC _far __ErrXmsQueryA20(int _far *pfA20Enabled);
  29. ERR PUBLIC _far __ErrXmsQueryFreeExtMemory(unsigned short _far *pckbLargestFree, unsigned short _far *pckbTotalFree);
  30. ERR PUBLIC _far __ErrXmsAllocateExtMemoryBlock(PHEMB phemb, unsigned short ckbRequested);
  31. ERR PUBLIC _far __ErrXmsFreeExtMemoryBlock(HEMB hemb);
  32. ERR PUBLIC _far __ErrXmsMoveExtMemoryBlock(struct ExtMemMoveStruct _far *pMoveStruct);
  33. ERR PUBLIC _far __ErrXmsLockExtMemoryBlock(HEMB hemb, unsigned long _far *pAddress);
  34. ERR PUBLIC _far __ErrXmsUnlockExtMemoryBlock(HEMB hemb);
  35. ERR PUBLIC _far __ErrXmsGetEMBHandleInfo(HEMB hemb, unsigned char _far *pcLock, unsigned char _far *pcHandles, unsigned short _far *pckbSize);
  36. ERR PUBLIC _far __ErrXmsReallocateExtMemoryBlock(HEMB hemb, unsigned short ckbRequested);
  37. ERR PUBLIC _far __ErrXmsRequestUpperMemoryBlock(_segment _far *pseg, unsigned short _far *pcpara);
  38. ERR PUBLIC _far __ErrXmsReleaseUpperMemoryBlock(_segment seg);
  39.  
  40.  
  41. #define errXmsBase   0x3100
  42.  
  43. #define errXmsNotImplemented            (errXmsBase+0x00)
  44. #define errXmsVDISKDetected             (errXmsBase+0x01)
  45. #define errXmsA20Error                  (errXmsBase+0x02)
  46. #define errXmsGeneralDriverError        (errXmsBase+0x0e)
  47. #define errXmsUnrecoverableDriverError  (errXmsBase+0x0f)
  48. #define errXmsHMADoesNotExist           (errXmsBase+0x10)
  49. #define errXmsHMAAlreadyInUse           (errXmsBase+0x11)
  50. #define errXmsLessThanHMAMIN            (errXmsBase+0x12)
  51. #define errXmsHMAIsNotAllocated         (errXmsBase+0x13)
  52. #define errXmsA20LineIsStillEnabled     (errXmsBase+0x14)
  53.  
  54. #define errXmsAllExtMemoryAllocated     (errXmsBase+0x20)
  55. #define errXmsNoExtMemoryHandles        (errXmsBase+0x21)
  56. #define errXmsInvalidHandle             (errXmsBase+0x22)
  57. #define errXmsInvalidSourceHandle       (errXmsBase+0x23)
  58. #define errXmsInvalidSourceOffset       (errXmsBase+0x24)
  59. #define errXmsInvalidDestHandle         (errXmsBase+0x25)
  60. #define errXmsInvalidDestOffset         (errXmsBase+0x26)
  61. #define errXmsInvalidLength             (errXmsBase+0x27)
  62. #define errXmsInvalidMoveOverlap        (errXmsBase+0x28)
  63. #define errXmsParityError               (errXmsBase+0x29)
  64. #define errXmsBlockIsNotLocked          (errXmsBase+0x2a)
  65. #define errXmsBlockIsLocked             (errXmsBase+0x2b)
  66. #define errXmsLockCountOverflow         (errXmsBase+0x2c)
  67. #define errXmsLockFailed                (errXmsBase+0x2d)
  68.  
  69. #define errXmsSmallerUMBIsAvailable     (errXmsBase+0x30)
  70. #define errXmsNoUMBsAreAvailable        (errXmsBase+0x31)
  71. #define errXmsInvalidUMBSegment         (errXmsBase+0x32)
  72.