Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
dpmi.h
Abstract:
This file contains code to implement support for the DPMI bops
Author:
Dave Hastings (daveh) 27-Jun-1991
Revision History:
--*/
/* ASM
ifdef WOW_x86 include vint.inc endif include bop.inc */ #define LDT_SIZE 0x1FFF
// DPMI Bop Sub Functions
#define InitDosxRM 0
#define InitDosx 1
#define InitLDT 2
#define GetFastBopAddress 3
#define InitIDT 4
#define InitExceptionHandlers 5
#define InitApp 6
#define TerminateApp 7
#define DpmiInUse 8
#define DpmiNoLongerInUse 9
#define DPMISwitchToProtectedMode 10 /* prefix necessary */
#define DPMISwitchToRealMode 11
#define SetAltRegs 12
#define IntHandlerIret 13
#define IntHandlerIretd 14
#define FaultHandlerIret 15
#define FaultHandlerIretd 16
#define DpmiUnhandledException 17
#define RMCallBackCall 18
#define ReflectIntrToPM 19
#define ReflectIntrToV86 20
#define InitPmStackInfo 21
#define VcdPmSvcCall32 22
#define SetDescriptorTableEntries 23
#define ResetLDTUserBase 24
#define XlatInt21Call 25
#define Int31Entry 26
#define Int31Call 27
#define HungAppIretAndExit 28
#define MAX_DPMI_BOP_FUNC HungAppIretAndExit + 1
/* ASM
DPMIBOP macro SubFun BOP BOP_DPMI db SubFun endm */
//
// Definitions for real mode call backs
//
/* XLATOFF */ typedef struct _RMCB_INFO { BOOL bInUse; USHORT StackSel; USHORT StrucSeg; ULONG StrucOffset; USHORT ProcSeg; ULONG ProcOffset; } RMCB_INFO;
// 16 is the minimum defined in the dpmi spec
#define MAX_RMCBS 16
typedef struct _MEM_DPMI { PVOID Address; ULONG Length; struct _MEM_DPMI * Prev; struct _MEM_DPMI * Next; WORD Owner; WORD Sel; WORD SelCount; } MEM_DPMI, *PMEM_DPMI;
VOID SetShadowDescriptorEntries( USHORT SelStart, USHORT SelCount );
/* XLATON */
|