/**************************************************************************
 *
 * SOURCE FILE NAME = DEVUTIL.H
 *
 * DESCRIPTIVE NAME =
 *
 * Copyright : COPYRIGHT IBM CORPORATION, 1991, 1992
 *             LICENSED MATERIAL - PROGRAM PROPERTY OF IBM
 *             REFER TO COPYRIGHT INSTRUCTION FORM#G120-2083
 *             RESTRICTED MATERIALS OF IBM
 *             IBM CONFIDENTIAL
 *
 * VERSION = V2.0
 *
 * DATE        07/12/91
 *
 * DESCRIPTION
 *
 *
 * FUNCTIONS
 *
 * ENTRY POINTS:
 *
 * DEPENDENCIES:
 *
 * NOTES
 *
 *
 * STRUCTURES
 *
 * EXTERNAL REFERENCES
 *
 * EXTERNAL FUNCTIONS
 *
 * CHANGE ACTIVITY =
 *  DATE      FLAG        APAR   CHANGE DESCRIPTION
 *  --------  ----------  -----  --------------------------------------
 *  mm/dd/yy  @Vr.mpppxx  xxxxx  xxxxxxx
 ****************************************************************************/

enum _DHFUNC
{
  DH_SchedClockAddr, DH_DevDone, DH_Yield, DH_TCYield, DH_Block, DH_Run,
     DH_SemRequest, DH_SemClear, DH_SemHandle, DH_PushReqPacket,
     DH_PullReqPacket, DH_PullParticular, DH_SortReqPacket, DH_AllocReqPacket,
     DH_FreeReqPacket, DH_QueueInit, DH_QueueFlush, DH_QueueWrite, DH_QueueRead,
     DH_Lock, DH_Unlock, DH_PhysToVirt, DH_VirtToPhys, DH_PhysToUVirt,
     DH_AllocPhys, DH_FreePhys, DH_SetROMVector, DH_SetIRQ, DH_UnSetIRQ,
     DH_SetTimer, DH_ResetTimer, DH_MonitorCreate, DH_Register, DH_DeRegister,
     DH_MonWrite, DH_MonFlush, DH_GetDOSVar, DH_SendEvent, DH_ROMCritSection,
     DH_VerifyAccess, DH_RAS, DH_ABIOSGetParms, DH_AttachDD, DH_InternalError,
     DH_ModifyPriority, DH_AllocGDTSelector, DH_PhysToGDTSelector,
     DH_RealToProt, DH_ProtToReal, DH_EOI, DH_UnPhysToVirt, DH_TickCount,
     DH_GetLIDEntry, DH_FreeLIDEntry, DH_ABIOSCall, DH_ABIOSCommonEntry,
     DH_GetDeviceBlock, DH_RegisterProfile, DH_RegisterStackUsage, DH_LogEntry,
     DH_VideoPause, DH_SaveMessage, DH_RegisterPDD, DH_RegisterBeep, DH_Beep,
     DH_FreeGDTSelector, DH_PhysToGDTSel1, DH_VMLock, DH_VMUnlock, DH_VMAlloc,
     DH_VMFree, DH_VMProcessToGlobal, DH_VMGlobalToProcess, DH_VirtToLin,
     DH_LinToGDTSelector, DH_GetDescInfo, DH_LinToPageList, DH_PageListToLin,
     DH_PageListToGDTSelector, DH_RegisterTmrDD, DH_RegisterPerfCtrs,
     DH_AllocateCtxHook, DH_FreeCtxHook, DH_ArmCtxHook
} ;

/*
** Declared NEAR here, assumes ds set to dgroup
*/

extern VOID(FAR *NEAR DevHlp_Entry)();

/*
** 386 assembler fixes
*/

#define  HiEAXtoDX     _asm {           /* mov the hi word of EAX to DX      */\
  _asm _emit 0x66\
  _asm _emit 0x0f\
  _asm _emit 0xa4\
  _asm _emit 0xc2\
  _asm _emit 0x10\
}
#define  OpPrfx         _asm _emit 0x66 /* make data xfer width 32 bits      */

/*
** end
*/
