home *** CD-ROM | disk | FTP | other *** search
- /***
- * xms.h -
- *
- * Copyright (c) 1989-1992, Microsoft Corporation. All rights reserved.
- *
- *******************************************************************************/
-
- typedef unsigned HEMB;
- typedef HEMB _far *PHEMB;
-
- struct ExtMemMoveStruct {
- unsigned long cb;
- HEMB hembSource;
- unsigned long ibSource;
- HEMB hembDest;
- unsigned long ibDest;
- };
-
- int PUBLIC _far __FXmsCheckInstalled(void);
- unsigned PUBLIC _far __XmsGetVersionNumber(int _far *pfHMAExists);
-
- ERR PUBLIC _far __ErrXmsRequestHighMemoryArea(unsigned short cb);
- ERR PUBLIC _far __ErrXmsReleaseHighMemoryArea(void);
- ERR PUBLIC _far __ErrXmsGlobalEnableA20(void);
- ERR PUBLIC _far __ErrXmsGlobalDisableA20(void);
- ERR PUBLIC _far __ErrXmsLocalEnableA20(void);
- ERR PUBLIC _far __ErrXmsLocalDisableA20(void);
- ERR PUBLIC _far __ErrXmsQueryA20(int _far *pfA20Enabled);
- ERR PUBLIC _far __ErrXmsQueryFreeExtMemory(unsigned short _far *pckbLargestFree, unsigned short _far *pckbTotalFree);
- ERR PUBLIC _far __ErrXmsAllocateExtMemoryBlock(PHEMB phemb, unsigned short ckbRequested);
- ERR PUBLIC _far __ErrXmsFreeExtMemoryBlock(HEMB hemb);
- ERR PUBLIC _far __ErrXmsMoveExtMemoryBlock(struct ExtMemMoveStruct _far *pMoveStruct);
- ERR PUBLIC _far __ErrXmsLockExtMemoryBlock(HEMB hemb, unsigned long _far *pAddress);
- ERR PUBLIC _far __ErrXmsUnlockExtMemoryBlock(HEMB hemb);
- ERR PUBLIC _far __ErrXmsGetEMBHandleInfo(HEMB hemb, unsigned char _far *pcLock, unsigned char _far *pcHandles, unsigned short _far *pckbSize);
- ERR PUBLIC _far __ErrXmsReallocateExtMemoryBlock(HEMB hemb, unsigned short ckbRequested);
- ERR PUBLIC _far __ErrXmsRequestUpperMemoryBlock(_segment _far *pseg, unsigned short _far *pcpara);
- ERR PUBLIC _far __ErrXmsReleaseUpperMemoryBlock(_segment seg);
-
-
- #define errXmsBase 0x3100
-
- #define errXmsNotImplemented (errXmsBase+0x00)
- #define errXmsVDISKDetected (errXmsBase+0x01)
- #define errXmsA20Error (errXmsBase+0x02)
- #define errXmsGeneralDriverError (errXmsBase+0x0e)
- #define errXmsUnrecoverableDriverError (errXmsBase+0x0f)
- #define errXmsHMADoesNotExist (errXmsBase+0x10)
- #define errXmsHMAAlreadyInUse (errXmsBase+0x11)
- #define errXmsLessThanHMAMIN (errXmsBase+0x12)
- #define errXmsHMAIsNotAllocated (errXmsBase+0x13)
- #define errXmsA20LineIsStillEnabled (errXmsBase+0x14)
-
- #define errXmsAllExtMemoryAllocated (errXmsBase+0x20)
- #define errXmsNoExtMemoryHandles (errXmsBase+0x21)
- #define errXmsInvalidHandle (errXmsBase+0x22)
- #define errXmsInvalidSourceHandle (errXmsBase+0x23)
- #define errXmsInvalidSourceOffset (errXmsBase+0x24)
- #define errXmsInvalidDestHandle (errXmsBase+0x25)
- #define errXmsInvalidDestOffset (errXmsBase+0x26)
- #define errXmsInvalidLength (errXmsBase+0x27)
- #define errXmsInvalidMoveOverlap (errXmsBase+0x28)
- #define errXmsParityError (errXmsBase+0x29)
- #define errXmsBlockIsNotLocked (errXmsBase+0x2a)
- #define errXmsBlockIsLocked (errXmsBase+0x2b)
- #define errXmsLockCountOverflow (errXmsBase+0x2c)
- #define errXmsLockFailed (errXmsBase+0x2d)
-
- #define errXmsSmallerUMBIsAvailable (errXmsBase+0x30)
- #define errXmsNoUMBsAreAvailable (errXmsBase+0x31)
- #define errXmsInvalidUMBSegment (errXmsBase+0x32)
-