/*static char *SCCSID = "@(#)mdinc.h    6.1 91/02/27";*/

/*
 *      IBM Confidential
 *
 *      Copyright (c) IBM Corporation 1987, 1989
 *
 *      All Rights Reserved
 */

/******************************************************************************
 *
 * Source File: mdinc.h
 *
 * Description:
 *      This file contains macros, structures, and defines for monitor
 *      dispatcher as well as includes other files need by all monitor
 *      dispatcher source files.
 *
 * Entry Points:
 *      none
 *
 * External References:
 *      none
 *
 ******************************************************************************
 */

//c-begin
#define INCL_32

#define INCL_SAADEFS
#define INCL_TYPES
#include <basedef.h>
#include <osmac.h>


//#define OS2_NOBASEAPI
#define OS2_NOPMAPI
#include <os2defp.h>

#include <mi.h>

#define INCL_ERRORS
#include <bseerr.h>

#include <sigdef.h>
#include <dossymc.h>
#include <except.h>
#include <infoseg.h>
#include <sem.h>
#include <screen.h>
#include <curdir.h>
#include <dirent.h>
#include <semxport.h>
#include <pgexport.h>
#include <vmexport.h>
#include <tkexport.h>
#include <tkptda.h>

extern  ulong_t SELVirtToLin(ulong_t offst, SEL sel);

/* Create untyped far pointer from selector and offset */
#define MAKEULONG(l, h)  ((ULONG)(((USHORT)(l)) | ((ULONG)((USHORT)(h))) << 16))
#define MAKEPTR(sel, off)     ((PVOID)MAKEULONG(off, sel))

//c-end



//masm-begin
//INCL_DEF        EQU     1
//INCL_TYPES      EQU     1
//
//INCLUDE basemaca.INC
//
//
//INCLUDE basedef.INC
//INCLUDE semxport.INC
//INCL_DOSP        EQU     1
//
//OS2_NOPMAPI     EQU     1
//
//INCLUDE BSEDOSP.INC
//INCLUDE MI.INC
//INCL_ERRORS     EQU     1
//
//INCLUDE bseerr.INC
//
//INCLUDE dosseg.inc
//include osmaca.inc
//
//INCLUDE pgexport.inc
//INCLUDE tkexport.inc
//
//
//
//
//mon_savemost_regs MACRO
//; save all regs but AX and FLAGS for DCR 451
//     PUSH EBX
//     PUSH ECX
//     PUSH EDX
//     PUSH EDI
//     PUSH ESI
//     PUSH DS
//     PUSH ES
//ENDM
//
//mon_restoremost_regs MACRO
//;    restore all regs but AX and FLAGS for DCR 451
//     POP ES
//     POP DS
//     POP ESI
//     POP EDI
//     POP EDX
//     POP ECX
//     POP EBX
//ENDM
//
//
//;to clear top half of DWORD registers
//FF_WORD           EQU   0FFFFH
//
//
//whattime        macro
//        push    ds
//        DosContext ds
//        cmp     [InterruptLevel],-1
//        pop     ds
//endm
//masm-end

