home *** CD-ROM | disk | FTP | other *** search
- {#Z+}
- (*(10U&l12D(s4099T&k2S*)
- {***************************************************************************}
- {** Program : NWDPMI **}
- {***************************************************************************}
- {** Version : 1.53 ** Started : 11/11/91 ** Ended : / / **}
- {***************************************************************************}
- {******************************** Description ******************************}
- {***************************************************************************}
- {** DPMI library for Netware API **}
- {** **}
- {** **}
- {** **}
- {** **}
- {** **}
- {***************************************************************************}
- {******************************** Information ******************************}
- {***************************************************************************}
- {** Provides DPMI Services **}
- {** **}
- {** **}
- {** **}
- {** This code is (c) 1991 - 1994 Antonio Covelli. ALL RIGHTS RESERVED. **}
- {** Portions (c) Novell Inc, **}
- {** **}
- {** **}
- {***************************************************************************}
-
- {$I NETWARE.INC}
- {#Z-}
-
- UNIT NWDPMI;
-
- Interface
-
- const
-
- MaxBufferSize = 520;
- { The maximum buffer size allowed in the request/receive buffers }
-
- Type
-
- PRealModeRegisters = ^TRealModeRegisters;
- TRealModeRegisters = Record
-
- Case Integer Of
-
- 0 : {32 bit registers}
-
- (EDI, ESI, EBP, EXX, EBX, EDX, ECX, EAX : LongInt;
- Flags, ES, DS, FS, GS, IP, CS, SP, SS : word);
-
- 1 : {16 bit registers}
-
- (DI, DIH, SI, SIH, BP, BPH, XX, XXH : WORD;
-
- CASE INTEGER OF
-
- 0 :
-
- (BX, BXH, DX, DXH, CX, CXH, AX, AXH : WORD);
-
- 1 :
-
- (BL, BH, BLH, BHH, DL, DH, DLH, DHH,
- CL, CH, CLH, CHH, AL, AH, ALH, AHH : BYTE));
-
- END;
-
-
- PBuffer = ^TBuffer;
- TBuffer = ARRAY [0 .. MaxBufferSize] OF BYTE;
- TDualPtr = record
-
- RealPtr : PBuffer;
- ProtPtr : PBuffer;
- Result : longint;
-
- end;
-
- function SimRealModeInt (IntNumber : Byte; StackCopy : word;
- var Regs : TRealModeRegisters) : boolean;
-
- function CallRealModeProc (CallerID, DestID, DestFunc : word;
- var Regs) : boolean;
-
- {StackCopy = number of words to copy from protected mode stack to real mode stack
- If none needed pass in 0}
-
- procedure AllocBuf (var P : TDualPtr; Size : word);
-
- procedure ReleaseBuf (var P : TDualPtr; Size : word);
-
-