/***************************************************************************/ /* Filename: MILPROTO.H Owner : Matrox Imaging Revision: 10.60.0776 Content : This file contains the prototypes for the Matrox Imaging Library (MIL) C user's functions. Copyright © Matrox Electronic Systems Ltd., 1992-2023. All Rights Reserved */ /***************************************************************************/ #ifndef __MILPROTO_H #define __MILPROTO_H #include /* C++ directive if needed */ #ifdef __cplusplus extern "C" { #endif /***************************************************************************/ /* HOOK HANDLER PROTOTYPE */ /***************************************************************************/ typedef MIL_INT (MFTYPE* MIL_HOOK_FUNCTION_PTR)(MIL_INT HookType, MIL_ID EventId, void* UserData); /***************************************************************************/ /* GRAPHIC MODULE: */ /***************************************************************************/ /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* CONTROL: */ /* -------------------------------------------------------------- */ MIL_ID MFTYPE MgraAlloc (MIL_ID SysId, MIL_ID* ContextGraIdPtr); MIL_ID MFTYPE MgraAllocList (MIL_ID SysId, MIL_INT64 ListGraType, MIL_ID *ListGraIdPtr); void MFTYPE MgraFree (MIL_ID ObjectId); void MFTYPE MgraColorDouble (MIL_ID ContextGraId, MIL_DOUBLE ForegroundColor); void MFTYPE MgraBackColorDouble (MIL_ID ContextGraId, MIL_DOUBLE BackgroundColor); #if M_MIL_USE_UNICODE void MFTYPE MgraFontW (MIL_ID ContextGraId, MIL_INT64 FontName); void MFTYPE MgraFontA (MIL_ID ContextGraId, MIL_INT64 FontName); #if M_MIL_UNICODE_API #define MgraFont MgraFontW #else #define MgraFont MgraFontA #endif #else void MFTYPE MgraFont (MIL_ID ContextGraId, MIL_INT64 FontName); #endif void* MFTYPE MgraFontGetLarge(void); void* MFTYPE MgraFontGetSmall(void); void* MFTYPE MgraFontGetMedium(void); void MFTYPE MgraFontScale (MIL_ID ContextGraId, MIL_DOUBLE XFontScale, MIL_DOUBLE YFontScale); MIL_INT MFTYPE MgraInquire (MIL_ID ContextGraId, MIL_INT64 InquireType, void* UserVarPtr); #if M_MIL_USE_64BIT // Prototypes for 64 bits OSs void MFTYPE MgraControlListInt64 (MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MgraControlListDouble(MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); void MFTYPE MgraControlInt64 (MIL_ID ContextGraId, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MgraControlDouble(MIL_ID ContextGraId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #else // Prototypes for 32 bits OSs #define MgraControlListDouble MgraControlList #define MgraControlListInt64 MgraControlList void MFTYPE MgraControlList (MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #define MgraControlDouble MgraControl #define MgraControlInt64 MgraControl void MFTYPE MgraControl (MIL_ID ContextGraId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #endif MIL_INT MFTYPE MgraInquireList (MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 InquireType, void* UserVarPtr); void MFTYPE MgraGetNeighbors (MIL_ID GraphListId , MIL_ID DisplayId , MIL_ID CalOrImageId , MIL_INT LabelOrIndex , MIL_INT64 Operation , MIL_DOUBLE PosX , MIL_DOUBLE PosY , MIL_DOUBLE Param1 , MIL_DOUBLE Param2 , MIL_INT64 ResultOutputUnits , MIL_INT MaxNumNeighbors , MIL_INT* NumNeighborsFoundPtr , MIL_INT* ObjectLabelOrIndexArray, MIL_DOUBLE* ObjectPosXArray , MIL_DOUBLE* ObjectPosYArray , MIL_INT64 ControlFlag ); void MFTYPE MgraGetBoundingBox (MIL_ID GraphListId, MIL_ID CalOrImageId, MIL_INT64 LabelOrIndex, MIL_INT64 Units, MIL_DOUBLE* MinXPtr, MIL_DOUBLE* MinYPtr, MIL_DOUBLE* MaxXPtr, MIL_DOUBLE* MaxYPtr, MIL_INT64 ControlFlag); void MFTYPE MgraDraw (MIL_ID GraListId, MIL_ID DestImageId, MIL_INT64 ControlFlag); void MFTYPE MgraDrawZoom (MIL_ID GraphListId, MIL_ID ImageId, MIL_ID CalibrationId, MIL_DOUBLE ScaleX, MIL_DOUBLE ScaleY, MIL_DOUBLE OffsetX, MIL_DOUBLE OffsetY, MIL_INT SizeX, MIL_INT SizeY, MIL_INT64 ControlFlag); typedef MIL_HOOK_FUNCTION_PTR MIL_GRA_HOOK_FUNCTION_PTR; void MFTYPE MgraHookFunction (MIL_ID GraListId, MIL_INT HookType, MIL_GRA_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr); MIL_INT MFTYPE MgraGetHookInfo (MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr); void MFTYPE MgraMessage (MIL_ID GraListId, MIL_INT MessageType, MIL_INT MessageParam1, MIL_INT MessageParam2, MIL_INT MessageParam3, MIL_INT CombinationKeys, MIL_ID CalOrImageId, MIL_DOUBLE DisplayOffX, MIL_DOUBLE DisplayOffY, MIL_DOUBLE DisplayScaleX, MIL_DOUBLE DisplayScaleY, MIL_INT64 ControlFlag, MIL_INT* StatusPtr); void MFTYPE MgraMessageEx(MIL_ID GraListId, MIL_INT MessageType, MIL_INT MessageParam1, MIL_INT MessageParam2, MIL_INT MessageParam3, MIL_INT CombinationKeys, MIL_ID CalOrImageId, MIL_DOUBLE DisplayOffX, MIL_DOUBLE DisplayOffY, MIL_DOUBLE DisplayScaleX, MIL_DOUBLE DisplayScaleY, MIL_INT Dpi, MIL_INT64 ControlFlag, MIL_INT* StatusPtr); void MFTYPE MgraCopy (MIL_ID SrcListGraId , MIL_ID DstListGraId , MIL_INT64 Operation , MIL_INT InsertLocation , MIL_INT NumGraphics , const MIL_INT* SrcIndexOrLabelArrayPtr, MIL_INT* DstLabelArrayPtr , MIL_INT64 ControlFlag ); void MFTYPE MgraProcess (MIL_ID SrcGraphListId, MIL_ID DstGraphListId, MIL_ID CalOrImageId, MIL_INT SrcLabelOrIndex, MIL_INT DstLabelOrIndex, MIL_INT64 Operation, MIL_DOUBLE Param); #if M_MIL_USE_UNICODE void MFTYPE MgraSaveW(MIL_CONST_TEXTW_PTR FileName, MIL_ID GraphListId, MIL_INT64 ControlFlag); MIL_ID MFTYPE MgraRestoreW(MIL_CONST_TEXTW_PTR FileName, MIL_ID SystemId, MIL_INT64 ControlFlag, MIL_ID* GraphListIdPtr); void MFTYPE MgraStreamW(MIL_TEXTW_PTR MemPtrOrFileName, MIL_ID SystemId, MIL_INT64 Operation, MIL_INT64 StreamType, MIL_DOUBLE Version, MIL_INT64 ControlFlag, MIL_ID* GraphListIdPtr, MIL_INT* SizeByteVarPtr); void MFTYPE MgraSaveA(MIL_CONST_TEXTA_PTR FileName, MIL_ID GraphListId, MIL_INT64 ControlFlag); MIL_ID MFTYPE MgraRestoreA(MIL_CONST_TEXTA_PTR FileName, MIL_ID SystemId, MIL_INT64 ControlFlag, MIL_ID* GraphListIdPtr); void MFTYPE MgraStreamA(MIL_TEXTA_PTR MemPtrOrFileName, MIL_ID SystemId, MIL_INT64 Operation, MIL_INT64 StreamType, MIL_DOUBLE Version, MIL_INT64 ControlFlag, MIL_ID* ObjectIdPtr, MIL_INT* GraphListIdPtr); #if M_MIL_UNICODE_API #define MgraSave MgraSaveW #define MgraRestore MgraRestoreW #define MgraStream MgraStreamW #else #define MgraSave MgraSaveA #define MgraRestore MgraRestoreA #define MgraStream MgraStreamA #endif #else void MFTYPE MgraSave(MIL_CONST_TEXT_PTR FileName, MIL_ID GraphListId, MIL_INT64 ControlFlag); MIL_ID MFTYPE MgraRestore(MIL_CONST_TEXT_PTR FileName, MIL_ID SystemId, MIL_INT64 ControlFlag, MIL_ID* GraphListIdPtr); void MFTYPE MgraStream(MIL_TEXT_PTR MemPtrOrFileName, MIL_ID SystemId, MIL_INT64 Operation, MIL_INT64 StreamType, MIL_DOUBLE Version, MIL_INT64 ControlFlag, MIL_ID* GraphListIdPtr, MIL_INT* SizeByteVarPtr); #endif /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* DRAWING : */ /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT void MFTYPE MgraDotDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XPos, MIL_DOUBLE YPos); void MFTYPE MgraDotDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XPos, MIL_DOUBLE YPos, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraDotInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XPos, MIL_INT64 YPos); void MFTYPE MgraDotInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XPos, MIL_INT64 YPos, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraDot (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XPos, MIL_DOUBLE YPos); void MFTYPE MgraDotEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XPos, MIL_DOUBLE YPos, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraDotDouble MgraDot #define MgraDotInt64 MgraDot #define MgraDotDoubleEx MgraDotEx #define MgraDotInt64Ex MgraDotEx #endif /* -------------------------------------------------------------- */ void MFTYPE MgraDotsDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_DOUBLE *PosXArrayPtr, const MIL_DOUBLE *PosYArrayPtr, MIL_INT64 ControlFlag); void MFTYPE MgraDotsInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_INT64 *PosXArrayPtr, const MIL_INT64 *PosYArrayPtr, MIL_INT64 ControlFlag); void MFTYPE MgraDotsInt32 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_INT32 *PosXArrayPtr, const MIL_INT32 *PosYArrayPtr, MIL_INT64 ControlFlag); void MFTYPE MgraDotsDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_DOUBLE *PosXArrayPtr, const MIL_DOUBLE *PosYArrayPtr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraDotsInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_INT64 *PosXArrayPtr, const MIL_INT64 *PosYArrayPtr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraDotsInt32Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_INT32 *PosXArrayPtr, const MIL_INT32 *PosYArrayPtr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); /* -------------------------------------------------------------- */ void MFTYPE MgraSymbolsDouble (MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, MIL_INT NumberOfSymbols, const MIL_DOUBLE *XPosArray, const MIL_DOUBLE *YPosArray, const MIL_DOUBLE *AngleArray, MIL_DOUBLE Dimension, MIL_INT64 SymbolType, MIL_INT64 ControlFlag); void MFTYPE MgraSymbolsDoubleEx (MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, MIL_INT NumberOfSymbols, const MIL_DOUBLE *XPosArray, const MIL_DOUBLE *YPosArray, const MIL_DOUBLE *AngleArray, MIL_DOUBLE Dimension, MIL_INT64 SymbolType, MIL_INT64 ControlFlag, MIL_INT64 AngleUnits, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT void MFTYPE MgraLineDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd); void MFTYPE MgraLineDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraLineInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_INT64 XEnd, MIL_INT64 YEnd); void MFTYPE MgraLineInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_INT64 XEnd, MIL_INT64 YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraLine (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd); void MFTYPE MgraLineEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraLineDouble MgraLine #define MgraLineInt64 MgraLine #define MgraLineDoubleEx MgraLineEx #define MgraLineInt64Ex MgraLineEx #endif /* -------------------------------------------------------------- */ void MFTYPE MgraLinesDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_DOUBLE *XPtr, const MIL_DOUBLE *YPtr, const MIL_DOUBLE *X2Ptr, const MIL_DOUBLE *Y2Ptr, MIL_INT64 ControlFlag); void MFTYPE MgraLinesInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_INT64 *XPtr, const MIL_INT64 *YPtr, const MIL_INT64 *X2Ptr, const MIL_INT64 *Y2Ptr, MIL_INT64 ControlFlag); void MFTYPE MgraLinesInt32 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_INT32 *XPtr, const MIL_INT32 *YPtr, const MIL_INT32 *X2Ptr, const MIL_INT32 *Y2Ptr, MIL_INT64 ControlFlag); void MFTYPE MgraLinesDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_DOUBLE *XPtr, const MIL_DOUBLE *YPtr, const MIL_DOUBLE *X2Ptr, const MIL_DOUBLE *Y2Ptr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraLinesInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_INT64 *XPtr, const MIL_INT64 *YPtr, const MIL_INT64 *X2Ptr, const MIL_INT64 *Y2Ptr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraLinesInt32Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_INT32 *XPtr, const MIL_INT32 *YPtr, const MIL_INT32 *X2Ptr, const MIL_INT32 *Y2Ptr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT void MFTYPE MgraArcDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle); void MFTYPE MgraArcDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraArcInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XCenter, MIL_INT64 YCenter, MIL_INT64 XRad, MIL_INT64 YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle); void MFTYPE MgraArcInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XCenter, MIL_INT64 YCenter, MIL_INT64 XRad, MIL_INT64 YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraArc (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle); void MFTYPE MgraArcEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraArcDouble MgraArc #define MgraArcInt64 MgraArc #define MgraArcDoubleEx MgraArcEx #define MgraArcInt64Ex MgraArcEx #endif /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT void MFTYPE MgraArcFillDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle); void MFTYPE MgraArcFillDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraArcFillInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XCenter, MIL_INT64 YCenter, MIL_INT64 XRad, MIL_INT64 YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle); void MFTYPE MgraArcFillInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XCenter, MIL_INT64 YCenter, MIL_INT64 XRad, MIL_INT64 YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraArcFill (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle); void MFTYPE MgraArcFillEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraArcFillDouble MgraArcFill #define MgraArcFillInt64 MgraArcFill #define MgraArcFillDoubleEx MgraArcFillEx #define MgraArcFillInt64Ex MgraArcFillEx #endif #if M_MIL_USE_64BIT void MFTYPE MgraArcAngleDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_DOUBLE XAxisAngle, MIL_INT64 ControlFlag); void MFTYPE MgraArcAngleDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_DOUBLE XAxisAngle, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraArcAngleInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XCenter, MIL_INT64 YCenter, MIL_INT64 XRad, MIL_INT64 YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_DOUBLE XAxisAngle, MIL_INT64 ControlFlag); void MFTYPE MgraArcAngleInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XCenter, MIL_INT64 YCenter, MIL_INT64 XRad, MIL_INT64 YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_DOUBLE XAxisAngle, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraArcAngle (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_DOUBLE XAxisAngle, MIL_INT64 ControlFlag); void MFTYPE MgraArcAngleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XCenter, MIL_DOUBLE YCenter, MIL_DOUBLE XRad, MIL_DOUBLE YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_DOUBLE XAxisAngle, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraArcAngleDouble MgraArcAngle #define MgraArcAngleInt64 MgraArcAngle #define MgraArcAngleDoubleEx MgraArcAngleEx #define MgraArcAngleInt64Ex MgraArcAngleEx #endif /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT void MFTYPE MgraRingSectorDouble (MIL_ID ContextGraId , MIL_ID DestImageBufIdOrGraListId, MIL_DOUBLE XCenter , MIL_DOUBLE YCenter , MIL_DOUBLE XInnerRadius , MIL_DOUBLE YInnerRadius , MIL_DOUBLE XOuterRadius , MIL_DOUBLE YOuterRadius , MIL_DOUBLE StartAngle , MIL_DOUBLE EndAngle , MIL_DOUBLE XAxisAngle , MIL_INT64 ControlFlag ); void MFTYPE MgraRingSectorDoubleEx (MIL_ID ContextGraId , MIL_ID DestImageBufIdOrGraListId, MIL_DOUBLE XCenter , MIL_DOUBLE YCenter , MIL_DOUBLE XInnerRadius , MIL_DOUBLE YInnerRadius , MIL_DOUBLE XOuterRadius , MIL_DOUBLE YOuterRadius , MIL_DOUBLE StartAngle , MIL_DOUBLE EndAngle , MIL_DOUBLE XAxisAngle , MIL_INT64 ControlFlag , MIL_ID NativeCalibration , MIL_INT64 NativeUnits , MIL_INT64 ConvertMode ); void MFTYPE MgraRingSectorInt64 (MIL_ID ContextGraId , MIL_ID DestImageBufIdOrGraListId, MIL_INT64 XCenter , MIL_INT64 YCenter , MIL_INT64 XInnerRadius , MIL_INT64 YInnerRadius , MIL_INT64 XOuterRadius , MIL_INT64 YOuterRadius , MIL_DOUBLE StartAngle , MIL_DOUBLE EndAngle , MIL_DOUBLE XAxisAngle , MIL_INT64 ControlFlag ); void MFTYPE MgraRingSectorInt64Ex (MIL_ID ContextGraId , MIL_ID DestImageBufIdOrGraListId, MIL_INT64 XCenter , MIL_INT64 YCenter , MIL_INT64 XInnerRadius , MIL_INT64 YInnerRadius , MIL_INT64 XOuterRadius , MIL_INT64 YOuterRadius , MIL_DOUBLE StartAngle , MIL_DOUBLE EndAngle , MIL_DOUBLE XAxisAngle , MIL_INT64 ControlFlag , MIL_ID NativeCalibration , MIL_INT64 NativeUnits , MIL_INT64 ConvertMode ); #else void MFTYPE MgraRingSector (MIL_ID ContextGraId , MIL_ID DestImageBufIdOrGraListId, MIL_DOUBLE XCenter , MIL_DOUBLE YCenter , MIL_DOUBLE XInnerRadius , MIL_DOUBLE YInnerRadius , MIL_DOUBLE XOuterRadius , MIL_DOUBLE YOuterRadius , MIL_DOUBLE StartAngle , MIL_DOUBLE EndAngle , MIL_DOUBLE XAxisAngle , MIL_INT64 ControlFlag ); void MFTYPE MgraRingSectorEx (MIL_ID ContextGraId , MIL_ID DestImageBufIdOrGraListId, MIL_DOUBLE XCenter , MIL_DOUBLE YCenter , MIL_DOUBLE XInnerRadius , MIL_DOUBLE YInnerRadius , MIL_DOUBLE XOuterRadius , MIL_DOUBLE YOuterRadius , MIL_DOUBLE StartAngle , MIL_DOUBLE EndAngle , MIL_DOUBLE XAxisAngle , MIL_INT64 ControlFlag , MIL_ID NativeCalibration , MIL_INT64 NativeUnits , MIL_INT64 ConvertMode ); #define MgraRingSectorDouble MgraRingSector #define MgraRingSectorInt64 MgraRingSector #define MgraRingSectorDoubleEx MgraRingSectorEx #define MgraRingSectorInt64Ex MgraRingSectorEx #endif /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT void MFTYPE MgraRectDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd); void MFTYPE MgraRectDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraRectInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_INT64 XEnd, MIL_INT64 YEnd); void MFTYPE MgraRectInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_INT64 XEnd, MIL_INT64 YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraRect (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd); void MFTYPE MgraRectEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraRectDouble MgraRect #define MgraRectInt64 MgraRect #define MgraRectDoubleEx MgraRectEx #define MgraRectInt64Ex MgraRectEx #endif /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT void MFTYPE MgraRectFillDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd); void MFTYPE MgraRectFillDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraRectFillInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_INT64 XEnd, MIL_INT64 YEnd); void MFTYPE MgraRectFillInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_INT64 XEnd, MIL_INT64 YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraRectFill (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd); void MFTYPE MgraRectFillEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraRectFillDouble MgraRectFill #define MgraRectFillInt64 MgraRectFill #define MgraRectFillDoubleEx MgraRectFillEx #define MgraRectFillInt64Ex MgraRectFillEx #endif #if M_MIL_USE_64BIT void MFTYPE MgraRectAngleDouble (MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, MIL_DOUBLE XPos, MIL_DOUBLE YPos, MIL_DOUBLE Width, MIL_DOUBLE Height, MIL_DOUBLE Angle, MIL_INT64 ControlFlag); void MFTYPE MgraRectAngleDoubleEx (MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, MIL_DOUBLE XPos, MIL_DOUBLE YPos, MIL_DOUBLE Width, MIL_DOUBLE Height, MIL_DOUBLE Angle, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraRectAngleInt64 (MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, MIL_INT64 XPos, MIL_INT64 YPos, MIL_INT64 Width, MIL_INT64 Height, MIL_DOUBLE Angle, MIL_INT64 ControlFlag); void MFTYPE MgraRectAngleInt64Ex (MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, MIL_INT64 XPos, MIL_INT64 YPos, MIL_INT64 Width, MIL_INT64 Height, MIL_DOUBLE Angle, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraRectAngle (MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, MIL_DOUBLE XPos, MIL_DOUBLE YPos, MIL_DOUBLE Width, MIL_DOUBLE Height, MIL_DOUBLE Angle, MIL_INT64 ControlFlag); void MFTYPE MgraRectAngleEx (MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, MIL_DOUBLE XPos, MIL_DOUBLE YPos, MIL_DOUBLE Width, MIL_DOUBLE Height, MIL_DOUBLE Angle, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraRectAngleDouble MgraRectAngle #define MgraRectAngleInt64 MgraRectAngle #define MgraRectAngleDoubleEx MgraRectAngleEx #define MgraRectAngleInt64Ex MgraRectAngleEx #endif /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT void MFTYPE MgraFillDouble (MIL_ID ContextGraId, MIL_ID DstImageBufId, MIL_DOUBLE XStart, MIL_DOUBLE YStart); void MFTYPE MgraFillDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraFillInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufId, MIL_INT64 XStart, MIL_INT64 YStart); void MFTYPE MgraFillInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #else void MFTYPE MgraFill (MIL_ID ContextGraId, MIL_ID DstImageBufId, MIL_DOUBLE XStart, MIL_DOUBLE YStart); void MFTYPE MgraFillEx (MIL_ID ContextGraId, MIL_ID DstImageBufId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraFillDouble MgraFill #define MgraFillInt64 MgraFill #define MgraFillDoubleEx MgraFillEx #define MgraFillInt64Ex MgraFillEx #endif /* -------------------------------------------------------------- */ void MFTYPE MgraClear (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId); /* -------------------------------------------------------------- */ #if M_MIL_USE_64BIT #if M_MIL_USE_UNICODE void MFTYPE MgraTextADouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXTA_PTR StringPtr); void MFTYPE MgraTextADoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXTA_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraTextAInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_CONST_TEXTA_PTR StringPtr); void MFTYPE MgraTextAInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_CONST_TEXTA_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraTextWDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXTW_PTR StringPtr); void MFTYPE MgraTextWDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXTW_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraTextWInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_CONST_TEXTW_PTR StringPtr); void MFTYPE MgraTextWInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_CONST_TEXTW_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); // MgraTextW and MgraTextA themselves will be defined at the end of the // file in C++ function (or #define in C) mapping to on of the 4 flavors // of MgraText. #if M_MIL_UNICODE_API #define MgraTextDouble MgraTextWDouble #define MgraText MgraTextW #define MgraTextEx MgraTextWEx #else #define MgraTextDouble MgraTextADouble #define MgraText MgraTextA #define MgraTextEx MgraTextAEx #endif #else // #if M_MIL_USE_UNICODE void MFTYPE MgraTextDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXT_PTR StringPtr); void MFTYPE MgraTextDoubleEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXT_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraTextInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_CONST_TEXT_PTR StringPtr); void MFTYPE MgraTextInt64Ex (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_CONST_TEXT_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraTextA MgraText #define MgraTextAEx MgraTextEx #endif // #if M_MIL_USE_UNICODE #else #else // #if M_MIL_USE_64BIT #if M_MIL_USE_UNICODE void MFTYPE MgraTextA (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXTA_PTR StringPtr); void MFTYPE MgraTextAEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXTA_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraTextW (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXTW_PTR StringPtr); void MFTYPE MgraTextWEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXTW_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraTextDouble MgraText #if M_MIL_UNICODE_API #define MgraText MgraTextW #define MgraTextEx MgraTextWEx #else #define MgraText MgraTextA #define MgraTextEx MgraTextAEx #endif #else // #if M_MIL_USE_UNICODE void MFTYPE MgraText (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXT_PTR StringPtr); void MFTYPE MgraTextEx (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_CONST_TEXT_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); #define MgraTextA MgraText #define MgraTextAEx MgraTextEx #endif // #if M_MIL_USE_UNICODE #else #endif // #if M_MIL_USE_64BIT #else void MFTYPE MgraImage (MIL_ID ContextGraId, MIL_ID ImageId, MIL_ID DestImageId, MIL_INT64 ControlFlag); #define M_NO_ERROR_TO_REPORT 0 #define M_ERROR_ALREADY_REPORTED 1 typedef MIL_INT (MFTYPE* MIL_GRA_CUSTOM_FUNCTION_PTR)(MIL_ID ContextGraId, MIL_ID DestImageId, MIL_INT64 DrawType, const void* DrawData, const MIL_INT SizeX, const MIL_INT SizeY, MIL_ID NativeCalibration, MIL_INT64 NativeConversion, MIL_INT64 ConvertMode, MIL_INT64 ControlFlag); void MFTYPE MgraCustom (MIL_ID ContextGraId, MIL_ID DestImageOrGraphicListId, MIL_INT64 DrawType, MIL_GRA_CUSTOM_FUNCTION_PTR CustomDrawPtr, const void* DrawData, MIL_INT DrawDataSizeByte, MIL_INT64 ControlFlag); void MFTYPE MgraCustomEx (MIL_ID ContextGraId, MIL_ID DestImageOrGraphicListId, MIL_INT64 DrawType, MIL_GRA_CUSTOM_FUNCTION_PTR CustomDrawPtr, const void* DrawData, MIL_INT DrawDataSizeByte, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode); void MFTYPE MgraInteractive (MIL_ID ContextGraId, MIL_ID ListGraId, MIL_INT64 GraphicType, MIL_INT64 InitFlag, MIL_INT64 CreationMode); void MFTYPE MgraVectorsDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumVectors, const MIL_DOUBLE *XArrayPtr, const MIL_DOUBLE *YArrayPtr, const MIL_DOUBLE *UArrayPtr, const MIL_DOUBLE *VArrayPtr, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag); void MFTYPE MgraVectorsFloat (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumVectors, const MIL_FLOAT *XArrayPtr, const MIL_FLOAT *YArrayPtr, const MIL_FLOAT *UArrayPtr, const MIL_FLOAT *VArrayPtr, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag); void MFTYPE MgraVectorsInt32 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumVectors, const MIL_INT32 *XArrayPtr, const MIL_INT32 *YArrayPtr, const MIL_INT32 *UArrayPtr, const MIL_INT32 *VArrayPtr, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag); void MFTYPE MgraVectorsInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumVectors, const MIL_INT64 *XArrayPtr, const MIL_INT64 *YArrayPtr, const MIL_INT64 *UArrayPtr, const MIL_INT64 *VArrayPtr, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag); void MFTYPE MgraVectorsGrid (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_ID UImageBufId, MIL_ID VImageBufId, MIL_INT Stride, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag); /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /***************************************************************************/ /* SEQUENCE MODULE: */ /***************************************************************************/ /* -------------------------------------------------------------- */ typedef MIL_HOOK_FUNCTION_PTR MIL_SEQ_HOOK_FUNCTION_PTR; #if !M_MIL_USE_LINUX || M_MIL_USE_64BIT|| M_COMPILING_MILDLL MIL_ID MFTYPE MseqAlloc(MIL_ID SystemId, MIL_INT64 SequenceType, MIL_INT64 Operation, MIL_UINT32 OutputFormat, MIL_INT64 InitFlag, MIL_ID* ContextSeqIdPtr); void MFTYPE MseqFree(MIL_ID ContextSeqId); void MFTYPE MseqDefine(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 SequenceType, const void *Param1Ptr, MIL_DOUBLE Param2); #if M_MIL_USE_64BIT // Prototypes for 64 bits OSs void MFTYPE MseqControlInt64( MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MseqControlDouble(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #else // Prototypes for 32 bits OSs #define MseqControlDouble MseqControl #define MseqControlInt64 MseqControl void MFTYPE MseqControl( MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #endif MIL_INT MFTYPE MseqInquire( MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, void* UserVarPtr); void MFTYPE MseqHookFunction( MIL_ID ContextSeqId, MIL_INT HookType, MIL_SEQ_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr); MIL_INT MFTYPE MseqGetHookInfo( MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr); void MFTYPE MseqFeed(MIL_ID ContextSeqId, MIL_ID ImageBufId, MIL_INT64 InitFlag); void MFTYPE MseqProcess(MIL_ID ContextSeqId, MIL_INT64 Command, MIL_INT64 CommandFlag); #endif /* -------------------------------------------------------------- */ /***************************************************************************/ /* DATA GENERATION MODULE: */ /***************************************************************************/ /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* DATA BUFFERS: */ /* -------------------------------------------------------------- */ void MFTYPE MgenLutRamp (MIL_ID LutBufId, MIL_INT StartIndex, MIL_DOUBLE StartValue, MIL_INT EndIndex, MIL_DOUBLE EndValue); void MFTYPE MgenLutFunction (MIL_ID LutBufId, MIL_INT Func, MIL_DOUBLE a, MIL_DOUBLE b, MIL_DOUBLE c, MIL_INT StartIndex, MIL_DOUBLE StartXValue, MIL_INT EndIndex); void MFTYPE MgenWarpParameter (MIL_ID SrcArrayBufId, MIL_ID DstXLutOrArrayBufId, MIL_ID DstYLutBufId, MIL_INT OperationMode, MIL_INT Transform, MIL_DOUBLE Val1, MIL_DOUBLE Val2); void MFTYPE MgenRamp(MIL_ID BufId, MIL_DOUBLE ScaleX, MIL_DOUBLE ScaleY, MIL_DOUBLE Offset, MIL_INT64 ControlFlag); /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /***************************************************************************/ /* DATA BUFFERS MODULE: */ /***************************************************************************/ /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* CREATION: */ /* -------------------------------------------------------------- */ MIL_ID MFTYPE MbufAlloc1d (MIL_ID SystemId, MIL_INT SizeX, MIL_INT Type, MIL_INT64 Attribute, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufAlloc2d (MIL_ID SystemId, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufAllocColor (MIL_ID SystemId, MIL_INT SizeBand, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufAllocContainer(MIL_ID SystemId, MIL_INT64 Attribute, MIL_INT64 ControlFlag, MIL_ID* ContainerBufIdPtr); MIL_ID MFTYPE MbufAllocDefault(MIL_ID SystemId, MIL_ID ReferenceDigId, MIL_INT64 Attribute, MIL_INT64 ControlFlag, MIL_INT64 ControlValue, MIL_ID* VarContainerOrBufIdPtr); MIL_ID MFTYPE MbufChild1d (MIL_ID ParentBufId, MIL_INT OffX, MIL_INT SizeX, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufChild2d (MIL_ID ParentBufId, MIL_INT OffX, MIL_INT OffY, MIL_INT SizeX, MIL_INT SizeY, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufChildColor (MIL_ID ParentBufId, MIL_INT Band, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufChildColor2d (MIL_ID ParentBufId, MIL_INT Band, MIL_INT OffX, MIL_INT OffY, MIL_INT SizeX, MIL_INT SizeY, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufChildColor2dClip (MIL_ID ParentBufId, MIL_INT Band, MIL_INT OffX, MIL_INT OffY, MIL_INT SizeX, MIL_INT SizeY, MIL_INT* StatusPtr, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufChildContainer(MIL_ID ParentContainerBufId, MIL_INT ComponentCriteriaSize, const MIL_INT64* ComponentCriteriaArrayPtr, MIL_INT64 ControlFlag, MIL_ID* ContainerBufIdPtr); void MFTYPE MbufChildMove (MIL_ID BufId, MIL_INT OffsetX, MIL_INT OffsetY, MIL_INT SizeX, MIL_INT SizeY, MIL_INT64 ControlFlag); MIL_ID MFTYPE MbufCreateColor (MIL_ID SystemId, MIL_INT SizeBand, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_INT64 ControlFlag, MIL_INT Pitch, void* *ArrayOfDataPtr, MIL_ID* BufIdPtr); MIL_ID MFTYPE MbufCreateComponent(MIL_ID ContainerBufId, MIL_INT SizeBand, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_INT64 ControlFlag, MIL_INT Pitch, void** ArrayOfDataPtr, MIL_INT64 ComponentType, MIL_ID* ComponentIdPtr); MIL_ID MFTYPE MbufClone(MIL_ID SrcContainerOrBufId, MIL_ID SysId, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_INT64 ControlFlag, MIL_ID* VarContainerOrBufIdPtr); #ifdef M_USE_MBUFBLIT /*void MFTYPE MbufBlit (MIL_ID SrcBufId, MIL_ID DstBufId, LPMBLTDESC pBltDesc);*/ #define MbufBlit(srcID,dstID,pBltDesc) MbufTransfer(srcID, \ dstID, \ 0, \ 0, \ M_DEFAULT, \ M_DEFAULT, \ M_DEFAULT, \ 0, \ 0, \ M_DEFAULT, \ M_DEFAULT, \ M_DEFAULT, \ M_DEFAULT, \ M_MTX0_METHOD, \ M_DEFAULT, \ pBltDesc) #endif MIL_ID MFTYPE MbufCreate2dFunc (MIL_ID SystemId, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_INT64 ControlFlag, MIL_INT Pitch, MIL_DATA_PTR DataPtr, MIL_ID* BufIdPtr); #define CAST_TO_64BIT_WITHOUT_SIGN_EXTENSION(X) ((MIL_ADDR)(X)) #define MbufCreate2d(SystemId, SizeX, SizeY, Type, Attribute, ControlFlag, Pitch, DataPtr, IdVarPtr) \ MbufCreate2dFunc(SystemId, SizeX, SizeY, Type, Attribute, ControlFlag, Pitch, CAST_TO_64BIT_WITHOUT_SIGN_EXTENSION(DataPtr), IdVarPtr) void MFTYPE MbufFree (MIL_ID BufOrContainerBufId); /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* HOOK: */ /* -------------------------------------------------------------- */ typedef MIL_HOOK_FUNCTION_PTR MBUFHOOKFCTPTR; typedef MIL_HOOK_FUNCTION_PTR MIL_BUF_HOOK_FUNCTION_PTR; void MFTYPE MbufHookFunction(MIL_ID ContainerOrBufId, MIL_INT HookType, MIL_BUF_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr); MIL_INT MFTYPE MbufGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr); /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* ACCESS: */ /* -------------------------------------------------------------- */ void MFTYPE MbufClearDouble(MIL_ID DstContainerOrBufId, MIL_DOUBLE Color); void MFTYPE MbufCopy (MIL_ID SrcBufId, MIL_ID DestBufId); void MFTYPE MbufCopyColor (MIL_ID SrcBufId, MIL_ID DestBufId, MIL_INT Band); void MFTYPE MbufCopyColor2d (MIL_ID SrcBufId, MIL_ID DstBufId, MIL_INT SrcBand, MIL_INT SrcOffX, MIL_INT SrcOffY, MIL_INT DstBand, MIL_INT DstOffX, MIL_INT DstOffY, MIL_INT SizeX, MIL_INT SizeY); void MFTYPE MbufCopyClip (MIL_ID SrcBufId, MIL_ID DestBufId, MIL_INT DestOffX, MIL_INT DestOffY); void MFTYPE MbufCopyMask (MIL_ID SrcBufId, MIL_ID DestBufId, MIL_INT64 MaskValue); void MFTYPE MbufCopyCondDouble (MIL_ID SrcBufId, MIL_ID DestBufId, MIL_ID CondBufId, MIL_INT64 Condition, MIL_DOUBLE CondValue); void MFTYPE MbufClearCondDouble (MIL_ID DstBufId, MIL_DOUBLE RedOrMonoVal, MIL_DOUBLE GreenVal, MIL_DOUBLE BlueVal, MIL_ID CondBufId, MIL_INT64 Condition, MIL_DOUBLE CondValue); void MFTYPE MbufGetLine (MIL_ID ImageBufId, MIL_INT StartX, MIL_INT StartY, MIL_INT EndX, MIL_INT EndY, MIL_INT64 Mode, MIL_INT* NbPixelsPtr, void* UserArrayPtr); void MFTYPE MbufGetListDouble (MIL_ID SrcBufId, MIL_INT NumPixels, const MIL_DOUBLE *PixXArrayPtr, const MIL_DOUBLE *PixYArrayPtr, MIL_INT64 InterpolationMode, void *UserArrayPtr); void MFTYPE MbufGetListInt32 (MIL_ID SrcBufId, MIL_INT NumPixels, const MIL_INT32 *PixXArrayPtr, const MIL_INT32 *PixYArrayPtr, MIL_INT64 InterpolationMode, void *UserArrayPtr); void MFTYPE MbufGetListInt64 (MIL_ID SrcBufId, MIL_INT NumPixels, const MIL_INT64 *PixXArrayPtr, const MIL_INT64 *PixYArrayPtr, MIL_INT64 InterpolationMode, void *UserArrayPtr); void MFTYPE MbufLink (MIL_ID SrcContainerOrBufId, MIL_ID TargetContainerOrBufId, MIL_INT64 LinkOperation, MIL_INT ControlFlag); void MFTYPE MbufPut1d (MIL_ID DestBufId, MIL_INT OffX, MIL_INT SizeX, const void* UserArrayPtr); void MFTYPE MbufPut2d (MIL_ID DestBufId, MIL_INT OffX, MIL_INT OffY, MIL_INT SizeX, MIL_INT SizeY, const void* UserArrayPtr); void MFTYPE MbufPutColor (MIL_ID DestBufId, MIL_INT64 DataFormat, MIL_INT Band, const void* UserArrayPtr); void MFTYPE MbufPutColor2d (MIL_ID DestBufId, MIL_INT64 DataFormat, MIL_INT Band, MIL_INT OffX, MIL_INT OffY, MIL_INT SizeX, MIL_INT SizeY, const void* UserArrayPtr); void MFTYPE MbufPutLine (MIL_ID ImageBufId, MIL_INT StartX, MIL_INT StartY, MIL_INT EndX, MIL_INT EndY, MIL_INT64 Mode, MIL_INT* NbPixelsPtr, const void* UserArrayPtr); void MFTYPE MbufPutListDouble (MIL_ID DestBufId, MIL_INT NumPixels, const MIL_DOUBLE *PixXArrayPtr, const MIL_DOUBLE *PixYArrayPtr, MIL_INT64 OverscanMode, const void *UserArrayPtr); void MFTYPE MbufPutListInt32 (MIL_ID DestBufId, MIL_INT NumPixels, const MIL_INT32 *PixXArrayPtr, const MIL_INT32 *PixYArrayPtr, MIL_INT64 OverscanMode, const void *UserArrayPtr); void MFTYPE MbufPutListInt64 (MIL_ID DestBufId, MIL_INT NumPixels, const MIL_INT64 *PixXArrayPtr, const MIL_INT64 *PixYArrayPtr, MIL_INT64 OverscanMode, const void *UserArrayPtr); void MFTYPE MbufPut (MIL_ID DestBufId, const void* UserArrayPtr); void MFTYPE MbufGet1d (MIL_ID SrcBufId, MIL_INT OffX, MIL_INT SizeX, void *UserArrayPtr); void MFTYPE MbufGet2d (MIL_ID SrcBufId, MIL_INT OffX, MIL_INT OffY, MIL_INT SizeX, MIL_INT SizeY, void *UserArrayPtr); void MFTYPE MbufGetColor (MIL_ID SrcBufId, MIL_INT64 DataFormat, MIL_INT Band, void* UserArrayPtr); void MFTYPE MbufGet(MIL_ID SrcBufId, void* UserArrayPtr); void MFTYPE MbufGetColor2dAsync(MIL_ID SrcBufId, MIL_INT64 DataFormat, MIL_INT Band, MIL_INT OffX, MIL_INT OffY, MIL_INT SizeX, MIL_INT SizeY, void *UserArrayPtr, MIL_INT64 UserArrayInSize, MIL_INT64 OperationFlag, MIL_BUF_HOOK_FUNCTION_PTR CallbackFct, void* CallbackDataPtr); void MFTYPE MbufGetAsync(MIL_ID SrcBufId, void* UserArrayPtr, MIL_INT64 UserArrayInSize, MIL_INT64 OperationFlag, MIL_BUF_HOOK_FUNCTION_PTR CallbackFct, void* CallbackDataPtr); void MFTYPE MbufGetColor2d (MIL_ID SrcBufId, MIL_INT64 DataFormat, MIL_INT Band, MIL_INT OffX, MIL_INT OffY, MIL_INT SizeX, MIL_INT SizeY, void *UserArrayPtr); MIL_INT MFTYPE MbufGetArc2 (MIL_ID ImageBufId, MIL_INT XCenter, MIL_INT YCenter, MIL_INT XRad, MIL_INT YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_INT64 Mode, MIL_INT* NbPixelsPtr, void* ValueArrayPtr, void* PosXArrayPtr, void* PosYArrayPtr); #ifndef __cplusplus // The default in C is the use of the old API until MIL 11. #ifndef M_USE_OLD_MBUFGETARC_API_IN_C #define M_USE_OLD_MBUFGETARC_API_IN_C 1 #endif #if M_USE_OLD_MBUFGETARC_API_IN_C #define MbufGetArc(ImageBufId, XCenter, YCenter, XRad, YRad, StartAngle, EndAngle, UserArrayPtr, NbPixelsPtr) \ MbufGetArc2(ImageBufId, XCenter, YCenter, XRad, YRad, StartAngle, EndAngle, M_DEFAULT, NbPixelsPtr, UserArrayPtr, M_NULL, M_NULL); #else #define MbufGetArc MbufGetArc2 #endif #endif MIL_INT MFTYPE MbufInquire (MIL_ID BufId, MIL_INT64 InquireType, void* UserVarPtr); MIL_INT MFTYPE MbufInquireContainer(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, void* UserVarPtr); MIL_ID MFTYPE MbufAllocComponent(MIL_ID ContainerBufId, MIL_INT SizeBand, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_INT64 ComponentType, MIL_ID* ComponentIdPtr); void MFTYPE MbufCopyComponent(MIL_ID SrcContainerOrBufId, MIL_ID DstContainerBufId, MIL_INT64 SrcComponent, MIL_INT64 Operation, MIL_INT64 ControlFlag); void MFTYPE MbufFreeComponent(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlFlag); #if M_MIL_USE_UNICODE MIL_ID MFTYPE MbufAllocColorNamedA(MIL_ID SystemId, MIL_INT SizeBand, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_CONST_TEXTA_PTR BufferNamePtr, MIL_ID *BufIdPtr); MIL_INT MFTYPE MbufDiskInquireA (MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, void* UserVarPtr); void MFTYPE MbufSaveA (MIL_CONST_TEXTA_PTR FileName, MIL_ID ContainerOrBufId); MIL_ID MFTYPE MbufRestoreA (MIL_CONST_TEXTA_PTR FileName, MIL_ID SystemId, MIL_ID* ContainerOrBufIdPtr); void MFTYPE MbufLoadA (MIL_CONST_TEXTA_PTR FileName, MIL_ID BufId); MIL_ID MFTYPE MbufImportA (MIL_CONST_TEXTA_PTR FileName, MIL_INT64 FileFormat, MIL_INT64 Operation, MIL_ID SysId, MIL_ID* ContainerOrBufIdPtr); void MFTYPE MbufExportA (MIL_CONST_TEXTA_PTR FileName, MIL_INT64 FileFormat, MIL_ID SrcContainerOrBufId); void MFTYPE MbufExportSequenceA (MIL_CONST_TEXTA_PTR FileName, MIL_INT64 FileFormat, const MIL_ID *BufArrayPtrOrSystemIdPtr, MIL_INT NumOfIds, MIL_DOUBLE FrameRate, MIL_INT64 ControlFlag); void MFTYPE MbufImportSequenceA (MIL_CONST_TEXTA_PTR FileName, MIL_INT64 FileFormat, MIL_INT64 Operation, MIL_ID SystemId, MIL_ID *BufArrayPtr, MIL_INT StartImage, MIL_INT NumberOfImages, MIL_INT64 ControlFlag); MIL_ID MFTYPE MbufAllocColorNamedW(MIL_ID SystemId, MIL_INT SizeBand, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_CONST_TEXTW_PTR BufferNamePtr, MIL_ID *BufIdPtr); MIL_INT MFTYPE MbufDiskInquireW (MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, void* UserVarPtr); void MFTYPE MbufSaveW (MIL_CONST_TEXTW_PTR FileName, MIL_ID ContainerOrBufId); MIL_ID MFTYPE MbufRestoreW (MIL_CONST_TEXTW_PTR FileName, MIL_ID SystemId, MIL_ID* ContainerOrBufIdPtr); void MFTYPE MbufLoadW (MIL_CONST_TEXTW_PTR FileName, MIL_ID BufId); MIL_ID MFTYPE MbufImportW (MIL_CONST_TEXTW_PTR FileName, MIL_INT64 FileFormat, MIL_INT64 Operation, MIL_ID SysId, MIL_ID* ContainerOrBufIdPtr); void MFTYPE MbufExportW (MIL_CONST_TEXTW_PTR FileName, MIL_INT64 FileFormat, MIL_ID SrcContainerOrBufId); void MFTYPE MbufExportSequenceW (MIL_CONST_TEXTW_PTR FileName, MIL_INT64 FileFormat, const MIL_ID *BufArrayPtrOrSystemIdPtr, MIL_INT NumOfIds, MIL_DOUBLE FrameRate, MIL_INT64 ControlFlag); void MFTYPE MbufImportSequenceW (MIL_CONST_TEXTW_PTR FileName, MIL_INT64 FileFormat, MIL_INT64 Operation, MIL_ID SystemId, MIL_ID *BufArrayPtr, MIL_INT StartImage, MIL_INT NumberOfImages, MIL_INT64 ControlFlag); void MFTYPE MbufControlFeatureW (MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MbufInquireFeatureW (MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); void MFTYPE MbufControlFeatureA (MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MbufInquireFeatureA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); void MFTYPE MbufStreamW(MIL_TEXTW_PTR MemPtrOrFileName, MIL_ID SystemId, MIL_INT64 Operation, MIL_INT64 StreamType, MIL_DOUBLE Version, MIL_INT64 ControlFlag, MIL_ID * ContainerOrBufIdPtr, MIL_INT * SizeByteVarPtr); void MFTYPE MbufStreamA(MIL_TEXTA_PTR MemPtrOrFileName, MIL_ID SystemId, MIL_INT64 Operation, MIL_INT64 StreamType, MIL_DOUBLE Version, MIL_INT64 ControlFlag, MIL_ID * ContainerOrBufIdPtr, MIL_INT * SizeByteVarPtr); #if M_MIL_UNICODE_API #define MbufAllocColorNamed MbufAllocColorNamedW #define MbufExportSequence MbufExportSequenceW #define MbufImportSequence MbufImportSequenceW #define MbufDiskInquire MbufDiskInquireW #define MbufSave MbufSaveW #define MbufStream MbufStreamW #define MbufRestore MbufRestoreW #define MbufLoad MbufLoadW #define MbufImport MbufImportW #define MbufExport MbufExportW #define MbufControlFeature MbufControlFeatureW #define MbufInquireFeature MbufInquireFeatureW #else #define MbufAllocColorNamed MbufAllocColorNamedA #define MbufExportSequence MbufExportSequenceA #define MbufImportSequence MbufImportSequenceA #define MbufDiskInquire MbufDiskInquireA #define MbufSave MbufSaveA #define MbufStream MbufStreamA #define MbufRestore MbufRestoreA #define MbufLoad MbufLoadA #define MbufImport MbufImportA #define MbufExport MbufExportA #define MbufControlFeature MbufControlFeatureA #define MbufInquireFeature MbufInquireFeatureA #endif #else MIL_ID MFTYPE MbufAllocColorNamed(MIL_ID SystemId, MIL_INT SizeBand, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Type, MIL_INT64 Attribute, MIL_CONST_TEXT_PTR BufferNamePtr, MIL_ID *BufIdPtr); MIL_INT MFTYPE MbufDiskInquire(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, void* UserVarPtr); void MFTYPE MbufSave (MIL_CONST_TEXT_PTR FileName, MIL_ID ContainerOrBufId); MIL_ID MFTYPE MbufRestore (MIL_CONST_TEXT_PTR FileName, MIL_ID SystemId, MIL_ID* BufIdPtr); void MFTYPE MbufLoad (MIL_CONST_TEXT_PTR FileName, MIL_ID BufId); MIL_ID MFTYPE MbufImport (MIL_CONST_TEXT_PTR FileName, MIL_INT64 FileFormat, MIL_INT64 Operation, MIL_ID SystemId, MIL_ID* BufIdPtr); void MFTYPE MbufExport (MIL_CONST_TEXT_PTR FileName, MIL_INT64 FileFormat, MIL_ID SrcContainerOrBufId); void MFTYPE MbufExportSequence (MIL_CONST_TEXT_PTR FileName, MIL_INT64 FileFormat, const MIL_ID *BufArrayPtrOrSystemIdPtr, MIL_INT NumOfIds, MIL_DOUBLE FrameRate, MIL_INT64 ControlFlag); void MFTYPE MbufImportSequence (MIL_CONST_TEXT_PTR FileName, MIL_INT64 FileFormat, MIL_INT64 Operation, MIL_ID SystemId, MIL_ID *BufArrayPtr, MIL_INT StartImage, MIL_INT NumberOfImages, MIL_INT64 ControlFlag); void MFTYPE MbufControlFeature(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MbufInquireFeature(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); void MFTYPE MbufStream(MIL_TEXT_PTR MemPtrOrFileName, MIL_ID SystemId, MIL_INT64 Operation, MIL_INT64 StreamType, MIL_DOUBLE Version, MIL_INT64 ControlFlag, MIL_ID * ContainerOrBufIdPtr, MIL_INT * SizeByteVarPtr); #endif void MFTYPE MbufControlAreaDouble(MIL_ID BufId, MIL_INT OffsetX, MIL_INT OffsetY, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Band, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #define MbufModified2d(BufId, OffsetX, OffsetY, SizeX, SizeY) \ MbufControlAreaDouble(BufId, OffsetX, OffsetY, SizeX, SizeY, M_ALL_BAND, M_MODIFIED, M_DEFAULT) void MFTYPE MbufCompression (MIL_ID SrcImageId, MIL_ID DestImageId, MIL_INT ControlValue, MIL_INT64 OperationFlag); void MFTYPE MbufBayer (MIL_ID SrcImageBufId, MIL_ID DestImageBufId, MIL_ID CoefOrExpId, MIL_INT64 ControlFlag); void MFTYPE MbufTransfer (MIL_ID SrcBufId, MIL_ID DestBufId, MIL_INT SrcOffX, MIL_INT SrcOffY, MIL_INT SrcSizeX, MIL_INT SrcSizeY, MIL_INT SrcBand, MIL_INT DestOffX, MIL_INT DestOffY, MIL_INT DestSizeX, MIL_INT DestSizeY, MIL_INT DestBand, MIL_INT64 TransferFunction, MIL_INT64 TransferType, MIL_INT64 OperationFlag, void *ExtraParameterPtr); void MFTYPE MbufTransferDouble (MIL_ID SrcBufId, MIL_ID DestBufId, MIL_DOUBLE SrcOffX, MIL_DOUBLE SrcOffY, MIL_DOUBLE SrcSizeX, MIL_DOUBLE SrcSizeY, MIL_INT SrcBand, MIL_INT DestOffX, MIL_INT DestOffY, MIL_INT DestSizeX, MIL_INT DestSizeY, MIL_INT DestBand, MIL_INT64 TransferFunction, MIL_INT64 TransferType, MIL_INT64 OperationFlag, void *ExtraParameterPtr); /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* CONTROL: */ /* -------------------------------------------------------------- */ void MFTYPE MbufControlNeighborhoodMIL_INT(MIL_ID BufId, MIL_INT64 OperationControlType, MIL_INT OperationValue); #define MbufControlNeighborhood MbufControlNeighborhoodMIL_INT MIL_DEPRECATED(MbufControlNeighborhood, 1095) // Use MbufControl instead. void MFTYPE MbufControlInt64(MIL_ID BufId, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MbufControlDouble(MIL_ID BufId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #if !M_MIL_USE_64BIT void MFTYPE MbufControl(MIL_ID BufId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #endif void MFTYPE MbufControlContainerInt64(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MbufControlContainerDouble(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); void MFTYPE MbufSetRegionDouble (MIL_ID ImageBufId, MIL_ID ImageOrGraphicListId, MIL_INT64 Label, MIL_INT64 Operation, MIL_DOUBLE Param); void MFTYPE MbufSetDynamicParameters(MIL_ID BufferId, MIL_INT NbBand, MIL_INT SizeX, MIL_INT SizeY, MIL_INT64 Type, MIL_INT64 Attribute, MIL_INT64 ControlFlag, MIL_INT64 ControlValue, MIL_INT Pitch, MIL_INT NbBandOffset, MIL_INT *BandOffset); /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /***************************************************************************/ /* I/O DEVICES: */ /***************************************************************************/ /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* CREATION: */ /* -------------------------------------------------------------- */ typedef MIL_HOOK_FUNCTION_PTR MDIGHOOKFCTPTR; typedef MIL_HOOK_FUNCTION_PTR MIL_DIG_HOOK_FUNCTION_PTR; void MFTYPE MdigHookFunction (MIL_ID DigId, MIL_INT HookType, MIL_DIG_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr); #if M_MIL_USE_UNICODE MIL_ID MFTYPE MdigAllocA (MIL_ID SystemId, MIL_INT DigNum, MIL_CONST_TEXTA_PTR DataFormat, MIL_INT64 InitFlag, MIL_ID* DigIdPtr); MIL_ID MFTYPE MdigAllocW (MIL_ID SystemId, MIL_INT DigNum, MIL_CONST_TEXTW_PTR DataFormat, MIL_INT64 InitFlag, MIL_ID* DigIdPtr); #if M_MIL_UNICODE_API #define MdigAlloc MdigAllocW #else #define MdigAlloc MdigAllocA #endif #else MIL_ID MFTYPE MdigAlloc (MIL_ID SystemId, MIL_INT DigNum, MIL_CONST_TEXT_PTR DataFormat, MIL_INT64 InitFlag, MIL_ID* DigIdPtr); #endif void MFTYPE MdigFree (MIL_ID DigId); /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* CONTROL: */ /* -------------------------------------------------------------- */ #if !M_HIDE_DEPRECATED_FROM_INTELLISENSE void MFTYPE MdigChannel (MIL_ID DigId, MIL_INT64 Channel); MIL_DEPRECATED(MdigChannel, 1000) void MFTYPE MdigReference (MIL_ID DigId, MIL_INT64 ReferenceType, MIL_DOUBLE ReferenceLevel); MIL_DEPRECATED(MdigReference, 1000) void MFTYPE MdigLut (MIL_ID DigId, MIL_ID LutBufId); MIL_DEPRECATED(MdigLut, 1000) #endif void MFTYPE MdigHalt (MIL_ID DigId); MIL_INT MFTYPE MdigInquire (MIL_ID DigId, MIL_INT64 InquireType, void* UserVarPtr); void MFTYPE MdigControlInt64(MIL_ID DigId, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MdigControlDouble(MIL_ID DigId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #if !M_MIL_USE_64BIT // Prototypes for 32 bits OSs void MFTYPE MdigControl (MIL_ID DigId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #endif void MFTYPE MdigGrabWait (MIL_ID DigId, MIL_INT64 ControlFlag); /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */ /* ACCESS: */ /* -------------------------------------------------------------- */ void MFTYPE MdigGrab (MIL_ID DigId, MIL_ID DstContainerOrImageBufId); void MFTYPE MdigGrabContinuous (MIL_ID DigId, MIL_ID DestContainerOrImageBufId); void MFTYPE MdigProcess (MIL_ID DigId, const MIL_ID* DestContainerOrImageBufArrayPtr, MIL_INT ImageCount, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_DIG_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr); MIL_INT MFTYPE MdigGetHookInfo (MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr); typedef MIL_INT (MFTYPE *MIL_FOCUS_HOOK_FUNCTION_PTR)(MIL_INT HookType, MIL_INT position, void* UserDataPtr); typedef MIL_FOCUS_HOOK_FUNCTION_PTR MFOCUSHOOKFCTPTR; void MFTYPE MdigFocus (MIL_ID DigId, MIL_ID DestImageBufId, MIL_ID FocusImageRegionBufId, MIL_FOCUS_HOOK_FUNCTION_PTR FocusHookPtr, void* UserDataPtr, MIL_INT MinPosition, MIL_INT StartPosition, MIL_INT MaxPosition, MIL_INT MaxPositionVariation, MIL_INT64 Operation, MIL_INT *ResultPtr); #if M_MIL_USE_UNICODE void MFTYPE MdigControlFeatureW (MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MdigInquireFeatureW (MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); void MFTYPE MdigControlFeatureA (MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MdigInquireFeatureA (MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); #if M_MIL_UNICODE_API #define MdigControlFeature MdigControlFeatureW #define MdigInquireFeature MdigInquireFeatureW #else #define MdigControlFeature MdigControlFeatureA #define MdigInquireFeature MdigInquireFeatureA #endif #else void MFTYPE MdigControlFeature (MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MdigInquireFeature (MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); #endif /* -------------------------------------------------------------- */ /***************************************************************************/ /* SYSTEM MODULE: */ /***************************************************************************/ typedef MIL_HOOK_FUNCTION_PTR MSYSHOOKFCTPTR; typedef MIL_HOOK_FUNCTION_PTR MIL_SYS_HOOK_FUNCTION_PTR; void MFTYPE MsysHookFunction (MIL_ID SysId, MIL_INT HookType, MIL_SYS_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr); MIL_INT MFTYPE MsysGetHookInfo (MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, void* UserVarPtr); #if M_MIL_USE_UNICODE MIL_ID MFTYPE MsysAllocW (MIL_ID ContextAppId, MIL_CONST_TEXTW_PTR SystemDescriptor, MIL_INT SystemNum, MIL_INT64 InitFlag, MIL_ID* SysIdPtr); MIL_ID MFTYPE MsysAllocA (MIL_ID ContextAppId, MIL_CONST_TEXTA_PTR SystemDescriptor, MIL_INT SystemNum, MIL_INT64 InitFlag, MIL_ID* SysIdPtr); void MFTYPE MsysControlFeatureW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MsysInquireFeatureW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); void MFTYPE MsysControlFeatureA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MsysInquireFeatureA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); #if M_MIL_UNICODE_API #define MsysAlloc MsysAllocW #define MsysControlFeature MsysControlFeatureW #define MsysInquireFeature MsysInquireFeatureW #else #define MsysAlloc MsysAllocA #define MsysControlFeature MsysControlFeatureA #define MsysInquireFeature MsysInquireFeatureA #endif #else MIL_ID MFTYPE MsysAlloc (MIL_ID ContextAppId, MIL_CONST_TEXT_PTR SystemDescriptor, MIL_INT SystemNum, MIL_INT64 InitFlag, MIL_ID* SysIdPtr); void MFTYPE MsysControlFeature(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void* UserVarPtr); void MFTYPE MsysInquireFeature(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void* UserVarPtr); #endif void MFTYPE MsysFree (MIL_ID SysId); MIL_INT MFTYPE MsysInquire (MIL_ID SysId, MIL_INT64 InquireType, void* UserVarPtr); void MFTYPE MsysControlDouble(MIL_ID SysId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); void MFTYPE MsysControlInt64(MIL_ID SysId, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MsysConfigAccess (MIL_ID SystemId, MIL_INT VendorId, MIL_INT DeviceId, MIL_INT DeviceNum, MIL_INT64 OperationFlag, MIL_INT64 OperationType, MIL_INT Offset, MIL_INT Size, void* UserArrayPtr); MIL_ID MFTYPE MsysIoAlloc(MIL_ID SysId, MIL_INT64 IoCmdListNum, MIL_INT64 Type, MIL_INT64 CounterSrc, MIL_ID* IoCmdListSysIdPtr); void MFTYPE MsysIoFree(MIL_ID IoCmdListSysId); MIL_INT MFTYPE MsysIoInquire(MIL_ID IoCmdListSysId, MIL_INT64 InquireType, void* UserVarPtr); #if M_MIL_USE_64BIT // Prototypes for 64 bits OSs void MFTYPE MsysIoControlInt64(MIL_ID IoCmdListSysId, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MsysIoControlDouble(MIL_ID IoCmdListSysId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #else // Prototypes for 32 bits OSs #define MsysIoControlDouble MsysIoControl #define MsysIoControlInt64 MsysIoControl void MFTYPE MsysIoControl(MIL_ID IoCmdListSysId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #endif MIL_INT MFTYPE MsysIoCommandRegister(MIL_ID IoCmdListSysId, MIL_INT64 Operation, MIL_INT64 Reference, MIL_DOUBLE DelayFromReference, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, void* CommandStatusPtr); /***************************************************************************/ /* APPLICATION MODULE: */ /***************************************************************************/ typedef MIL_HOOK_FUNCTION_PTR MAPPHOOKFCTPTR; typedef MIL_HOOK_FUNCTION_PTR MIL_APP_HOOK_FUNCTION_PTR; #if M_MIL_USE_UNICODE MIL_ID MFTYPE MappAllocA(MIL_CONST_TEXTA_PTR ServerDescription, MIL_INT64 InitFlag, MIL_ID* ContextAppIdPtr); MIL_ID MFTYPE MappAllocW (MIL_CONST_TEXTW_PTR ServerDescription, MIL_INT64 InitFlag, MIL_ID* ContextAppIdPtr); #if !defined(M_COMPILING_MILDLL) || !M_COMPILING_MILDLL #if M_MIL_UNICODE_API #define MappAlloc MappAllocW #else #define MappAlloc MappAllocA #endif #endif #else MIL_ID MFTYPE MappAlloc (MIL_CONST_TEXT_PTR ServerDescription, MIL_INT64 InitFlag, MIL_ID* ContextAppIdPtr); #endif void MFTYPE MappFree (MIL_ID ContextAppId); void MFTYPE MappControl (MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT ControlValue); MIL_INT MFTYPE MappGetError (MIL_ID ContextAppId, MIL_INT64 ErrorType, void* ErrorPtr); MIL_INT MFTYPE MappGetHookInfo (MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr); void MFTYPE MappHookFunction (MIL_ID ContextAppId, MIL_INT HookType, MIL_APP_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr); MIL_INT MFTYPE MappInquire (MIL_ID ContextAppId, MIL_INT64 InquireType, void* UserVarPtr); MIL_DOUBLE MFTYPE MappTimer (MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_DOUBLE *TimePtr); void MFTYPE MappTimerVoid (MIL_ID ContextAppId, MIL_INT64 Mode, MIL_DOUBLE *Time); MIL_INT MFTYPE MappInquireMp (MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void* UserVarPtr); void MFTYPE MappControlMp (MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void* ValuePtr); #if M_MIL_USE_UNICODE void MFTYPE MappOpenConnectionA (MIL_CONST_TEXTA_PTR ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr); void MFTYPE MappOpenConnectionW (MIL_CONST_TEXTW_PTR ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr); void MFTYPE MappFileOperationW (MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTW_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void *OperationDataPtr); void MFTYPE MappFileOperationA (MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTA_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void *OperationDataPtr); void MFTYPE MappTraceA (MIL_ID ContextAppId, MIL_INT64 TraceType, MIL_INT64 TraceTag, MIL_INT64 TraceValue, MIL_CONST_TEXTA_PTR TraceString); void MFTYPE MappTraceW (MIL_ID ContextAppId, MIL_INT64 TraceType, MIL_INT64 TraceTag, MIL_INT64 TraceValue, MIL_CONST_TEXTW_PTR TraceString); #if M_MIL_UNICODE_API #define MappOpenConnection MappOpenConnectionW #define MappTrace MappTraceW #if M_MIL_USE_SAFE_TYPE #define MappFileOperation MappFileOperationSafeTypeW #else #define MappFileOperation MappFileOperationW #endif #else #define MappOpenConnection MappOpenConnectionA #define MappTrace MappTraceA #if M_MIL_USE_SAFE_TYPE #define MappFileOperation MappFileOperationSafeTypeA #else #define MappFileOperation MappFileOperationA #endif #endif #else void MFTYPE MappOpenConnection (MIL_CONST_TEXT_PTR ConnectionDescriptor, MIL_INT64 InitFlag, MIL_INT64 ControlFlag, MIL_ID* RemoteContextAppIdPtr); void MFTYPE MappFileOperation (MIL_ID Comp1ContextAppId, MIL_CONST_TEXT_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXT_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void *OperationDataPtr); void MFTYPE MappTrace (MIL_ID ContextAppId, MIL_INT64 TraceType, MIL_INT64 TraceTag, MIL_INT64 TraceValue, MIL_CONST_TEXT_PTR TraceString); #endif void MFTYPE MappCloseConnection (MIL_ID RemoteContextAppId); MIL_INT MFTYPE MappInquireConnection (MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, void* UserVarPtr); #if !M_HIDE_DEPRECATED_FROM_INTELLISENSE MIL_INT MFTYPE MappInquireObject (MIL_ID ContextAppId, MIL_ID ObjectId, MIL_INT64 InquireType, void* UserVarPtr); #if M_MIL_USE_64BIT // Prototypes for 64 bits OSs void MFTYPE MappControlObjectDouble (MIL_ID ContextAppId, MIL_ID ObjectId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); void MFTYPE MappControlObjectInt64 (MIL_ID ContextAppId, MIL_ID ObjectId, MIL_INT64 ControlType, MIL_INT64 ControlValue); #else // Prototypes for 32 bits OSs #define MappControlObjectDouble MappControlObject #define MappControlObjectInt64 MappControlObject void MFTYPE MappControlObject (MIL_ID ContextAppId, MIL_ID ObjectId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #endif #endif /***************************************************************************/ /* OBJ MODULE: */ /***************************************************************************/ MIL_ID MFTYPE MobjAlloc(MIL_ID SysId, MIL_INT64 ObjectType, MIL_INT64 InitFlag, MIL_ID *ObjIdPtr); void MFTYPE MobjFree(MIL_ID ObjId); MIL_INT MFTYPE MobjInquire(MIL_ID ObjectId, MIL_INT64 InquireType, void* UserVarPtr); MIL_INT64 MFTYPE MobjMessageRead(MIL_ID MessageId, void* MessagePtr, MIL_INT64 MessageInSize, MIL_INT64 *MessageOutSizePtr, MIL_INT64 *MessageTagPtr, MIL_INT64 *StatusPtr, MIL_INT64 OperationFlag); void MFTYPE MobjMessageWrite(MIL_ID MessageId, const void* MessagePtr, MIL_INT64 MessageSize, MIL_INT64 MessageTag, MIL_INT64 OperationFlag); MIL_INT MFTYPE MobjGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr); typedef MIL_HOOK_FUNCTION_PTR MIL_OBJ_HOOK_FUNCTION_PTR; void MFTYPE MobjMessageReadAsync(MIL_ID MessageId, void* MessagePtr, MIL_INT64 MessageInSize, MIL_INT64 OperationFlag, MIL_OBJ_HOOK_FUNCTION_PTR HookFunc, void* UserData); void MFTYPE MobjHookFunction(MIL_ID ObjectId, MIL_INT HookType, MIL_OBJ_HOOK_FUNCTION_PTR HookHandlerPtr, void * UserDataPtr); void MFTYPE MobjControlInt64(MIL_ID ObjectId, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MobjControlDouble(MIL_ID ObjectId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #if !M_MIL_USE_64BIT // Prototypes for 32 bits OSs void MFTYPE MobjControl(MIL_ID ObjectId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #endif /***************************************************************************/ /* THREAD FUNCTIONS: */ /***************************************************************************/ typedef MIL_UINT32 (MFTYPE *MIL_THREAD_FUNCTION_PTR)(void* UserDataPtr); typedef MIL_THREAD_FUNCTION_PTR MTHREADFCTPTR; MIL_ID MFTYPE MthrAlloc (MIL_ID SystemId, MIL_INT64 ObjectType, MIL_INT64 ControlFlag, MIL_THREAD_FUNCTION_PTR ThreadFctPtr, void *UserDataPtr, MIL_ID *ThreadEventOrMutexIdPtr); #if M_MIL_USE_64BIT // Prototypes for 64 bits OSs void MFTYPE MthrControlInt64 (MIL_ID ThreadEventOrMutexId, MIL_INT64 ControlType, MIL_INT64 ControlValue); void MFTYPE MthrControlDouble (MIL_ID ThreadEventOrMutexId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #else // Prototypes for 32 bits OSs #define MthrControlDouble MthrControl #define MthrControlInt64 MthrControl void MFTYPE MthrControl (MIL_ID ThreadEventOrMutexId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue); #endif void MFTYPE MthrFree (MIL_ID ThreadEventorMutexId); MIL_INT MFTYPE MthrInquire (MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, void *UserVarPtr); MIL_INT MFTYPE MthrWait (MIL_ID ThreadOrEventId, MIL_INT64 WaitOption, MIL_INT *StatePtr); MIL_INT MFTYPE MthrWaitMultiple (const MIL_ID *EventArrayIdPtr, MIL_INT EventArraySize, MIL_INT64 WaitOption, MIL_INT *StatePtr); MIL_INT MFTYPE MthrInquireMp (MIL_ID ThrId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void* ResultPtr); void MFTYPE MthrControlMp (MIL_ID ThrId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void* ValuePtr); /***************************************************************************/ /* OS MODULE: */ /***************************************************************************/ // Main declaration #if M_MIL_UNICODE_API && !M_MIL_USE_LINUX #define MosMain wmain #define MosWinMain wWinMain #else #define MosMain main #define MosWinMain WinMain #endif /**************************************/ /* CRITICAL SECTION RELATED DEFINES */ /**************************************/ typedef void* MOS_CRITICAL_SECTION; void MFTYPE MosInitializeCriticalSection(MOS_CRITICAL_SECTION* lpCriticalSection); void MFTYPE MosDeleteCriticalSection(MOS_CRITICAL_SECTION* lpCriticalSection); MIL_INT MFTYPE MosTryEnterCriticalSection(MOS_CRITICAL_SECTION* lpCriticalSection); void MFTYPE MosEnterCriticalSection(MOS_CRITICAL_SECTION* lpCriticalSection); void MFTYPE MosLeaveCriticalSection(MOS_CRITICAL_SECTION* lpCriticalSection); MIL_INT MFTYPE MosGetch(); MIL_INT MFTYPE MosKbhit(); MIL_INT MFTYPE MosGetchar(); MIL_INT MFTYPE MosAbs(MIL_INT val); MIL_INT MFTYPE MosMkdir(MIL_CONST_TEXT_PTR dir); void MFTYPE MosSleep(MIL_INT ms); MIL_INT64 MFTYPE MosCreateUuid(MIL_UUID* MilUuidPtr, MIL_INT64 ControlFlag); #if !defined(M_LINUX_KERNEL) || !M_LINUX_KERNEL MIL_INT MosFclose(MIL_FILE File); void MFTYPE MosFflush(MIL_FILE stream); #endif // String manipulation #if M_MIL_USE_UNICODE MIL_FILE MosFopenA(MIL_CONST_TEXTA_PTR FileName, MIL_CONST_TEXTA_PTR Format); MIL_INT MFTYPE MosStrlenA(const char* str); char* MFTYPE MosStruprA(char* str); char* MFTYPE MosStrlwrA(char* str); MIL_INT MFTYPE MosStrcmpA(const char* string1, const char* string2); char* MFTYPE MosStrcatA(char* dest, MIL_INT destsize, const char* source); MIL_INT MosPrintfA(const char* format, ...); MIL_INT MosFprintfA(MIL_FILE File, const char* format, ...); MIL_INT MosVprintfA(const char* format, va_list args); MIL_INT MosVsprintfA(char* buf, MIL_INT bufsize, const char* format, va_list args); MIL_INT MosSprintfA(char* buf, MIL_INT bufsize, const char* format, ...); char* MFTYPE MosStrcpyA(char* dest, MIL_INT destsize, const char* source); #endif #if M_MIL_USE_LINUX #define MosFopenA MosFopen #define MosStrlenA MosStrlen #define MosStruprA MosStrupr #define MosStrlwrA MosStrlwr #define MosStrcmpA MosStrcmp #define MosStrcatA MosStrcat #define MosPrintfA MosPrintf #define MosVprintfA MosVprintf #define MosFprintfA MosFprintf #define MosSprintfA MosSprintf #define MosStrcpyA MosStrcpy #define MosStrToUuidW MosStrToUuid #define MosUuidToStrW MosUuidToStr #endif #if M_MIL_USE_UNICODE MIL_FILE MosFopenW(MIL_CONST_TEXTW_PTR FileName, MIL_CONST_TEXTW_PTR Format); MIL_INT MFTYPE MosStrlenW(const wchar_t* str); wchar_t* MFTYPE MosStruprW(wchar_t* str); wchar_t* MFTYPE MosStrlwrW(wchar_t* str); MIL_INT MFTYPE MosStrcmpW(const wchar_t* string1, const wchar_t* string2); wchar_t* MFTYPE MosStrcatW(wchar_t* dest, MIL_INT destsize, const wchar_t* source); MIL_INT MosPrintfW(const wchar_t* format, ...); MIL_INT MosFprintfW(MIL_FILE File, const wchar_t* format, ...); MIL_INT MosVprintfW(const wchar_t* format, va_list args); MIL_INT MosVsprintfW(wchar_t* buf, MIL_INT bufsize, const wchar_t* format, va_list args); MIL_INT MosSprintfW(wchar_t* buf, MIL_INT bufsize, const wchar_t* format, ...); wchar_t* MFTYPE MosStrcpyW(wchar_t* dest, MIL_INT destsize, const wchar_t* source); #if M_MIL_UNICODE_API #define MosFopen MosFopenW #define MosStrlen MosStrlenW #define MosStrupr MosStruprW #define MosStrlwr MosStrlwrW #define MosStrcmp MosStrcmpW #define MosStrcat MosStrcatW #define MosPrintf MosPrintfW #define MosVprintf MosVprintfW #define MosFprintf MosFprintfW #define MosVsprintf MosVsprintfW #define MosSprintf MosSprintfW #define MosStrcpy MosStrcpyW #define MosStrToUuid MosStrToUuidW #define MosUuidToStr MosUuidToStrW #else #define MosFopen MosFopenA #define MosStrlen MosStrlenA #define MosStrupr MosStruprA #define MosStrlwr MosStrlwrA #define MosStrcmp MosStrcmpA #define MosStrcat MosStrcatA #define MosPrintf MosPrintfA #define MosFprintf MosFprintfA #define MosVprintf MosVprintfA #define MosVsprintf MosVsprintfA #define MosSprintf MosSprintfA #define MosStrcpy MosStrcpyA #define MosStrToUuid MosStrToUuidA #define MosUuidToStr MosUuidToStrA #endif #else MIL_INT MFTYPE MosStrlen(MIL_CONST_TEXT_PTR str); MIL_TEXT_PTR MFTYPE MosStrupr(MIL_TEXT_PTR str); MIL_TEXT_PTR MFTYPE MosStrlwr(MIL_TEXT_PTR str); MIL_INT MFTYPE MosStrcmp(MIL_CONST_TEXT_PTR string1, MIL_CONST_TEXT_PTR string2); MIL_TEXT_PTR MFTYPE MosStrcat(MIL_TEXT_PTR dest, MIL_INT destsize, MIL_CONST_TEXT_PTR source); MIL_TEXT_PTR MFTYPE MosStrcpy(MIL_TEXT_PTR dest, MIL_INT destsize, MIL_CONST_TEXT_PTR source); MIL_INT MosSprintf(MIL_TEXT_PTR buf, MIL_INT bufsize, MIL_CONST_TEXT_PTR format, ...); MIL_INT MosPrintf(MIL_CONST_TEXT_PTR format, ...); MIL_INT MosVprintf(MIL_CONST_TEXT_PTR format, va_list args); MIL_INT MosVsprintf(MIL_TEXT_PTR buf, MIL_INT bufsize, MIL_CONST_TEXT_PTR format, va_list args); #if !M_LINUX_KERNEL MIL_INT MosFprintf(MIL_FILE File, const char* format, ...); MIL_FILE MosFopen(MIL_CONST_TEXT_PTR FileName, MIL_CONST_TEXT_PTR Format); #endif #endif MIL_INT64 MFTYPE MosStrToUuidW(MIL_CONST_TEXT_PTR InputUuidTextPtr, MIL_INT64 ControlFlag, MIL_UUID* OutputUuidPtr); MIL_INT64 MFTYPE MosUuidToStrW(const MIL_UUID Uuid, MIL_INT64 ControlFlag, MIL_TEXT_PTR OutputTextPtr); #if M_MIL_USE_UNICODE MIL_INT64 MFTYPE MosStrToUuidA(MIL_CONST_TEXTA_PTR InputUuidTextPtr, MIL_INT64 ControlFlag, MIL_UUID* OutputUuidPtr); MIL_INT64 MFTYPE MosUuidToStrA(const MIL_UUID Uuid, MIL_INT64 ControlFlag, MIL_TEXTA_PTR OutputTextPtr); #endif /***************************************************************************/ /* SCREEN FUNCTIONS: */ /***************************************************************************/ #if defined(M_MIL_USE_OS_SCREEN_FUNCTIONS) && M_MIL_USE_OS_SCREEN_FUNCTIONS #if M_MIL_USE_LINUX #include #define MosPrintf printw #define MosScreenRefresh refresh #define MosScreenScroll(A) scrollok(stdscr, A) #define MosScreenInit() \ do { \ initscr(); \ move(0,0); \ scrollok(stdscr, TRUE); \ refresh(); \ } while(0) #define MosScreenRelease endwin #define MosScreenClear() \ do { \ scrollok(stdscr, TRUE); \ clear(); \ refresh(); \ } while(0) #define MosScreenSetPosition(X,Y) \ do { \ move(Y,X); \ refresh(); \ scrollok(stdscr, FALSE); \ } while(0) #define MosScreenResize(COLS, LINES) printf("\033[8;%d;%dt\n", COLS, LINES) #else #include #define MosScreenResize(COLS, LINES) #define MosScreenRefresh() #define MosScreenScroll(A) #define MosScreenInit() #define MosScreenRelease() #define MosScreenClear() \ do { \ std::system("cls"); \ } while(0) #define MosScreenSetPosition(A, B) \ do { \ COORD Coord; \ Coord.X = SHORT(A); \ Coord.Y = SHORT(B); \ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Coord); \ } while(0) #endif #endif /***************************************************************************/ /* MISC FUNCTIONS: */ /***************************************************************************/ MIL_UINT MFTYPE MPtrToInt (void *pvPtr); /* C++ directive if needed */ #ifdef __cplusplus } #endif /***************************************************************************/ /* TOOLKIT FOR PSEUDO MIL FUNCTIONS DEVELOPMENT */ /***************************************************************************/ #include // milfunc.h handles the extern "C" and has some C++ code for safe-type support #ifdef __cplusplus inline MIL_ID MsysAlloc(MIL_CONST_TEXT_PTR SystemDescriptor, MIL_INT SystemNum, MIL_INT64 InitFlag, MIL_ID* SysIdPtr) { return MsysAlloc(M_DEFAULT, SystemDescriptor, SystemNum, InitFlag, SysIdPtr); } #if !defined(M_COMPILING_MILDLL) || !M_COMPILING_MILDLL inline MIL_ID MappAlloc(MIL_INT64 InitFlag, MIL_ID* ContextAppIdPtr) { return MappAlloc(MIL_TEXT("M_DEFAULT"), InitFlag, ContextAppIdPtr); } #endif inline void MappControl(MIL_INT64 ControlType, MIL_INT ControlFlag) { MappControl(M_DEFAULT, ControlType, ControlFlag); } inline MIL_INT MFTYPE MappInquireConnection(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR ControlFlag, MIL_INT64 ExtraFlag, void* UserVarPtr) { return MappInquireConnection(ContextAppId, InquireType, M_PTR_TO_MIL_INT(ControlFlag), ExtraFlag, UserVarPtr); } inline MIL_INT MappGetError(MIL_INT64 ErrorType, void* ErrorPtr) { return MappGetError(M_DEFAULT, ErrorType, ErrorPtr); } inline MIL_INT MappGetHookInfo(MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr) { return MappGetHookInfo(M_DEFAULT, EventId, InfoType, UserVarPtr); } inline void MappHookFunction(MIL_INT HookType, MIL_APP_HOOK_FUNCTION_PTR HookHandlerPtr, void* UserDataPtr) { MappHookFunction(M_DEFAULT, HookType, HookHandlerPtr, UserDataPtr); } inline MIL_INT MappInquire(MIL_INT64 InquireType, void* UserVarPtr) { return MappInquire(M_DEFAULT, InquireType, UserVarPtr); } #if !defined(M_LINUX_KERNEL) || !M_LINUX_KERNEL inline MIL_DOUBLE MappTimer(MIL_INT64 ControlType, MIL_DOUBLE* TimePtr) { return MappTimer(M_DEFAULT, ControlType, TimePtr); } #endif inline void MappTimerVoid(MIL_INT64 Mode, MIL_DOUBLE* Time) { MappTimerVoid(M_DEFAULT, Mode, Time); } #endif #ifdef __cplusplus ////////////////////////////////////////////////////////////// // MbufControl function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if !(M_MIL_USE_LINUX && M_MIL_USE_64BIT) inline void MbufControl(MIL_ID BufId, MIL_INT64 ControlType, int ControlValue) { MbufControlInt64(BufId, ControlType, ControlValue); } inline void MbufControlContainer(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, int ControlValue) { MbufControlContainerInt64(ContainerBufId, Component, ControlType, ControlValue); } #endif inline void MbufControl(MIL_ID BufId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MbufControlInt64(BufId, ControlType, ControlValue); } inline void MbufControlContainer(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MbufControlContainerInt64(ContainerBufId, Component, ControlType, ControlValue); } inline void MbufControlContainer(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MbufControlContainerInt64(ContainerBufId, Component, ControlType, (MIL_ADDR)ControlValue); } inline void MbufControl(MIL_ID BufId, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MbufControlInt64(BufId, ControlType, ControlValue); } inline void MbufControl(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MbufControlInt64(BufId, ControlType, (MIL_ADDR)ControlValue); } inline void MbufControl(MIL_ID BufId, MIL_INT64 ControlType, void* ControlValue) { MbufControlInt64(BufId, ControlType, (MIL_ADDR)ControlValue); } inline void MbufControlContainer(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MbufControlContainerInt64(ContainerBufId, Component, ControlType, ControlValue); } #if M_MIL_USE_64BIT inline void MbufControl(MIL_ID BufId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MbufControlDouble(BufId, ControlType, ControlValue); } #endif inline void MbufControlContainer(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MbufControlContainerDouble(ContainerBufId, Component, ControlType, ControlValue); } ////////////////////////////////////////////////////////////// // MdigControl function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if !(M_MIL_USE_LINUX && M_MIL_USE_64BIT) inline void MdigControl(MIL_ID DigId, MIL_INT64 ControlType, int ControlValue) { MdigControlInt64(DigId, ControlType, ControlValue); }; #endif inline void MdigControl(MIL_ID DigId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MdigControlInt64(DigId, ControlType, ControlValue); } inline void MdigControl(MIL_ID DigId, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MdigControlInt64(DigId, ControlType, ControlValue); } #if M_MIL_USE_64BIT inline void MdigControl(MIL_ID DigId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MdigControlDouble(DigId, ControlType, ControlValue); } #endif inline void MdigControl(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MdigControl(DigId, ControlType, M_PTR_TO_MIL_INT(ControlValue)); } ////////////////////////////////////////////////////////////// // MobjControl function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if !(M_MIL_USE_LINUX && M_MIL_USE_64BIT) inline void MobjControl(MIL_ID ObjectId, MIL_INT64 ControlType, int ControlValue) { MobjControlInt64(ObjectId, ControlType, ControlValue); }; #endif inline void MobjControl(MIL_ID ObjectId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MobjControlInt64(ObjectId, ControlType, ControlValue); } inline void MobjControl(MIL_ID ObjectId, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MobjControlInt64(ObjectId, ControlType, ControlValue); } #if M_MIL_USE_64BIT inline void MobjControl(MIL_ID ObjectId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MobjControlDouble(ObjectId, ControlType, ControlValue); } #endif inline void MobjControl(MIL_ID ObjectId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MobjControl(ObjectId, ControlType, M_PTR_TO_MIL_INT(ControlValue)); } inline void MobjControl(MIL_ID ObjectId, MIL_INT64 ControlType, void* ControlValue) { MobjControl(ObjectId, ControlType, M_PTR_TO_MIL_INT(ControlValue)); } #else #define MbufControlContainer MbufControlContainerDouble #endif #ifdef __cplusplus ////////////////////////////////////////////////////////////// // MgraFont function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraFont(MIL_ID ContextGraId, MIL_CONST_TEXT_PTR FontName) { MgraFont(ContextGraId, MIL_FONT_NAME(FontName)); } #endif // __cplusplus #if M_MIL_USE_64BIT #ifdef __cplusplus #if !M_HIDE_DEPRECATED_FROM_INTELLISENSE inline void MappControlObject(MIL_ID ContextAppId, MIL_ID ObjectId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MappControlObjectInt64(ContextAppId, ObjectId, ControlType, ControlValue); } inline void MappControlObject(MIL_ID ContextAppId, MIL_ID ObjectId, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MappControlObjectInt64(ContextAppId, ObjectId, ControlType, ControlValue); } inline void MappControlObject(MIL_ID ContextAppId, MIL_ID ObjectId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MappControlObjectDouble(ContextAppId, ObjectId, ControlType, ControlValue); } #endif struct MCppParameter { #if !M_MIL_USE_LINUX MCppParameter(int Param) { m_Param = (double)Param; } MCppParameter(unsigned int Param) { m_Param = (double)Param; } #endif MCppParameter(MIL_INT8 Param) { m_Param = (double)Param; } MCppParameter(MIL_UINT8 Param) { m_Param = (double)Param; } MCppParameter(MIL_INT16 Param) { m_Param = (double)Param; } MCppParameter(MIL_UINT16 Param) { m_Param = (double)Param; } MCppParameter(MIL_INT32 Param) { m_Param = (double)Param; } MCppParameter(MIL_UINT32 Param) { m_Param = (double)Param; } MCppParameter(MIL_INT64 Param) { m_Param = (double)Param; } MCppParameter(MIL_UINT64 Param) { m_Param = (double)Param; } MCppParameter(float Param) { m_Param = (double)Param; } MCppParameter(MIL_DOUBLE Param) { m_Param = (double)Param; } double m_Param; }; ////////////////////////////////////////////////////////////// // MgraDot function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraDot(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XPos, const MCppParameter& YPos) { MgraDotDouble(ContextGraId, DstImageBufOrListGraId, XPos.m_Param, YPos.m_Param); } inline void MgraDotEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XPos, const MCppParameter& YPos, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraDotDoubleEx(ContextGraId, DstImageBufOrListGraId, XPos.m_Param, YPos.m_Param, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraLine function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraLine(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, const MCppParameter& XEnd, const MCppParameter& YEnd) { MgraLineDouble(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, XEnd.m_Param, YEnd.m_Param); } inline void MgraLineEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, const MCppParameter& XEnd, const MCppParameter& YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraLineDoubleEx(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, XEnd.m_Param, YEnd.m_Param, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraArc function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraArc(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XCenter, const MCppParameter& YCenter, const MCppParameter& XRad, const MCppParameter& YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle) { MgraArcDouble(ContextGraId, DstImageBufOrListGraId, XCenter.m_Param, YCenter.m_Param, XRad.m_Param, YRad.m_Param, StartAngle, EndAngle); } inline void MgraArcEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XCenter, const MCppParameter& YCenter, const MCppParameter& XRad, const MCppParameter& YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraArcDoubleEx(ContextGraId, DstImageBufOrListGraId, XCenter.m_Param, YCenter.m_Param, XRad.m_Param, YRad.m_Param, StartAngle, EndAngle, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraArcFill function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraArcFill(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XCenter, const MCppParameter& YCenter, const MCppParameter& XRad, const MCppParameter& YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle) { MgraArcFillDouble(ContextGraId, DstImageBufOrListGraId, XCenter.m_Param, YCenter.m_Param, XRad.m_Param, YRad.m_Param, StartAngle, EndAngle); } inline void MgraArcFillEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XCenter, const MCppParameter& YCenter, const MCppParameter& XRad, const MCppParameter& YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraArcFillDoubleEx(ContextGraId, DstImageBufOrListGraId, XCenter.m_Param, YCenter.m_Param, XRad.m_Param, YRad.m_Param, StartAngle, EndAngle, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraArcAngle function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraArcAngle(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XCenter, const MCppParameter& YCenter, const MCppParameter& XRad, const MCppParameter& YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_DOUBLE XAxisAngle, MIL_INT64 ControlFlag) { MgraArcAngleDouble(ContextGraId, DstImageBufOrListGraId, XCenter.m_Param, YCenter.m_Param, XRad.m_Param, YRad.m_Param, StartAngle, EndAngle, XAxisAngle, ControlFlag); } inline void MgraArcAngleEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XCenter, const MCppParameter& YCenter, const MCppParameter& XRad, const MCppParameter& YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, MIL_DOUBLE XAxisAngle, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraArcAngleDoubleEx(ContextGraId, DstImageBufOrListGraId, XCenter.m_Param, YCenter.m_Param, XRad.m_Param, YRad.m_Param, StartAngle, EndAngle, XAxisAngle, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // MgraRingSector function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MFTYPE MgraRingSector(MIL_ID ContextGraId , MIL_ID DestImageBufIdOrGraListId, const MCppParameter& XCenter , const MCppParameter& YCenter , const MCppParameter& XInnerRadius , const MCppParameter& YInnerRadius , const MCppParameter& XOuterRadius , const MCppParameter& YOuterRadius , MIL_DOUBLE StartAngle , MIL_DOUBLE EndAngle , MIL_DOUBLE XAxisAngle , MIL_INT64 ControlFlag ) { MgraRingSectorDouble(ContextGraId, DestImageBufIdOrGraListId, XCenter.m_Param, YCenter.m_Param, XInnerRadius.m_Param, YInnerRadius.m_Param, XOuterRadius.m_Param, YOuterRadius.m_Param, StartAngle, EndAngle, XAxisAngle, ControlFlag); } inline void MFTYPE MgraRingSectorEx(MIL_ID ContextGraId , MIL_ID DestImageBufIdOrGraListId, const MCppParameter& XCenter , const MCppParameter& YCenter , const MCppParameter& XInnerRadius , const MCppParameter& YInnerRadius , const MCppParameter& XOuterRadius , const MCppParameter& YOuterRadius , MIL_DOUBLE StartAngle , MIL_DOUBLE EndAngle , MIL_DOUBLE XAxisAngle , MIL_INT64 ControlFlag , MIL_ID NativeCalibration , MIL_INT64 NativeUnits , MIL_INT64 ConvertMode ) { MgraRingSectorDoubleEx(ContextGraId, DestImageBufIdOrGraListId, XCenter.m_Param, YCenter.m_Param, XInnerRadius.m_Param, YInnerRadius.m_Param, XOuterRadius.m_Param, YOuterRadius.m_Param, StartAngle, EndAngle, XAxisAngle, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // MgraRect function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraRect(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, const MCppParameter& XEnd, const MCppParameter& YEnd) { MgraRectDouble(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, XEnd.m_Param, YEnd.m_Param); } inline void MgraRectEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, const MCppParameter& XEnd, const MCppParameter& YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraRectDoubleEx(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, XEnd.m_Param, YEnd.m_Param, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraRectAngle function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraRectAngle(MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, const MCppParameter& XPos, const MCppParameter& YPos, const MCppParameter& Width, const MCppParameter& Height, MIL_DOUBLE Angle, MIL_INT64 ControlFlag) { MgraRectAngleDouble(ContextGraId, DestImageBufIdOrGraListId, XPos.m_Param, YPos.m_Param, Width.m_Param, Height.m_Param, Angle, ControlFlag); } inline void MgraRectAngleEx(MIL_ID ContextGraId, MIL_ID DestImageBufIdOrGraListId, const MCppParameter& XPos, const MCppParameter& YPos, const MCppParameter& Width, const MCppParameter& Height, MIL_DOUBLE Angle, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraRectAngleDoubleEx(ContextGraId, DestImageBufIdOrGraListId, XPos.m_Param, YPos.m_Param, Width.m_Param, Height.m_Param, Angle, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraRectFill function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraRectFill(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, const MCppParameter& XEnd, const MCppParameter& YEnd) { MgraRectFillDouble(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, XEnd.m_Param, YEnd.m_Param); } inline void MgraRectFillEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, const MCppParameter& XEnd, const MCppParameter& YEnd, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraRectFillDoubleEx(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, XEnd.m_Param, YEnd.m_Param, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraFill function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraFill(MIL_ID ContextGraId, MIL_ID ImageId, const MCppParameter& XStart, const MCppParameter& YStart) { MgraFillDouble(ContextGraId, ImageId, XStart.m_Param, YStart.m_Param); } inline void MgraFillEx(MIL_ID ContextGraId, MIL_ID ImageId, const MCppParameter& XStart, const MCppParameter& YStart, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraFillDoubleEx(ContextGraId, ImageId, XStart.m_Param, YStart.m_Param, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraTextW function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if M_MIL_USE_UNICODE inline void MgraTextA(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, MIL_CONST_TEXTA_PTR StringPtr) { MgraTextADouble(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, StringPtr); } inline void MgraTextAEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, MIL_CONST_TEXTA_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraTextADoubleEx(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, StringPtr, NativeCalibration, NativeUnits, ConvertMode); } inline void MgraTextW(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, MIL_CONST_TEXTW_PTR StringPtr) { MgraTextWDouble(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, StringPtr); } inline void MgraTextWEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, MIL_CONST_TEXTW_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraTextWDoubleEx(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, StringPtr, NativeCalibration, NativeUnits, ConvertMode); } #else // #if M_MIL_USE_UNICODE inline void MgraText(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, MIL_CONST_TEXT_PTR StringPtr) { MgraTextDouble(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, StringPtr); } inline void MgraTextEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, const MCppParameter& XStart, const MCppParameter& YStart, MIL_CONST_TEXT_PTR StringPtr, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraTextDoubleEx(ContextGraId, DstImageBufOrListGraId, XStart.m_Param, YStart.m_Param, StringPtr, NativeCalibration, NativeUnits, ConvertMode); } #endif // #if M_MIL_USE_UNICODE #else #if !M_MIL_USE_LINUX || M_MIL_USE_64BIT || M_COMPILING_MILDLL inline void MseqControl(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, int ControlValue) { MseqControlInt64(ContextSeqId, SequenceIndex, ControlType, ControlValue); } #if !M_MIL_USE_LINUX inline void MseqControl(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MseqControlInt64(ContextSeqId, SequenceIndex, ControlType, ControlValue); } #endif inline void MseqControl(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MseqControlInt64(ContextSeqId, SequenceIndex, ControlType, ControlValue); } inline void MseqControl(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MseqControlDouble(ContextSeqId, SequenceIndex, ControlType, ControlValue); } #endif ////////////////////////////////////////////////////////////// // MsysIoControl function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if !M_MIL_USE_LINUX inline void MsysIoControl(MIL_ID IoObjectId, MIL_INT64 ControlType, int ControlValue) { MsysIoControlInt64(IoObjectId, ControlType, ControlValue); }; #endif inline void MsysIoControl(MIL_ID IoObjectId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MsysIoControlInt64(IoObjectId, ControlType, ControlValue); } inline void MsysIoControl(MIL_ID IoObjectId, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MsysIoControlInt64(IoObjectId, ControlType, ControlValue); } inline void MsysIoControl(MIL_ID IoObjectId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MsysIoControlDouble(IoObjectId, ControlType, ControlValue); } ////////////////////////////////////////////////////////////// // MthrControl function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if !M_MIL_USE_LINUX inline void MthrControl(MIL_ID ThreadEventOrMutexId, MIL_INT64 ControlType, int ControlValue) { MthrControlInt64(ThreadEventOrMutexId, ControlType, ControlValue); }; #endif inline void MthrControl(MIL_ID ThreadEventOrMutexId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MthrControlInt64(ThreadEventOrMutexId, ControlType, ControlValue); } inline void MthrControl(MIL_ID ThreadEventOrMutexId, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MthrControlInt64(ThreadEventOrMutexId, ControlType, ControlValue); } inline void MthrControl(MIL_ID ThreadEventOrMutexId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MthrControlDouble(ThreadEventOrMutexId, ControlType, ControlValue); } ////////////////////////////////////////////////////////////// // MgraControlList function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if !M_MIL_USE_LINUX inline void MFTYPE MgraControlList (MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, int ControlValue) { MgraControlListInt64(GraListId, LabelOrIndex, SubIndex, ControlType, ControlValue); } #endif inline void MFTYPE MgraControlList(MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, MIL_ADDR ControlValue) { MgraControlListInt64(GraListId, LabelOrIndex, SubIndex, ControlType, ControlValue); } inline void MFTYPE MgraControlList (MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MgraControlListInt64(GraListId, LabelOrIndex, SubIndex, ControlType, ControlValue); } inline void MFTYPE MgraControlList (MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MgraControlListInt64(GraListId, LabelOrIndex, SubIndex, ControlType, ControlValue); } inline void MFTYPE MgraControlList (MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MgraControlListDouble(GraListId, LabelOrIndex, SubIndex, ControlType, ControlValue); } inline void MFTYPE MgraControlList (MIL_ID GraListId, MIL_INT LabelOrIndex, MIL_INT SubIndex, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MgraControlListInt64(GraListId, LabelOrIndex, SubIndex, ControlType, MIL_FONT_NAME(ControlValue)); } ////////////////////////////////////////////////////////////// // MgraControl function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if !M_MIL_USE_LINUX inline void MFTYPE MgraControl (MIL_ID ContextGraId, MIL_INT64 ControlType, int ControlValue) { MgraControlInt64(ContextGraId, ControlType, ControlValue); } #endif inline void MFTYPE MgraControl (MIL_ID ContextGraId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MgraControlInt64(ContextGraId, ControlType, ControlValue); } inline void MFTYPE MgraControl (MIL_ID ContextGraId, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MgraControlInt64(ContextGraId, ControlType, ControlValue); } inline void MFTYPE MgraControl (MIL_ID ContextGraId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MgraControlDouble(ContextGraId, ControlType, ControlValue); } #else ////////////////////////////////////////////////////////////// // For C file, call the default function, i.e. Int64 one ////////////////////////////////////////////////////////////// #define MgraDot MgraDotInt64 #define MgraDotEx MgraDotInt64Ex #define MgraLine MgraLineInt64 #define MgraLineEx MgraLineInt64Ex #define MgraArc MgraArcInt64 #define MgraArcEx MgraArcInt64Ex #define MgraArcFill MgraArcFillInt64 #define MgraArcFillEx MgraArcFillInt64Ex #define MgraArcAngle MgraArcAngleInt64 #define MgraArcAngleEx MgraArcAngleInt64Ex #define MgraRingSector MgraRingSectorInt64 #define MgraRingSectorEx MgraRingSectorInt64Ex #define MgraRect MgraRectInt64 #define MgraRectEx MgraRectInt64Ex #define MgraRectFill MgraRectFillInt64 #define MgraRectFillEx MgraRectFillInt64Ex #define MgraRectAngle MgraRectAngleInt64 #define MgraRectAngleEx MgraRectAngleInt64Ex #define MgraFill MgraFillInt64 #define MgraFillEx MgraFillInt64Ex #if M_MIL_USE_UNICODE #define MgraTextW MgraTextWInt64 #define MgraTextWEx MgraTextWInt64Ex #define MgraTextA MgraTextAInt64 #define MgraTextAEx MgraTextAInt64Ex #else #define MgraText MgraTextInt64 #define MgraTextEx MgraTextInt64Ex #endif #define MseqControl MseqControlInt64 #define MobjControl MobjControlInt64 #define MbufControl MbufControlInt64 #define MdigControl MdigControlInt64 #define MthrControl MthrControlInt64 #define MgraControlList MgraControlListInt64 #define MsysIoControl MsysIoControlInt64 #endif // __cplusplus #else //M_MIL_USE_64BIT #endif // M_MIL_USE_64BIT MIL_DEPRECATED(MappControlObject, 1095) MIL_DEPRECATED(MappInquireObject, 1095) #if(defined(__cplusplus)) ////////////////////////////////////////////////////////////// // MbufControl function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MFTYPE MbufClear(MIL_ID DstContainerOrBufId, MIL_DOUBLE Color) { MbufClearDouble(DstContainerOrBufId, Color); } ////////////////////////////////////////////////////////////// // MbufControlArea function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MFTYPE MbufControlArea(MIL_ID BufId, MIL_INT OffsetX, MIL_INT OffsetY, MIL_INT SizeX, MIL_INT SizeY, MIL_INT Band, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MbufControlAreaDouble(BufId, OffsetX, OffsetY, SizeX, SizeY, Band, ControlType, ControlValue); } ////////////////////////////////////////////////////////////// // MbufClearCond function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MFTYPE MbufClearCond (MIL_ID DstBufId, MIL_DOUBLE RedOrMonoVal, MIL_DOUBLE GreenVal, MIL_DOUBLE BlueVal, MIL_ID CondBufId, MIL_INT64 Condition, MIL_DOUBLE CondValue) { MbufClearCondDouble(DstBufId, RedOrMonoVal, GreenVal, BlueVal, CondBufId, Condition, CondValue); } ////////////////////////////////////////////////////////////// // MbufCopyCond function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MFTYPE MbufCopyCond (MIL_ID SrcBufId, MIL_ID DestBufId, MIL_ID CondBufId, MIL_INT64 Condition, MIL_DOUBLE CondValue) { MbufCopyCondDouble(SrcBufId, DestBufId, CondBufId, Condition, CondValue); } // New API call so redirect it to the good entry point. #define MbufGetArc MbufGetArc2 inline MIL_INT MbufGetArc(MIL_ID ImageBufId, MIL_INT XCenter, MIL_INT YCenter, MIL_INT XRad, MIL_INT YRad, MIL_DOUBLE StartAngle, MIL_DOUBLE EndAngle, void* UserArrayPtr, MIL_INT* NbPixelsPtr) { return MbufGetArc(ImageBufId, XCenter, YCenter, XRad, YRad, StartAngle, EndAngle, M_DEFAULT, NbPixelsPtr, UserArrayPtr, M_NULL, M_NULL); } ////////////////////////////////////////////////////////////// // MbufSetRegion function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MFTYPE MbufSetRegion (MIL_ID ImageBufId, MIL_ID ImageOrGraphicListId, MIL_INT64 Label, MIL_INT64 Operation, MIL_DOUBLE Param) { MbufSetRegionDouble(ImageBufId, ImageOrGraphicListId, Label, Operation, Param); } ////////////////////////////////////////////////////////////// // MgraBackColor function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MFTYPE MgraBackColor (MIL_ID ContextGraId, MIL_DOUBLE BackgroundColor) { MgraBackColorDouble(ContextGraId, BackgroundColor); } ////////////////////////////////////////////////////////////// // MgraColor function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MFTYPE MgraColor (MIL_ID ContextGraId, MIL_DOUBLE ForegroundColor) { MgraColorDouble(ContextGraId, ForegroundColor); } ////////////////////////////////////////////////////////////// // MsysControl function definition when compiling c++ files ////////////////////////////////////////////////////////////// #if !defined(M_COMPILING_MILDLL) || !M_COMPILING_MILDLL #if !M_MIL_USE_LINUX || !M_MIL_USE_64BIT inline void MsysControl(MIL_ID SysId, MIL_INT64 ControlType, int ControlValue) { MsysControlInt64(SysId, ControlType, ControlValue); }; #endif inline void MsysControl(MIL_ID SysId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MsysControlInt64(SysId, ControlType, ControlValue); } inline void MsysControl(MIL_ID SysId, MIL_INT64 ControlType, MIL_INT64 ControlValue) { MsysControlInt64(SysId, ControlType, ControlValue); } #endif //#if !M_COMPILING_MILDLL inline void MsysControl(MIL_ID SysId, MIL_INT64 ControlType, MIL_UINT32 ControlValue) { MsysControlInt64(SysId, ControlType, ControlValue); } inline void MsysControl(MIL_ID SysId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue) { MsysControlDouble(SysId, ControlType, ControlValue); } inline void MsysControl(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MsysControlInt64(SysId, ControlType, M_PTR_TO_MIL_INT(ControlValue)); } inline void MsysControl(MIL_ID SysId, MIL_INT64 ControlType, void* ControlValue) { MsysControlInt64(SysId, ControlType, M_PTR_TO_MIL_INT(ControlValue)); } #if !M_MIL_USE_LINUX || M_MIL_USE_64BIT inline void MseqControl(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MseqControl(ContextSeqId, SequenceIndex, ControlType, M_PTR_TO_MIL_INT(ControlValue)); } #if !M_MIL_USE_64BIT inline void MseqControl(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 ControlType, int ControlValue) { MseqControl(ContextSeqId, SequenceIndex, ControlType, (MIL_DOUBLE)(M_PTR_TO_MIL_INT(ControlValue))); } #endif #endif #if M_MIL_USE_64BIT inline void MappControl(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT32 ControlValue) { MappControl(ContextAppId, ControlType, (MIL_INT)ControlValue); } inline void MappControl(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_UINT32 ControlValue) { MappControl(ContextAppId, ControlType, (MIL_INT)ControlValue); } inline void MappControl(MIL_INT64 ControlType, MIL_INT32 ControlValue) { MappControl(ControlType, (MIL_INT)ControlValue); } inline void MappControl(MIL_INT64 ControlType, MIL_UINT32 ControlValue) { MappControl(ControlType, (MIL_INT)ControlValue); } #endif inline void MappControl(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MappControl(ContextAppId, ControlType, (MIL_INT)ControlValue); } inline void MappControl(MIL_INT64 ControlType, MIL_CONST_TEXT_PTR ControlValue) { MappControl(M_DEFAULT, ControlType, ControlValue); } #if !(M_MIL_USE_LINUX && M_MIL_USE_64BIT) inline void MappControl(MIL_ID ContextAppId, MIL_INT64 ControlType, int ControlValue) { MappControl(ContextAppId, ControlType, (MIL_INT)ControlValue); } inline void MappControl(MIL_INT64 ControlType, int ControlValue) { MappControl(M_DEFAULT, ControlType, (MIL_INT)ControlValue); } #endif #else //#if(!defined(__cplusplus)) #define MbufClear MbufClearDouble #define MbufControlArea MbufControlAreaDouble #define MbufClearCond MbufClearCondDouble #define MbufCopyCond MbufCopyCondDouble #define MbufSetRegion MbufSetRegionDouble #define MgraBackColor MgraBackColorDouble #define MgraColor MgraColorDouble #define MgraControl MgraControlDouble #define MsysControl MsysControlDouble #endif //#if(defined(__cplusplus)) /***************************************************************************/ /* LIST OF ALL REQUIREDTYPE FUNCTIONS */ /***************************************************************************/ #if (defined M_COMPILING_MILDLL) || (defined __cplusplus) #if M_MIL_USE_64BIT #define PARAM_TYPE_MIL_INT_BITNESS M_PARAM_TYPE_MIL_INT64 #define PARAM_TYPE_MIL_UINT_BITNESS M_PARAM_TYPE_MIL_UINT64 #else #define PARAM_TYPE_MIL_UINT_BITNESS M_PARAM_TYPE_MIL_UINT32 #define PARAM_TYPE_MIL_INT_BITNESS M_PARAM_TYPE_MIL_INT32 #endif //RequiredType and GivenType should be equal to not be considered a mismatch //unless the following exception inline bool IsTypeMismatch(MIL_INT64 RequiredType, MIL_INT64 GivenType) { bool IsMismatch = false; if((RequiredType == PARAM_TYPE_MIL_INT_BITNESS) || (RequiredType == PARAM_TYPE_MIL_UINT_BITNESS) || (RequiredType == M_PARAM_TYPE_MIL_INT) || (RequiredType == M_PARAM_TYPE_MIL_ID)) { //When required type is M_PARAM_MIL_INT that corresponds to the OS, it would be accetable that the type //is of type MIL_INT/MIL_ID/void* IsMismatch = (GivenType != PARAM_TYPE_MIL_INT_BITNESS) && (GivenType != PARAM_TYPE_MIL_UINT_BITNESS) && (GivenType != M_PARAM_TYPE_MIL_INT) && (GivenType != M_PARAM_TYPE_MIL_ID) && (GivenType != M_PARAM_TYPE_DATA_PTR); } else if(RequiredType == M_PARAM_TYPE_DATA_PTR) { //In MIL, there are many cases where RequiredType and GivenType could be different as long as either the RequiredType or GivenType //is a void pointer IsMismatch = (RequiredType != GivenType) && (GivenType != PARAM_TYPE_MIL_INT_BITNESS) && (GivenType != M_PARAM_TYPE_MIL_INT) && (GivenType != M_PARAM_TYPE_MIL_ID); } else if(RequiredType == M_PARAM_TYPE_ARRAY_MIL_ID) { //In MIL, there are many cases where RequiredType and GivenType could be different as long as either the RequiredType or GivenType //is a void pointer IsMismatch = (RequiredType != GivenType) && (GivenType != PARAM_TYPE_MIL_INT_BITNESS) && (GivenType != M_PARAM_TYPE_MIL_INT) && (GivenType != M_PARAM_TYPE_MIL_ID); } else if(GivenType == M_PARAM_TYPE_DATA_PTR) { //In MIL, there are many cases where RequiredType and GivenType could be different as long as either the RequiredType or GivenType //is a void pointer IsMismatch = (RequiredType != GivenType) && (RequiredType != PARAM_TYPE_MIL_INT_BITNESS) && (RequiredType != M_PARAM_TYPE_MIL_INT) && (RequiredType != M_PARAM_TYPE_MIL_ID); } else if(RequiredType == M_PARAM_TYPE_MIL_TEXT) { IsMismatch = (GivenType != M_PARAM_TYPE_MIL_TEXT) && (GivenType != M_PARAM_TYPE_MIL_CHAR) && (GivenType != M_PARAM_TYPE_CHAR); } else { IsMismatch = (RequiredType != GivenType); } return IsMismatch; } inline MIL_INT64 MthrControlMpRequiredType(MIL_INT64 ControlType) { if(ControlType == M_CORE_AFFINITY_MASK) { return M_PARAM_TYPE_MIL_INT64; } return M_NULL; } inline MIL_INT64 MappControlMpRequiredType(MIL_INT64 ControlType) { if(ControlType == M_CORE_AFFINITY_MASK) { return M_PARAM_TYPE_MIL_INT64; } else if(ControlType == M_MP_THRESHOLD_RESTRICTION) { return M_PARAM_TYPE_MIL_TEXT; } return M_NULL; } inline MIL_INT64 MthrInquireMpRequiredType(MIL_INT64 InquireType) { if((M_DEFAULT_DATA_TYPE_BIT_SET(InquireType)) || (M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) { return M_PARAM_TYPE_MIL_INT64; } if(InquireType == M_CORE_AFFINITY_MASK) { return (M_PARAM_TYPE_MIL_UINT64 + M_PARAM_TYPE_POINTER); } return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MappInquireMpRequiredType(MIL_INT64 InquireType) { if((M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) { return M_PARAM_TYPE_MIL_INT64; } if((InquireType == M_CORE_AFFINITY_MASK) || (InquireType == M_CORE_AFFINITY_MASK_HARDWARE) || (InquireType == M_CORE_MEMORY_BANK_AFFINITY_MASK) || (InquireType == M_CORE_AFFINITY_MASK_PROCESS) || InquireType == M_MEMORY_BANK_AFFINITY_MASK || (InquireType == M_MEMORY_BANK_CORE_AFFINITY_MASK)) { return M_PARAM_TYPE_MIL_UINT64+M_PARAM_TYPE_POINTER; } return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MobjInquireRequiredType(MIL_INT64 InquireType) { if(M_IN_OBJ_INQUIRE_MIL_INT64_RANGE(InquireType) || (M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) return M_PARAM_TYPE_MIL_INT64; if((InquireType & M_STRING_SIZE) == M_STRING_SIZE) return M_PARAM_TYPE_MIL_INT; if(InquireType == M_OBJECT_USER_DATA_PTR) return M_PARAM_TYPE_DATA_PTR; if(M_IN_OBJ_INQUIRE_STRING_RANGE(M_STRIP_CLIENT_TEXT_ENCODING(InquireType))) return M_PARAM_TYPE_MIL_TEXT; if(M_IN_OBJ_INQUIRE_MIL_ID_RANGE(InquireType)) return M_PARAM_TYPE_MIL_ID; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MseqInquireRequiredType(MIL_INT64 InquireType) { if(M_IN_SEQ_INQUIRE_MIL_INT64_RANGE(InquireType) || (M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) return M_PARAM_TYPE_MIL_INT64; if(M_IN_SEQ_INQUIRE_STRING_RANGE(InquireType)) return M_PARAM_TYPE_MIL_TEXT; if(M_IN_SEQ_INQUIRE_MIL_DOUBLE_RANGE(InquireType)) return M_PARAM_TYPE_MIL_DOUBLE; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MseqGetHookInfoRequiredType(MIL_INT64 InfoType) { if(M_DEFAULT_DATA_TYPE_BIT_SET(InfoType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InfoType)) { return M_PARAM_TYPE_MIL_INT64; } switch(InfoType) { case M_MODIFIED_BUFFER + M_BUFFER_ID: return M_PARAM_TYPE_MIL_ID; break; } return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MthrInquireRequiredType(MIL_INT64 InquireType) { if(M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) { return M_PARAM_TYPE_MIL_INT64; } if(InquireType == M_NATIVE_ID) return M_PARAM_TYPE_MIL_ID; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MsysIoCommandRegisterRequiredType(MIL_INT64 Operation) { UNREFERENCED_PARAMETER(Operation); return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MsysIoInquireRequiredType(MIL_INT64 InquireType) { if(M_IN_SYS_IO_INQUIRE_MIL_INT64_RANGE(InquireType) || M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) return M_PARAM_TYPE_MIL_INT64; if(M_IN_SYS_IO_INQUIRE_MIL_ID_RANGE(InquireType)) return M_PARAM_TYPE_MIL_ID; if(M_IN_SYS_IO_INQUIRE_STRING_RANGE(InquireType)) return M_PARAM_TYPE_MIL_TEXT; if(M_IN_SYS_IO_INQUIRE_DOUBLE_RANGE(InquireType)) return M_PARAM_TYPE_MIL_DOUBLE; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MsysInquireRequiredType(MIL_INT64 InquireType) { if(M_IN_SYS_INQUIRE_MIL_INT64_RANGE(InquireType) || M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) return M_PARAM_TYPE_MIL_INT64; if(M_IN_SYS_INQUIRE_MIL_ID_RANGE(InquireType)) return M_PARAM_TYPE_MIL_ID; if(M_IN_SYS_INQUIRE_STRING_RANGE(InquireType)) return M_PARAM_TYPE_MIL_TEXT; if(M_IN_SYS_INQUIRE_DOUBLE_RANGE(InquireType)) return M_PARAM_TYPE_MIL_DOUBLE; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MsysGetHookInfoRequiredType(MIL_INT64 InquireType) { if(M_IN_SYS_GET_HOOK_INFO_INT64_RANGE(InquireType) || M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) return M_PARAM_TYPE_MIL_INT64; if(M_IN_SYS_GET_HOOK_INFO_DOUBLE_RANGE(InquireType)) return M_PARAM_TYPE_MIL_DOUBLE; if(M_IN_SYS_GET_HOOK_INFO_STRING_RANGE(InquireType)) return M_PARAM_TYPE_MIL_TEXT; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MfuncInquireRequiredType(MIL_INT64 InquireType) { if((InquireType == M_OBJECT_TYPE_EXTENDED) || (M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) return M_PARAM_TYPE_MIL_INT64; if(M_IN_FUNC_INQUIRE_STRING_RANGE(InquireType)) return M_PARAM_TYPE_MIL_TEXT; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MfpgaGetHookInfoRequiredType(MIL_INT64 InfoType) { switch(InfoType) { case M_TIME_STAMP: return M_PARAM_TYPE_MIL_DOUBLE; break; } return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MdigInquireRequiredType(MIL_INT64 InquireType) { if(M_IN_DIG_INQUIRE_MIL_INT64_RANGE(InquireType) || M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) return M_PARAM_TYPE_MIL_INT64; if(M_IN_DIG_INQUIRE_MIL_ID_RANGE(InquireType)) return M_PARAM_TYPE_MIL_ID; if(M_IN_DIG_INQUIRE_STRING_RANGE(InquireType)) return M_PARAM_TYPE_MIL_TEXT; if(M_IN_DIG_INQUIRE_DOUBLE_RANGE(InquireType)) return M_PARAM_TYPE_MIL_DOUBLE; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MdigGetHookInfoRequiredType(MIL_INT64 InfoType) { if((M_IN_DIG_GET_HOOK_INFO_INT64_RANGE(InfoType)) || M_DEFAULT_DATA_TYPE_BIT_SET(InfoType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InfoType)) { return M_PARAM_TYPE_MIL_INT64; } else if((M_IN_DIG_GET_HOOK_INFO_DOUBLE_RANGE(InfoType))) { return M_PARAM_TYPE_MIL_DOUBLE; } else if((M_IN_DIG_GET_HOOK_INFO_STRING_RANGE(InfoType))) { return M_PARAM_TYPE_MIL_TEXT; } else if(((InfoType & ~M_MODIFIED_BUFFER) == M_BUFFER_ID) || ((InfoType & ~M_MODIFIED_BUFFER) == 0)) { return M_PARAM_TYPE_MIL_ID; } else if((M_IN_DIG_GET_HOOK_INFO_PTR_RANGE(InfoType))) { return M_PARAM_TYPE_MIL_INT64; } else { return M_PARAM_TYPE_MIL_INT; } } inline MIL_INT64 InquireFeatureRequiredType(MIL_INT64 InquireType, MIL_INT64 UserVarType) { MIL_INT64 Type = 0; if((M_GET_INTERMOD_VALUE_BITS(InquireType) == M_STRING_SIZE) || (InquireType & M_FEATURE_SIZE)) Type = M_TYPE_MIL_INT; #if (MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION) else if(InquireType & M_LENGTH) { if(UserVarType == M_TYPE_REGISTER) Type = M_TYPE_INT64; else Type = M_TYPE_MIL_INT; } #endif else { switch(M_FEATURE_OP(InquireType)) { case M_FEATURE_PRESENT: case M_FEATURE_EXECUTE_COMPLETED: Type = M_TYPE_MIL_INT32; break; #if (MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION && OldDefinesSupport) case M_FEATURE_VALUE_AS_STRING_INTERNAL: #endif case M_FEATURE_NAME: case M_FEATURE_DISPLAY_NAME: case M_FEATURE_TOOLTIP: case M_FEATURE_DESCRIPTION: case M_FEATURE_UNIT: Type = M_TYPE_TEXT_CHAR; break; case M_FEATURE_TYPE: case M_FEATURE_ACCESS_MODE: case M_FEATURE_VISIBILITY: case M_FEATURE_CACHING_MODE: case M_FEATURE_STREAMABLE: case M_FEATURE_DEPRECATED: case M_FEATURE_REPRESENTATION: case M_FEATURE_POLLING_INTERVAL: Type = M_TYPE_INT64; break; case M_GC_NODE_COUNT: case M_FEATURE_CHANGE_HOOK: case M_FEATURE_VALUE_ARRAY_SIZE: Type = M_TYPE_MIL_INT; break; case M_FEATURE_MIN: case M_FEATURE_MAX: case M_FEATURE_INCREMENT: { if(UserVarType == M_TYPE_DOUBLE) Type = M_TYPE_DOUBLE; else if(UserVarType == M_TYPE_MIL_INT32) Type = M_TYPE_MIL_INT32; else Type = M_TYPE_INT64; } break; default: { if(M_FEATURE_ENUM(InquireType) == M_GC_NODES) { if((InquireType & (~M_SUBFEATURE_INDEX_MASK)) == M_SUBFEATURE_COUNT) Type = M_TYPE_MIL_INT; else if((InquireType & (~M_SUBFEATURE_INDEX_MASK)) == M_SUBFEATURE_NAME) Type = M_TYPE_TEXT_CHAR; else if((InquireType & (~M_SUBFEATURE_INDEX_MASK)) == (M_SUBFEATURE_NAME + M_STRING_SIZE)) Type = M_TYPE_MIL_INT; else if((InquireType & (~M_SUBFEATURE_INDEX_MASK)) == M_SUBFEATURE_TYPE) Type = M_TYPE_INT64; } else if(M_FEATURE_ENUM(InquireType) == M_FEATURE_ENUM_ENTRY) { if((InquireType & (~M_FEATURE_ENUM_ENTRY_INDEX_MASK)) == M_FEATURE_ENUM_ENTRY_COUNT) Type = M_TYPE_MIL_INT; else if((InquireType & (~M_FEATURE_ENUM_ENTRY_INDEX_MASK)) == M_FEATURE_ENUM_ENTRY_NAME) Type = M_TYPE_TEXT_CHAR; else if((InquireType & (~M_FEATURE_ENUM_ENTRY_INDEX_MASK)) == (M_FEATURE_ENUM_ENTRY_NAME + M_STRING_SIZE)) Type = M_TYPE_MIL_INT; else if((InquireType & (~M_FEATURE_ENUM_ENTRY_INDEX_MASK)) == M_FEATURE_ENUM_ENTRY_VALUE) Type = M_TYPE_INT64; } } break; } } if(Type == 0) { switch(UserVarType) { case M_TYPE_STRING: #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION case M_TYPE_ENUMERATION + M_TYPE_STRING: //M_TYPE_STRING_ENUMERATION: case M_TYPE_REGISTER + M_TYPE_STRING: //M_TYPE_REGISTER_FROM_STRING: case M_TYPE_VALUE + M_TYPE_STRING: //M_TYPE_VALUE_FROM_STRING: #endif Type = M_TYPE_TEXT_CHAR; break; #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION case M_TYPE_ENUMERATION: Type = M_TYPE_INT64; break; case M_TYPE_ENUMERATION + M_TYPE_MIL_INT32: //M_TYPE_INTEGER_ENUMERATION: Type = M_TYPE_INT64; break; #endif case M_TYPE_BOOLEAN: case M_TYPE_MIL_INT32: Type = M_TYPE_MIL_INT32; break; case M_TYPE_INT64: Type = M_TYPE_INT64; break; case M_TYPE_DOUBLE: Type = M_TYPE_DOUBLE; break; default: if(M_FEATURE_USER_ARRAY_SIZE_BIT_SET(UserVarType)) { switch(M_STRIP_FEATURE_USER_ARRAY_SIZE_VALUE(UserVarType)) { #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION case M_TYPE_REGISTER: #endif case M_TYPE_UINT8: Type = M_TYPE_UINT8; break; case M_TYPE_INT64: Type = M_TYPE_INT64; break; case M_TYPE_DOUBLE: Type = M_TYPE_DOUBLE; break; case M_TYPE_BOOLEAN: Type = M_TYPE_BOOLEAN; break; default: Type = M_TYPE_TEXT_CHAR; break; } } #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION else if((UserVarType & M_TYPE_REGISTER) == M_TYPE_REGISTER) Type = M_TYPE_UINT8; #endif else if((UserVarType & M_TYPE_UINT8) == M_TYPE_UINT8) Type = M_TYPE_UINT8; else Type = 0; break; } } return Type; } inline MIL_INT64 ControlFeatureRequiredType(MIL_INT64 ControlType, MIL_INT64 UserVarType) { MIL_INT64 Type = 0; #if (MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION && OldDefinesSupport) if(M_FEATURE_OP(ControlType) == M_FEATURE_VALUE_AS_STRING_INTERNAL) Type = M_TYPE_TEXT_CHAR; else #endif if(M_FEATURE_OP(ControlType) == M_FEATURE_CHANGE_HOOK) Type = M_TYPE_MIL_INT; #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION else if((M_FEATURE_OP(ControlType) == M_FEATURE_EXECUTE) && (UserVarType == M_DEFAULT)) Type = M_DEFAULT; #else else if(M_FEATURE_OP(ControlType) == M_FEATURE_EXECUTE) Type = M_DEFAULT; #endif else if(M_FEATURE_OP(ControlType) == M_FEATURE_MAX || M_FEATURE_OP(ControlType) == M_FEATURE_MIN) Type = M_DEFAULT; else { switch(UserVarType) { case M_TYPE_STRING: #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION case M_TYPE_ENUMERATION + M_TYPE_STRING: //M_TYPE_STRING_ENUMERATION: case M_TYPE_REGISTER + M_TYPE_STRING: //M_TYPE_REGISTER_FROM_STRING: case M_TYPE_VALUE + M_TYPE_STRING: //M_TYPE_VALUE_FROM_STRING: #endif Type = M_TYPE_TEXT_CHAR; break; #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION case M_TYPE_ENUMERATION: Type = M_TYPE_INT64; break; case M_TYPE_ENUMERATION + M_TYPE_MIL_INT32: //M_TYPE_INTEGER_ENUMERATION: Type = M_TYPE_INT64; break; #endif case M_TYPE_INT64: Type = M_TYPE_INT64; break; case M_TYPE_DOUBLE: Type = M_TYPE_DOUBLE; break; case M_TYPE_MIL_INT32: case M_TYPE_BOOLEAN: Type = M_TYPE_MIL_INT32; break; #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION case M_TYPE_COMMAND: Type = M_TYPE_COMMAND; break; #endif default: if(M_FEATURE_USER_ARRAY_SIZE_BIT_SET(UserVarType)) { switch(M_STRIP_FEATURE_USER_ARRAY_SIZE_VALUE(UserVarType)) { #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION case M_TYPE_REGISTER: #endif case M_TYPE_UINT8: Type = M_TYPE_UINT8; break; case M_TYPE_STRING: Type = M_TYPE_STRING; break; default: Type = 0; break; } } #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION else if((UserVarType & M_TYPE_REGISTER) == M_TYPE_REGISTER) Type = M_TYPE_UINT8; #endif else if((UserVarType & M_TYPE_UINT8) == M_TYPE_UINT8) Type = M_TYPE_UINT8; else Type = 0; break; } } return Type; } inline MIL_INT64 MbufInquireRequiredType(MIL_INT64 InquireType) { if(M_IN_BUF_INQUIRE_MIL_INT64_RANGE(InquireType) || (M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) return M_PARAM_TYPE_MIL_INT64; if(M_IN_BUF_INQUIRE_PTR_RANGE(InquireType)) return M_PARAM_TYPE_DATA_PTR; if(M_IN_BUF_INQUIRE_STRING_RANGE(InquireType)) return M_PARAM_TYPE_MIL_TEXT; if(M_IN_BUF_INQUIRE_MIL_ID_RANGE(InquireType)) return M_PARAM_TYPE_MIL_ID; if(M_IN_BUF_INQUIRE_DOUBLE_RANGE(InquireType)) return M_PARAM_TYPE_MIL_DOUBLE; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MbufInquireContainerRequiredType(MIL_INT64 InquireType) { if(M_IN_BUF_INQUIRE_MIL_INT64_RANGE(InquireType) || (M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) return M_PARAM_TYPE_MIL_INT64; if(M_IS_BUINQ_CONT_ID_ARRAY(InquireType)) { return M_PARAM_TYPE_ARRAY_MIL_ID; } if(M_IS_BUINQ_CONT_INT64_ARRAY(InquireType)) { return M_PARAM_TYPE_ARRAY_MIL_INT64; } if(M_IN_BUF_INQUIRE_PTR_RANGE(InquireType)) return M_PARAM_TYPE_DATA_PTR; if(M_IN_BUF_INQUIRE_STRING_RANGE(InquireType)) return M_PARAM_TYPE_MIL_TEXT; if(M_IN_BUF_INQUIRE_MIL_ID_RANGE(InquireType)) return M_PARAM_TYPE_MIL_ID; if(M_IN_BUF_INQUIRE_DOUBLE_RANGE(InquireType)) return M_PARAM_TYPE_MIL_DOUBLE; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MbufGetHookInfoRequiredType(MIL_INT64 InfoType) { if(M_DEFAULT_DATA_TYPE_BIT_SET(InfoType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InfoType)) { return M_PARAM_TYPE_MIL_INT64; } if((InfoType & M_STRING_SIZE) == M_STRING_SIZE) { return M_PARAM_TYPE_MIL_INT; } if(((M_STRIP_CLIENT_TEXT_ENCODING(InfoType)) & M_GC_FEATURE_CHANGE_NAME) == (M_STRIP_CLIENT_TEXT_ENCODING(M_GC_FEATURE_CHANGE_NAME))) return M_PARAM_TYPE_MIL_TEXT; switch(InfoType) { case M_MODIFIED_BUFFER + M_BUFFER_ID: case M_OBJECT_ID: return M_PARAM_TYPE_MIL_ID; break; case M_MODIFIED_BUFFER + M_GRAB_TIME_STAMP: case M_MODIFIED_BUFFER + M_TIMER_VALUE: case M_MODIFIED_BUFFER + M_TIMER_VALUE + M_TIMER1: case M_MODIFIED_BUFFER + M_TIMER_VALUE + M_TIMER2: case M_MODIFIED_BUFFER + M_TIMER_VALUE + M_TIMER3: case M_MODIFIED_BUFFER + M_TIMER_VALUE + M_TIMER4: case M_MODIFIED_BUFFER + M_TIMER_VALUE + M_TIMER5: case M_MODIFIED_BUFFER + M_TIMER_VALUE + M_TIMER6: case M_MODIFIED_BUFFER + M_TIMER_VALUE + M_TIMER7: case M_MODIFIED_BUFFER + M_TIMER_VALUE + M_TIMER8: return M_PARAM_TYPE_MIL_DOUBLE; break; #if !M_MIL_USE_64BIT case M_USER_DATA_SIZE: case M_FORMAT: return M_PARAM_TYPE_MIL_INT64; break; #endif } return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MbufDiskInquireRequiredType(MIL_INT64 InquireType) { if( InquireType == M_ASPECT_RATIO || InquireType == M_FRAME_RATE ) { return M_PARAM_TYPE_MIL_DOUBLE; } if( InquireType == M_OBJECT_TYPE || InquireType == M_EXTENDED_ATTRIBUTE || InquireType == M_FORMAT ) { return M_PARAM_TYPE_MIL_INT64; } if(M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) return M_PARAM_TYPE_MIL_INT64; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MappInquireConnectionRequiredType(MIL_INT64 InquireType) { if(M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) { return M_PARAM_TYPE_MIL_INT64; } if(InquireType == M_DMIL_PUBLISHED_LIST) { return M_PARAM_TYPE_ARRAY_MIL_ID; } if((M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) || (((M_STRIP_CLIENT_TEXT_ENCODING(InquireType)) & M_DMIL_PUBLISHED_NAME) == (M_STRIP_CLIENT_TEXT_ENCODING(M_DMIL_PUBLISHED_NAME))) || (InquireType == M_DMIL_PUBLISHED_NAME) || ((InquireType >= M_WEB_PUBLISHED_LIST) && (InquireType < (M_WEB_PUBLISHED_LIST + M_MAX_WEBSOCKET_SERVER))) || ((InquireType >= M_WEB_PUBLISHED_NAME) && (InquireType < (M_WEB_PUBLISHED_NAME + M_MAX_WEBSOCKET_SERVER)))) return M_PARAM_TYPE_MIL_ID; else if((InquireType == M_DMIL_PUBLISHED_LIST_SIZE) || ((InquireType >= M_WEB_PUBLISHED_LIST_SIZE) && (InquireType < (M_WEB_PUBLISHED_LIST_SIZE + M_MAX_WEBSOCKET_SERVER)))) return M_PARAM_TYPE_MIL_INT64; else { return M_NULL; } } inline MIL_INT64 MappInquireRequiredType(MIL_INT64 InquireType) { if(M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) { return M_PARAM_TYPE_MIL_INT64; } if(M_IN_APP_INQUIRE_STRING_RANGE(InquireType)) { return M_PARAM_TYPE_MIL_TEXT; } if(InquireType == M_SUPERSIGHT_DESC) { return M_PARAM_TYPE_MIL_INT64; } if(M_IN_APP_INQUIRE_DOUBLE_RANGE(InquireType)) { return M_PARAM_TYPE_MIL_DOUBLE; } if(M_IN_APP_INQUIRE_MIL_ID_RANGE(InquireType)) { return M_PARAM_TYPE_MIL_ID; } if(M_IN_APP_INQUIRE_MIL_INT64_RANGE(InquireType)) { return M_PARAM_TYPE_MIL_INT64; } return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MappGetHookInfoRequiredType(MIL_ID EventId, MIL_INT64 InfoType) { if(M_DEFAULT_DATA_TYPE_BIT_SET(InfoType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InfoType)) { return M_PARAM_TYPE_MIL_INT64; } if((InfoType & M_STRING_SIZE) == M_STRING_SIZE) { return M_PARAM_TYPE_MIL_INT; } if((((M_STRIP_CLIENT_TEXT_ENCODING(InfoType)) & M_MESSAGE) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE))) || (((M_STRIP_CLIENT_TEXT_ENCODING(InfoType)) & M_MESSAGE_EXTENDED) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE_EXTENDED)))) return M_PARAM_TYPE_MIL_TEXT; if((InfoType & M_PARAM_VALUE) == M_PARAM_VALUE) { MIL_INT ParamType; MIL_INT64 InquireParamType = ((InfoType & ~M_PARAM_VALUE) + M_PARAM_TYPE_INFO); MappGetHookInfo(EventId, InquireParamType, &ParamType); if(((ParamType & M_PARAM_TYPE_POINTER) == M_PARAM_TYPE_POINTER) || (ParamType == M_PARAM_TYPE_FILENAME)) ParamType = M_PARAM_TYPE_DATA_PTR; return ParamType; } return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MappGetErrorRequiredType(MIL_INT64 ErrorType) { if(M_DEFAULT_DATA_TYPE_BIT_SET(ErrorType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(ErrorType)) { return M_PARAM_TYPE_MIL_INT64; } if((ErrorType & M_STRING_SIZE) == M_STRING_SIZE) return M_PARAM_TYPE_MIL_INT; if( (((M_STRIP_CLIENT_TEXT_ENCODING(ErrorType)) & M_MESSAGE) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE))) || (((M_STRIP_CLIENT_TEXT_ENCODING(ErrorType)) & M_MESSAGE_EXTENDED) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE_EXTENDED))) ) return M_PARAM_TYPE_MIL_TEXT; return M_PARAM_TYPE_MIL_INT; } inline MIL_INT64 MgraInquireRequiredType(MIL_INT64 InquireType) { MIL_INT64 RequiredType = (InquireType & M_HLVLDATATYPE_MASK); if(M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType)) { return M_TYPE_MIL_INT64; } if(RequiredType != 0) return RequiredType; if((InquireType & (M_AVAILABLE | M_SUPPORTED)) != 0) return M_TYPE_MIL_INT; // Here, only the +M_DEFAULT combo flag is left; remove it. MIL_INT64 StrippedInquireType = (InquireType & ~(M_HLVLDATATYPE_MASK | M_AVAILABLE | M_SUPPORTED | M_DEFAULT)); if(M_IN_GRA_INQUIRE_MIL_ID_RANGE(StrippedInquireType)) return M_TYPE_MIL_ID; if(M_IN_GRA_INQUIRE_DOUBLE_RANGE(StrippedInquireType)) return M_TYPE_DOUBLE; return M_TYPE_MIL_INT; } inline MIL_INT64 MgraInquireListRequiredType(MIL_INT64 InquireType) { return MgraInquireRequiredType(InquireType); } #ifdef __MILFPGA_H__ inline MIL_INT64 MfpgaInquireRequiredType(MIL_INT64 InquireType) { if(M_IN_FPGA_INQUIRE_STRING_RANGE(InquireType)) { return M_PARAM_TYPE_MIL_TEXT; } return M_PARAM_TYPE_MIL_INT; } #endif #endif // These functions have 3 versions of Mgra API even in 32 bits. #if (defined __cplusplus) ////////////////////////////////////////////////////////////// // MgraDots function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraDots(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_INT32 *PosXArrayPtr, const MIL_INT32 *PosYArrayPtr, MIL_INT64 ControlFlag) { MgraDotsInt32(ContextGraId, DstImageBufOrListGraId, NumberOfDots, PosXArrayPtr, PosYArrayPtr, ControlFlag); } inline void MgraDotsEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_INT32 *PosXArrayPtr, const MIL_INT32 *PosYArrayPtr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraDotsInt32Ex(ContextGraId, DstImageBufOrListGraId, NumberOfDots, PosXArrayPtr, PosYArrayPtr, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } inline void MgraDots(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_INT64 *PosXArrayPtr, const MIL_INT64 *PosYArrayPtr, MIL_INT64 ControlFlag) { MgraDotsInt64(ContextGraId, DstImageBufOrListGraId, NumberOfDots, PosXArrayPtr, PosYArrayPtr, ControlFlag); } inline void MgraDotsEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_INT64 *PosXArrayPtr, const MIL_INT64 *PosYArrayPtr, MIL_INT ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraDotsInt64Ex(ContextGraId, DstImageBufOrListGraId, NumberOfDots, PosXArrayPtr, PosYArrayPtr, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } inline void MgraDots(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_DOUBLE *PosXArrayPtr, const MIL_DOUBLE *PosYArrayPtr, MIL_INT64 ControlFlag) { MgraDotsDouble(ContextGraId, DstImageBufOrListGraId, NumberOfDots, PosXArrayPtr, PosYArrayPtr, ControlFlag); } inline void MgraDotsEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfDots, const MIL_DOUBLE *PosXArrayPtr, const MIL_DOUBLE *PosYArrayPtr, MIL_INT ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraDotsDoubleEx(ContextGraId, DstImageBufOrListGraId, NumberOfDots, PosXArrayPtr, PosYArrayPtr, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } ////////////////////////////////////////////////////////////// // MgraLines function definition when compiling c++ files ////////////////////////////////////////////////////////////// inline void MgraLines(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_INT32 *XPtr, const MIL_INT32 *YPtr, const MIL_INT32 *X2Ptr, const MIL_INT32 *Y2Ptr, MIL_INT64 ControlFlag) { MgraLinesInt32(ContextGraId, DstImageBufOrListGraId, NumberOfLinesOrVertices, XPtr, YPtr, X2Ptr, Y2Ptr, ControlFlag); } inline void MgraLinesEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_INT32 *XPtr, const MIL_INT32 *YPtr, const MIL_INT32 *X2Ptr, const MIL_INT32 *Y2Ptr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraLinesInt32Ex(ContextGraId, DstImageBufOrListGraId, NumberOfLinesOrVertices, XPtr, YPtr, X2Ptr, Y2Ptr, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } inline void MgraLines(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_INT64 *XPtr, const MIL_INT64 *YPtr, const MIL_INT64 *X2Ptr, const MIL_INT64 *Y2Ptr, MIL_INT64 ControlFlag) { MgraLinesInt64(ContextGraId, DstImageBufOrListGraId, NumberOfLinesOrVertices, XPtr, YPtr, X2Ptr, Y2Ptr, ControlFlag); } inline void MgraLinesEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_INT64 *XPtr, const MIL_INT64 *YPtr, const MIL_INT64 *X2Ptr, const MIL_INT64 *Y2Ptr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraLinesInt64Ex(ContextGraId, DstImageBufOrListGraId, NumberOfLinesOrVertices, XPtr, YPtr, X2Ptr, Y2Ptr, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } inline void MgraLines(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_DOUBLE *XPtr, const MIL_DOUBLE *YPtr, const MIL_DOUBLE *X2Ptr, const MIL_DOUBLE *Y2Ptr, MIL_INT64 ControlFlag) { MgraLinesDouble(ContextGraId, DstImageBufOrListGraId, NumberOfLinesOrVertices, XPtr, YPtr, X2Ptr, Y2Ptr, ControlFlag); } inline void MgraLinesEx(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumberOfLinesOrVertices, const MIL_DOUBLE *XPtr, const MIL_DOUBLE *YPtr, const MIL_DOUBLE *X2Ptr, const MIL_DOUBLE *Y2Ptr, MIL_INT64 ControlFlag, MIL_ID NativeCalibration, MIL_INT64 NativeUnits, MIL_INT64 ConvertMode) { MgraLinesDoubleEx(ContextGraId, DstImageBufOrListGraId, NumberOfLinesOrVertices, XPtr, YPtr, X2Ptr, Y2Ptr, ControlFlag, NativeCalibration, NativeUnits, ConvertMode); } #else //#if(defined(__cplusplus)) ////////////////////////////////////////////////////////////// // For C file, call the default function, i.e. MIL_INT one // for backward compatibility. For MgraSymbols, we have no // backward compatibility issues, prefer MgraSymbolsDouble. ////////////////////////////////////////////////////////////// #if M_MIL_USE_64BIT #define MgraDots MgraDotsInt64 #define MgraDotsEx MgraDotsInt64Ex #define MgraLines MgraLinesInt64 #define MgraLinesEx MgraLinesInt64Ex #else #define MgraDots MgraDotsInt32 #define MgraDotsEx MgraDotsInt32Ex #define MgraLines MgraLinesInt32 #define MgraLinesEx MgraLinesInt32Ex #endif #endif // #if(defined(__cplusplus)) #else /* For compatibility with possible future MgraSymbols functions receiving arrays of other types. */ #define MgraSymbols MgraSymbolsDouble #define MgraSymbolsEx MgraSymbolsDoubleEx /* -------------------------------------------------------------- */ #if !defined(__cplusplus) inline void MFTYPE MgraFontString(MIL_ID ContextGraId, MIL_CONST_TEXT_PTR FontName) { MgraFont(ContextGraId, MIL_FONT_NAME(FontName)); } #endif /* -------------------------------------------------------------- */ #ifdef __cplusplus inline void MFTYPE MgraVectors(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumVectors, const MIL_DOUBLE *XArrayPtr, const MIL_DOUBLE *YArrayPtr, const MIL_DOUBLE *UArrayPtr, const MIL_DOUBLE *VArrayPtr, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag) { MgraVectorsDouble(ContextGraId, DstImageBufOrListGraId, NumVectors, XArrayPtr, YArrayPtr, UArrayPtr, VArrayPtr, ScaleMode, ScaleValue, ControlFlag); } inline void MFTYPE MgraVectors(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumVectors, const MIL_FLOAT *XArrayPtr, const MIL_FLOAT *YArrayPtr, const MIL_FLOAT *UArrayPtr, const MIL_FLOAT *VArrayPtr, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag) { MgraVectorsFloat(ContextGraId, DstImageBufOrListGraId, NumVectors, XArrayPtr, YArrayPtr, UArrayPtr, VArrayPtr, ScaleMode, ScaleValue, ControlFlag); } inline void MFTYPE MgraVectors(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumVectors, const MIL_INT32 *XArrayPtr, const MIL_INT32 *YArrayPtr, const MIL_INT32 *UArrayPtr, const MIL_INT32 *VArrayPtr, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag) { MgraVectorsInt32(ContextGraId, DstImageBufOrListGraId, NumVectors, XArrayPtr, YArrayPtr, UArrayPtr, VArrayPtr, ScaleMode, ScaleValue, ControlFlag); } inline void MFTYPE MgraVectors(MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT NumVectors, const MIL_INT64 *XArrayPtr, const MIL_INT64 *YArrayPtr, const MIL_INT64 *UArrayPtr, const MIL_INT64 *VArrayPtr, MIL_INT64 ScaleMode, MIL_DOUBLE ScaleValue, MIL_INT64 ControlFlag) { MgraVectorsInt64(ContextGraId, DstImageBufOrListGraId, NumVectors, XArrayPtr, YArrayPtr, UArrayPtr, VArrayPtr, ScaleMode, ScaleValue, ControlFlag); } #else #define MgraVectors MgraVectorsDouble #endif #if M_MIL_USE_64BIT #define MgraVectorsInt MgraVectorsInt64 #else #define MgraVectorsInt MgraVectorsInt32 #endif #ifdef __cplusplus inline void MFTYPE MbufGetList(MIL_ID SrcBufId, MIL_INT NumPixels, const MIL_DOUBLE *PixXArrayPtr, const MIL_DOUBLE *PixYArrayPtr, MIL_INT64 InterpolationMode, void *UserArrayPtr) { MbufGetListDouble(SrcBufId, NumPixels, PixXArrayPtr, PixYArrayPtr, InterpolationMode, UserArrayPtr); } inline void MFTYPE MbufGetList(MIL_ID SrcBufId, MIL_INT NumPixels, const MIL_INT32 *PixXArrayPtr, const MIL_INT32 *PixYArrayPtr, MIL_INT64 InterpolationMode, void *UserArrayPtr) { MbufGetListInt32(SrcBufId, NumPixels, PixXArrayPtr, PixYArrayPtr, InterpolationMode, UserArrayPtr); } inline void MFTYPE MbufGetList(MIL_ID SrcBufId, MIL_INT NumPixels, const MIL_INT64 *PixXArrayPtr, const MIL_INT64 *PixYArrayPtr, MIL_INT64 InterpolationMode, void *UserArrayPtr) { MbufGetListInt64(SrcBufId, NumPixels, PixXArrayPtr, PixYArrayPtr, InterpolationMode, UserArrayPtr); } inline void MFTYPE MbufPutList(MIL_ID DestBufId, MIL_INT NumPixels, const MIL_DOUBLE *PixXArrayPtr, const MIL_DOUBLE *PixYArrayPtr, MIL_INT64 OverscanMode, const void *UserArrayPtr) { MbufPutListDouble(DestBufId, NumPixels, PixXArrayPtr, PixYArrayPtr, OverscanMode, UserArrayPtr); } inline void MFTYPE MbufPutList(MIL_ID DestBufId, MIL_INT NumPixels, const MIL_INT32 *PixXArrayPtr, const MIL_INT32 *PixYArrayPtr, MIL_INT64 OverscanMode, const void *UserArrayPtr) { MbufPutListInt32(DestBufId, NumPixels, PixXArrayPtr, PixYArrayPtr, OverscanMode, UserArrayPtr); } inline void MFTYPE MbufPutList(MIL_ID DestBufId, MIL_INT NumPixels, const MIL_INT64 *PixXArrayPtr, const MIL_INT64 *PixYArrayPtr, MIL_INT64 OverscanMode, const void *UserArrayPtr) { MbufPutListInt64(DestBufId, NumPixels, PixXArrayPtr, PixYArrayPtr, OverscanMode, UserArrayPtr); } #else #define MbufGetList MbufGetListDouble #define MbufPutList MbufPutListDouble #endif #if M_MIL_USE_64BIT #define MbufGetListInt MbufGetListInt64 #define MbufPutListInt MbufPutListInt64 #else #define MbufGetListInt MbufGetListInt32 #define MbufPutListInt MbufPutListInt32 #endif ////////////////////////////////////////////////////////////// // SafeType functions. ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// // See milos.h for explanation about these functions. ////////////////////////////////////////////////////////////// #if M_MIL_USE_SAFE_TYPE inline void SafeTypeError(MIL_CONST_TEXT_PTR FunctionName, MIL_CONST_TEXT_PTR Message = M_NULL); // Definition of the error function called at each error of bad type // of data passed to a void* argument. // // Application can define their own SafeTypeError function and // disable this one by adding #define M_MIL_SAFE_TYPE_ERROR_DEFINED 1 // before including mil.h. #ifndef M_MIL_SAFE_TYPE_ERROR_DEFINED #define M_MIL_SAFE_TYPE_ERROR_DEFINED 1 #ifndef M_MIL_USE_SAFE_TYPE_COMPILE_ERROR_ONLY inline void SafeTypeError(MIL_CONST_TEXT_PTR FunctionName, MIL_CONST_TEXT_PTR Message) { MfuncPrintMessage( M_RESP_OK | M_ST_ERROR_TITLE, MIL_TEXT("SafeType error in "), FunctionName, MIL_TEXT(".\n"), Message ? Message : MIL_TEXT("Pointer type is wrong."), MIL_TEXT("\n\n\n")); } #else inline void SafeTypeError(MIL_CONST_TEXT_PTR FunctionName, MIL_CONST_TEXT_PTR Message) { } #endif #endif inline void ReplaceTypeMilIdByTypeMilIntXX(MIL_INT64 *DataType) { #if defined(M_MIL_USE_INT64_ID) && M_MIL_USE_INT64_ID if(*DataType == M_TYPE_MIL_ID) *DataType = M_TYPE_MIL_INT64; #else if(*DataType == M_TYPE_MIL_ID) *DataType = M_TYPE_MIL_INT32; #endif } #endif //end M_MIL_USE_SAFE_TYPE // M_MIL_USE_SAFE_TYPE defined in milos.h. #if M_MIL_USE_SAFE_TYPE // ---------------------------------------------------------- // MappGetError inline MIL_INT MFTYPE MappGetErrorUnsafe (MIL_INT64 ErrorType, void *ErrorPtr); inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, int ErrorPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, std::nullptr_t); #endif inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_TEXT_CHAR *ErrorPtr); inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_INT32 *ErrorPtr); inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_INT64 *ErrorPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_UINT32 *ErrorPtr); inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_UINT64 *ErrorPtr); #endif inline MIL_INT MFTYPE MappGetErrorUnsafe (MIL_ID ContextAppId, MIL_INT64 ErrorType, void *ErrorPtr); inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, int ErrorPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, std::nullptr_t); #endif inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_TEXT_CHAR *ErrorPtr); inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_INT32 *ErrorPtr); inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_INT64 *ErrorPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_UINT32 *ErrorPtr); inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_UINT64 *ErrorPtr); #endif //--------------------------------------------------------------------------------- // MappGetHookInfo inline MIL_INT MFTYPE MappGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t); #endif inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT8 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT16 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, void **ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, const void **ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_ID **ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, const MIL_ID **ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_TEXT_PTR *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_CONST_TEXT_PTR *ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT8 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT16 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr); #endif #if M_MIL_SAFE_TYPE_ADD_WCHAR_T inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, wchar_t *ResultPtr); #endif inline MIL_INT MFTYPE MappGetHookInfoUnsafe (MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, void *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t); #endif inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT8 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT16 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, void **ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, const void **ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_ID **ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, const MIL_ID **ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_TEXT_PTR *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_CONST_TEXT_PTR *ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT8 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT16 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr); #endif #if M_MIL_SAFE_TYPE_ADD_WCHAR_T inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, wchar_t *ResultPtr); #endif //--------------------------------------------------------------- // MappInquire inline MIL_INT MFTYPE MappInquireUnsafe (MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); #if !M_MIL_USE_64BIT inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif inline MIL_INT MFTYPE MappInquireUnsafe (MIL_ID ContextAppId, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); #if !M_MIL_USE_64BIT inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif #if M_MIL_USE_UNICODE inline void MFTYPE MappFileOperationUnsafeA( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTA_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void* OperationDataPtr); inline void MFTYPE MappFileOperationUnsafeW( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTW_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void* OperationDataPtr); inline void MFTYPE MappFileOperationSafeTypeW( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTW_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeTypeW( MIL_ID Comp1ContextAppId, int Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTW_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeTypeW( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeTypeW( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_INT* OperationDataPtr); inline void MFTYPE MappFileOperationSafeTypeA( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTA_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeTypeA( MIL_ID Comp1ContextAppId, int Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTA_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeTypeA( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeTypeA( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_INT* OperationDataPtr); #if M_MIL_UNICODE_API #define MappFileOperationSafeType MappFileOperationSafeTypeW #else #define MappFileOperationSafeType MappFileOperationSafeTypeA #endif #else inline void MFTYPE MappFileOperationUnsafeW(MIL_ID Comp1ContextAppId, MIL_CONST_TEXT_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXT_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void* OperationDataPtr); inline void MFTYPE MappFileOperationSafeType( MIL_ID Comp1ContextAppId, MIL_CONST_TEXT_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXT_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeType( MIL_ID Comp1ContextAppId, int Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXT_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeType( MIL_ID Comp1ContextAppId, MIL_CONST_TEXT_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr); inline void MFTYPE MappFileOperationSafeType( MIL_ID Comp1ContextAppId, MIL_CONST_TEXT_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_INT* OperationDataPtr); #endif // ---------------------------------------------------------- // MbufDiskInquire #if M_MIL_USE_UNICODE inline MIL_INT MFTYPE MbufDiskInquireUnsafeA (MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireUnsafeW (MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif #if M_MIL_UNICODE_API #define MbufDiskInquireSafeType MbufDiskInquireSafeTypeW #else #define MbufDiskInquireSafeType MbufDiskInquireSafeTypeA #endif #else inline MIL_INT MFTYPE MbufDiskInquireUnsafe (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeType (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufDiskInquireSafeType (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, std::nullptr_t ); #endif inline MIL_INT MFTYPE MbufDiskInquireSafeType (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeType (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeType (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufDiskInquireSafeType (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MbufDiskInquireSafeType (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif #endif // ---------------------------------------------------------- // MbufGetHookInfo inline MIL_INT MFTYPE MbufGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *ResultPtr); inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t ); #endif inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *ResultPtr); inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_TEXT_CHAR *ResultPtr); #if !M_MIL_USE_64BIT inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *ResultPtr); inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *ResultPtr); #endif // ---------------------------------------------------------- // MbufInquireContainer inline MIL_INT MFTYPE MbufInquireContainerUnsafe (MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, std::nullptr_t); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT8 *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif // ---------------------------------------------------------- // MbufInquire inline MIL_INT MFTYPE MbufInquireUnsafe (MIL_ID BufId, MIL_INT64 InquireType, void *ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_DOUBLE *ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_TEXT_CHAR *ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, char **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const char **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, signed char **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const signed char **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, unsigned char **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const unsigned char **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT16 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_INT16 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT16 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_UINT16 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT32 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_INT32 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT32 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_UINT32 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, float **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const float **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT64 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_INT64 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT64 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_UINT64 **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_DOUBLE **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_DOUBLE **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, void **ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const void **ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT32 *ResultPtr); inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT64 *ResultPtr); #endif #if M_MIL_USE_WINDOWS #if M_MIL_USE_DIRECTX_SERVICE struct IDirectDrawSurface; inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, IDirectDrawSurface **ResultPtr); #endif // M_MIL_USE_DIRECTX_SERVICE struct tagBITMAPINFO; typedef tagBITMAPINFO BITMAPINFO; inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, BITMAPINFO **ResultPtr); #endif // M_MIL_USE_WINDOWS // MbufInquireFeature #if M_MIL_USE_UNICODE inline void MFTYPE MbufInquireFeatureUnsafeW (MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTW_PTR UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif inline void MFTYPE MbufInquireFeatureUnsafeA (MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTA_PTR UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); #endif #if M_MIL_UNICODE_API #define MbufInquireFeatureSafeType MbufInquireFeatureSafeTypeW #else #define MbufInquireFeatureSafeType MbufInquireFeatureSafeTypeA #endif #else inline void MFTYPE MbufInquireFeatureUnsafe (MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXT_CHAR *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t ); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); #endif #endif // ---------------------------------------------------------- // MbufInquireContainer inline MIL_INT MFTYPE MbufInquireContainerUnsafe (MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, std::nullptr_t); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT8 *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif /////// // ---------------------------------------------------------- // MbufControlFeature #if M_MIL_USE_UNICODE inline void MFTYPE MbufControlFeatureUnsafeW (MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTW_PTR UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif inline void MFTYPE MbufControlFeatureUnsafeA (MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTA_PTR UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); #endif #else inline void MFTYPE MbufControlFeatureUnsafe (MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_TEXT_CHAR *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t ); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); #endif #endif // ---------------------------------------------------------- // MdigGetHookInfo inline MIL_INT MFTYPE MdigGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *ResultPtr); inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t); #endif inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *ResultPtr); inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_TEXT_PTR ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *ResultPtr); inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *ResultPtr); #endif // ---------------------------------------------------------- // MobjInquire inline MIL_INT MFTYPE MobjInquireUnsafe(MIL_ID ObjInq, MIL_INT64 InquireType, void *ResultPtr); inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_TEXT_CHAR *ResultPtr); inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, void **ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_UINT32 *ResultPtr); inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_UINT64 *ResultPtr); #endif // ---------------------------------------------------------- // MdigInquire inline MIL_INT MFTYPE MdigInquireUnsafe (MIL_ID DigId, MIL_INT64 InquireType, void *ResultPtr); inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_TEXT_CHAR *ResultPtr); inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_DOUBLE *ResultPtr); inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_ID *ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_UINT32 *ResultPtr); inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_UINT64 *ResultPtr); #endif // ---------------------------------------------------------- // MdigInquireFeature #if M_MIL_USE_UNICODE inline void MFTYPE MdigInquireFeatureUnsafeW (MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTW_PTR UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif inline void MFTYPE MdigInquireFeatureUnsafeA (MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTA_PTR UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); #endif #else inline void MFTYPE MdigInquireFeatureUnsafe (MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXT_CHAR *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t ); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); #endif #endif // ---------------------------------------------------------- // MdigControlFeature #if M_MIL_USE_UNICODE inline void MFTYPE MdigControlFeatureUnsafeW (MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTW_PTR UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif inline void MFTYPE MdigControlFeatureUnsafeA (MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTA_PTR UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); #endif #else inline void MFTYPE MdigControlFeatureUnsafe (MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_TEXT_CHAR *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t ); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); #endif #endif // ---------------------------------------------------------- // MfpgaGetHookInfo inline MIL_INT MFTYPE MfpgaGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *UserVarPtr); inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t); #endif inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *UserVarPtr); #endif // ---------------------------------------------------------- // MfpgaInquire inline MIL_INT MFTYPE MfpgaInquireUnsafe (MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif // ---------------------------------------------------------- // MfuncInquire inline MIL_INT MFTYPE MfuncInquireUnsafe (MIL_ID ObjectId, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif // ---------------------------------------------------------- // MsysGetHookInfo inline MIL_INT MFTYPE MsysGetHookInfoUnsafe (MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, void *ResultPtr); inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_DOUBLE *ResultPtr); inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_TEXT_PTR ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_UINT32 *ResultPtr); inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_UINT64 *ResultPtr); #endif // ---------------------------------------------------------- // MsysInquire inline MIL_INT MFTYPE MsysInquireUnsafe (MIL_ID SysId, MIL_INT64 InquireType, void *ResultPtr); inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_INT64 *ResultPtr); inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_TEXT_CHAR *ResultPtr); inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_DOUBLE *ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_UINT32 *ResultPtr); inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_UINT64 *ResultPtr); #endif // ---------------------------------------------------------- // MsysInquireFeature #if M_MIL_USE_UNICODE inline void MFTYPE MsysInquireFeatureUnsafeW (MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTW_PTR UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif inline void MFTYPE MsysInquireFeatureUnsafeA (MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTA_PTR UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); #endif #else inline void MFTYPE MsysInquireFeatureUnsafe (MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXT_CHAR *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr); inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t ); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr); #endif #endif // ---------------------------------------------------------- // MsysControlFeature #if M_MIL_USE_UNICODE inline void MFTYPE MsysControlFeatureUnsafeW (MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTW_PTR UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif inline void MFTYPE MsysControlFeatureUnsafeA (MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTA_PTR UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); #endif #else inline void MFTYPE MsysControlFeatureUnsafe (MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_TEXT_CHAR *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr); inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t ); #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr); #endif #endif // ---------------------------------------------------------- // MsysIoInquire inline MIL_INT MFTYPE MsysIoInquireUnsafe (MIL_ID IoObjectId, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr); inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif // ---------------------------------------------------------- // MsysIoCommandRegister inline MIL_INT MFTYPE MsysIoCommandRegisterUnsafe (MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, void* CommandStatusPtr); inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, int CommandStatusPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, std::nullptr_t); #endif inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, MIL_INT32* CommandStatusPtr); inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, MIL_INT64* CommandStatusPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, MIL_UINT32* CommandStatusPtr); inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, MIL_UINT64* CommandStatusPtr); #endif //-------------------------------------------------------------------- // MthrInquire inline MIL_INT MFTYPE MthrInquireUnsafe (MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif //-------------------------------------------------------------------- // MseqGetHookInfo inline MIL_INT MFTYPE MseqGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *UserVarPtr); inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int *UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t); #endif inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *UserVarPtr); #endif // ---------------------------------------------------------- // MseqInquire inline MIL_INT MFTYPE MseqInquireUnsafe (MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, void *UserVarPtr); inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, std::nullptr_t); #endif inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr); inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr); inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr); #endif // ---------------------------------------------------------- // MappInquireMp inline MIL_INT MFTYPE MappInquireMpUnsafe (MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *UserVarPtr); inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, int UserVarPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, std::nullptr_t); #endif inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT32 *UserVarPtr); inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT64 *UserVarPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT32 *UserVarPtr); inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT64 *UserVarPtr); #endif // ---------------------------------------------------------- // MthrInquireMp inline MIL_INT MFTYPE MthrInquireMpUnsafe (MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ResultPtr); inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, int ResultPtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, std::nullptr_t); #endif inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT32 *ResultPtr); inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT64 *ResultPtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT32 *ResultPtr); inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT64 *ResultPtr); #endif // ---------------------------------------------------------- // MappControlMp inline void MFTYPE MappControlMpUnsafe (MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ValuePtr); inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, int ValuePtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, std::nullptr_t); #endif inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT64 *ValuePtr); inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_TEXT_PTR ValuePtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT64 *ValuePtr); #endif // ---------------------------------------------------------- // MthrControlMp inline void MFTYPE MthrControlMpUnsafe (MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ValuePtr); inline void MFTYPE MthrControlMpSafeType(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, int ValuePtr); #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MthrControlMpSafeType(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, std::nullptr_t); #endif inline void MFTYPE MthrControlMpSafeType(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT64 *ValuePtr); #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MthrControlMpSafeType(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT64 *ValuePtr); #endif // ------------------------------------------------------------------------- // MappGetError inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, int ErrorPtr) { if (ErrorPtr || (((M_STRIP_CLIENT_TEXT_ENCODING(ErrorType)) & M_MESSAGE) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE))) || (((M_STRIP_CLIENT_TEXT_ENCODING(ErrorType)) & M_MESSAGE_EXTENDED) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE_EXTENDED)))) SafeTypeError(MIL_TEXT("MappGetError")); return MappGetError(ErrorType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, std::nullptr_t) { if((((M_STRIP_CLIENT_TEXT_ENCODING(ErrorType)) & M_MESSAGE) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE))) || (((M_STRIP_CLIENT_TEXT_ENCODING(ErrorType)) & M_MESSAGE_EXTENDED) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE_EXTENDED)))) SafeTypeError(MIL_TEXT("MappGetError")); return MappGetError(ErrorType, NULL); } #endif inline MIL_INT MFTYPE MappGetErrorSafeTypeExecute (MIL_INT64 ErrorType, void *ErrorPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MappGetErrorRequiredType(ErrorType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MappGetError")); return MappGetError(ErrorType, ErrorPtr); } inline MIL_INT MFTYPE MappGetErrorUnsafe (MIL_INT64 ErrorType, void *ErrorPtr) {return MappGetError (ErrorType, ErrorPtr );} inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_TEXT_CHAR *ErrorPtr) {return MappGetErrorSafeTypeExecute(ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_INT32 *ErrorPtr) {return MappGetErrorSafeTypeExecute(ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_INT64 *ErrorPtr) {return MappGetErrorSafeTypeExecute(ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_INT64); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_UINT32 *ErrorPtr) {return MappGetErrorSafeTypeExecute(ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_INT64 ErrorType, MIL_UINT64 *ErrorPtr) { return MappGetErrorSafeTypeExecute(ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_INT64); } #endif inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, int ErrorPtr) { if (ErrorPtr || ((ErrorType & M_MESSAGE) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE))) || ((ErrorType & M_MESSAGE_EXTENDED) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE_EXTENDED)))) SafeTypeError(MIL_TEXT("MappGetError")); return MappGetError(ContextAppId, ErrorType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, std::nullptr_t) { if(((ErrorType & M_MESSAGE) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE))) || ((ErrorType & M_MESSAGE_EXTENDED) == (M_STRIP_CLIENT_TEXT_ENCODING(M_MESSAGE_EXTENDED)))) SafeTypeError(MIL_TEXT("MappGetError")); return MappGetError(ContextAppId, ErrorType, NULL); } #endif inline MIL_INT MFTYPE MappGetErrorSafeTypeExecute (MIL_ID ContextAppId, MIL_INT64 ErrorType, void *ErrorPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MappGetErrorRequiredType(ErrorType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MappGetError")); return MappGetError(ContextAppId, ErrorType, ErrorPtr); } inline MIL_INT MFTYPE MappGetErrorUnsafe (MIL_ID ContextAppId, MIL_INT64 ErrorType, void *ErrorPtr) {return MappGetError (ContextAppId, ErrorType, ErrorPtr );} inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_TEXT_CHAR *ErrorPtr) {return MappGetErrorSafeTypeExecute(ContextAppId, ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_INT32 *ErrorPtr) {return MappGetErrorSafeTypeExecute(ContextAppId, ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_INT32 );} inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_INT64 *ErrorPtr) {return MappGetErrorSafeTypeExecute(ContextAppId, ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_INT64); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_UINT32 *ErrorPtr) {return MappGetErrorSafeTypeExecute(ContextAppId, ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MappGetErrorSafeType(MIL_ID ContextAppId, MIL_INT64 ErrorType, MIL_UINT64 *ErrorPtr) {return MappGetErrorSafeTypeExecute(ContextAppId, ErrorType, ErrorPtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MappGetHookInfo inline MIL_INT MFTYPE MappGetHookInfoSafeTypeExecute (MIL_ID EventId, MIL_INT64 InfoType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MappGetHookInfoRequiredType(EventId, InfoType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MappGetHookInfo")); return MappGetHookInfo(EventId, InfoType, ValuePtr); } inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int ResultPtr) { if (ResultPtr) SafeTypeError(MIL_TEXT("MappGetHookInfo")); return MappGetHookInfo(EventId, InfoType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t) { return MappGetHookInfo(EventId, InfoType, NULL); } #endif inline MIL_INT MFTYPE MappGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *ResultPtr) {return MappGetHookInfo (EventId, InfoType, ResultPtr) ;} #if M_MIL_USE_LINUX inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT8 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_TEXT );} #else inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT8 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_CHAR );} #endif inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT16 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT16 );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT32 );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT64 );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_DOUBLE );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, void **ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, const void **ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_ID **ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, const MIL_ID **ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_TEXT_PTR *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_CONST_TEXT_PTR *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT8 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT8);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT16 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT16);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} #endif #if M_MIL_SAFE_TYPE_ADD_WCHAR_T inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, wchar_t *ResultPtr) {return MappGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_TEXT );} #endif inline MIL_INT MFTYPE MappGetHookInfoSafeTypeExecute(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MappGetHookInfoRequiredType(EventId, InfoType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MappGetHookInfo")); return MappGetHookInfo(ContextAppId, EventId, InfoType, ValuePtr); } inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, int ResultPtr) { if (ResultPtr) SafeTypeError(MIL_TEXT("MappGetHookInfo")); return MappGetHookInfo(ContextAppId, EventId, InfoType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t) { return MappGetHookInfo(ContextAppId, EventId, InfoType, NULL); } #endif inline MIL_INT MFTYPE MappGetHookInfoUnsafe (MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, void *ResultPtr) {return MappGetHookInfo (ContextAppId, EventId, InfoType, ResultPtr) ;} #if M_MIL_USE_LINUX inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT8 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_TEXT);} #else inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT8 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_CHAR );} #endif inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT16 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT16 );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT32 );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT64 );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_DOUBLE );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, void **ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, const void **ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_ID **ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, const MIL_ID **ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_TEXT_PTR *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_CONST_TEXT_PTR *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT8 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_UINT8);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT16 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_UINT16);} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT32 );} inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT64 );} #endif #if M_MIL_SAFE_TYPE_ADD_WCHAR_T inline MIL_INT MFTYPE MappGetHookInfoSafeType(MIL_ID ContextAppId, MIL_ID EventId, MIL_INT64 InfoType, wchar_t *ResultPtr) {return MappGetHookInfoSafeTypeExecute(ContextAppId, EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_TEXT);} #endif //----------------------------------------------------------------------------- // MappInquire inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr) SafeTypeError(MIL_TEXT("MappInquire")); return MappInquire(InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, std::nullptr_t ) {return MappInquire (InquireType, NULL);} #endif inline MIL_INT MFTYPE MappInquireSafeTypeExecute (MIL_INT64 InquireType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MappInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MappInquire")); return MappInquire(InquireType, ValuePtr); } inline MIL_INT MFTYPE MappInquireUnsafe (MIL_INT64 InquireType, void *UserVarPtr) {return MappInquire (InquireType, UserVarPtr );} inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr) {return MappInquireSafeTypeExecute(InquireType, UserVarPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MappInquireSafeTypeExecute(InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64 );} inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) { return MappInquireSafeTypeExecute(InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) {return MappInquireSafeTypeExecute(InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE );} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MappInquireSafeTypeExecute(InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MappInquireSafeType(MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MappInquireSafeTypeExecute(InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #endif inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr) SafeTypeError(MIL_TEXT("MappInquire")); return MappInquire(ContextAppId, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, std::nullptr_t) { return MappInquire(ContextAppId, InquireType, NULL); } #endif inline MIL_INT MFTYPE MappInquireSafeTypeExecute(MIL_ID ContextAppId, MIL_INT64 InquireType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MappInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MappInquire")); return MappInquire(ContextAppId, InquireType, ValuePtr); } inline MIL_INT MFTYPE MappInquireUnsafe (MIL_ID ContextAppId, MIL_INT64 InquireType, void *UserVarPtr) {return MappInquire (ContextAppId, InquireType, UserVarPtr );} inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr) {return MappInquireSafeTypeExecute(ContextAppId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MappInquireSafeTypeExecute(ContextAppId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MappInquireSafeTypeExecute(ContextAppId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) {return MappInquireSafeTypeExecute(ContextAppId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE );} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MappInquireSafeTypeExecute(ContextAppId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32 );} inline MIL_INT MFTYPE MappInquireSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MappInquireSafeTypeExecute(ContextAppId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64 );} #endif #if M_MIL_USE_UNICODE // ---------------------------------------------------------- // MappFileOperation inline void MFTYPE MappFileOperationUnsafeA( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTA_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void* OperationDataPtr) { MappFileOperationA(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, OperationDataPtr); } inline void MFTYPE MappFileOperationUnsafeW( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTW_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void* OperationDataPtr) { MappFileOperationW(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, OperationDataPtr); } inline void MFTYPE MappFileOperationSafeTypeW( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTW_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationW(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MappFileOperationSafeTypeW(MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTW_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, std::nullptr_t ) { MappFileOperationW(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeTypeW(MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, std::nullptr_t) { if (Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationW(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, NULL); } #endif inline void MFTYPE MappFileOperationSafeTypeW( MIL_ID Comp1ContextAppId, int Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTW_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (Comp1FileName || OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationW(Comp1ContextAppId, NULL, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeTypeW( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (Comp2FileName || OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationW(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeTypeW( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_INT* OperationDataPtr) { if(Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationW(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, (void*)OperationDataPtr); } inline void MFTYPE MappFileOperationSafeTypeW(MIL_ID Comp1ContextAppId, MIL_CONST_TEXTW_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_TEXT_PTR OperationDataPtr) { if (Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationW(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, (void*)OperationDataPtr); } inline void MFTYPE MappFileOperationSafeTypeA( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTA_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationA(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeTypeA( MIL_ID Comp1ContextAppId, int Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTA_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (Comp1FileName || OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationA(Comp1ContextAppId, NULL, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MappFileOperationSafeTypeA(MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXTA_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, std::nullptr_t ) { MappFileOperationA(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeTypeA(MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, std::nullptr_t) { if (Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationA(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, NULL); } #endif inline void MFTYPE MappFileOperationSafeTypeA( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (Comp2FileName || OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationA(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeTypeA( MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_INT* OperationDataPtr) { if(Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationA(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, (void*)OperationDataPtr); } inline void MFTYPE MappFileOperationSafeTypeA(MIL_ID Comp1ContextAppId, MIL_CONST_TEXTA_PTR Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_TEXT_PTR OperationDataPtr) { if (Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperationA(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, (void*)OperationDataPtr); } #if M_MIL_UNICODE_API #define MappFileOperationUnsafe MappFileOperationUnsafeW #else #define MappFileOperationUnsafe MappFileOperationUnsafeA #endif #else inline void MFTYPE MappFileOperationUnsafe(MIL_ID Comp1ContextAppId, MIL_CONST_TEXT_PTR Comp1FileName, MIL_ID Comp2ContextAppId, MIL_CONST_TEXT_PTR Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, void* OperationDataPtr) { MappFileOperation(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, OperationDataPtr); } inline void MFTYPE MappFileOperationSafeType( MIL_ID Comp1ContextAppId, const char* Comp1FileName, MIL_ID Comp2ContextAppId, const char* Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperation(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MappFileOperationSafeType(MIL_ID Comp1ContextAppId, const char* Comp1FileName, MIL_ID Comp2ContextAppId, const char* Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, std::nullptr_t ) { MappFileOperation(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeType(MIL_ID Comp1ContextAppId, const char* Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, std::nullptr_t) { if (Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperation(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, NULL); } #endif inline void MFTYPE MappFileOperationSafeType( MIL_ID Comp1ContextAppId, int Comp1FileName, MIL_ID Comp2ContextAppId, const char* Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (Comp1FileName || OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperation(Comp1ContextAppId, NULL, Comp2ContextAppId, Comp2FileName, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeType( MIL_ID Comp1ContextAppId, const char* Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, int OperationDataPtr) { if (Comp2FileName || OperationDataPtr) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperation(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, NULL); } inline void MFTYPE MappFileOperationSafeType( MIL_ID Comp1ContextAppId, const char* Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_INT* OperationDataPtr) { if(Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperation(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, (void*)OperationDataPtr); } inline void MFTYPE MappFileOperationSafeType(MIL_ID Comp1ContextAppId, const char* Comp1FileName, MIL_ID Comp2ContextAppId, int Comp2FileName, MIL_INT64 Operation, MIL_INT64 OperationFlag, MIL_TEXT_PTR OperationDataPtr) { if (Comp2FileName) SafeTypeError(MIL_TEXT("MappFileOperation")); MappFileOperation(Comp1ContextAppId, Comp1FileName, Comp2ContextAppId, NULL, Operation, OperationFlag, (void*)OperationDataPtr); } #if M_MIL_USE_SAFE_TYPE #define MappFileOperation MappFileOperationSafeType #endif #endif //M_MIL_USE_UNICODE // ---------------------------------------------------------- // MappInquireConnection inline MIL_INT MappInquireConnectionSafeTypeExecute(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, void * UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MappInquireConnectionRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) { SafeTypeError(MIL_TEXT("MappInquireConnectionSafeType")); } return MappInquireConnection(ContextAppId, InquireType, ControlFlag, ExtraFlag, UserVarPtr); } //declare functions inline MIL_INT MFTYPE MappInquireConnectionUnsafe (MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, void *UserVarPtr) {return MappInquireConnection(ContextAppId, InquireType, ControlFlag, ExtraFlag, UserVarPtr);} inline MIL_INT MFTYPE MappInquireConnectionSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, MIL_INT32 *UserVarPtr) { return MappInquireConnectionSafeTypeExecute(ContextAppId, InquireType, ControlFlag, ExtraFlag, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MappInquireConnectionSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, MIL_INT64 *UserVarPtr) { return MappInquireConnectionSafeTypeExecute(ContextAppId, InquireType, ControlFlag, ExtraFlag, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } inline MIL_INT MFTYPE MappInquireConnectionUnsafe(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR ControlFlag, MIL_INT64 ExtraFlag, void* UserVarPtr) { return MappInquireConnection(ContextAppId, InquireType, M_PTR_TO_MIL_INT(ControlFlag), ExtraFlag, UserVarPtr); } inline MIL_INT MFTYPE MappInquireConnectionSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR ControlFlag, MIL_INT64 ExtraFlag, MIL_INT32* UserVarPtr) { return MappInquireConnectionSafeTypeExecute(ContextAppId, InquireType, M_PTR_TO_MIL_INT(ControlFlag), ExtraFlag, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MappInquireConnectionSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR ControlFlag, MIL_INT64 ExtraFlag, MIL_INT64* UserVarPtr) { return MappInquireConnectionSafeTypeExecute(ContextAppId, InquireType, M_PTR_TO_MIL_INT(ControlFlag), ExtraFlag, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #if !M_MIL_USE_LINUX inline MIL_INT MFTYPE MappInquireConnectionSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, int *UserVarPtr) { return MappInquireConnectionSafeTypeExecute(ContextAppId, InquireType, ControlFlag, ExtraFlag, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MappInquireConnectionSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR ControlFlag, MIL_INT64 ExtraFlag, int* UserVarPtr) { return MappInquireConnectionSafeTypeExecute(ContextAppId, InquireType, M_PTR_TO_MIL_INT(ControlFlag), ExtraFlag, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } #endif inline MIL_INT MFTYPE MappInquireConnectionSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, int UserVarPtr) { if (UserVarPtr) SafeTypeError(MIL_TEXT("MappInquireConnectionSafeType")); return MappInquireConnection(ContextAppId, InquireType, ControlFlag, ExtraFlag, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappInquireConnectionSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 ControlFlag, MIL_INT64 ExtraFlag, std::nullptr_t ) { return MappInquireConnection(ContextAppId, InquireType, ControlFlag, ExtraFlag, NULL); } #endif // ---------------------------------------------------------- // MbufDiskInquire #if M_MIL_USE_UNICODE inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr) SafeTypeError(MIL_TEXT("MbufDiskInquireA")); return MbufDiskInquireA(FileName, InquireType, NULL); } inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr) SafeTypeError(MIL_TEXT("MbufDiskInquireW")); return MbufDiskInquireW(FileName, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, std::nullptr_t) { return MbufDiskInquireA(FileName, InquireType, NULL); } inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, std::nullptr_t) { return MbufDiskInquireW(FileName, InquireType, NULL); } #endif inline MIL_INT MFTYPE MbufDiskInquireSafeTypeAExecute(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MbufDiskInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MbufDiskInquireSafeTypeA")); return MbufDiskInquireA(FileName, InquireType, UserVarPtr);; } inline MIL_INT MFTYPE MbufDiskInquireSafeTypeWExecute(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MbufDiskInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MbufDiskInquireSafeTypeW")); return MbufDiskInquireW(FileName, InquireType, UserVarPtr);; } inline MIL_INT MFTYPE MbufDiskInquireUnsafeA (MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr) {return MbufDiskInquireA(FileName, InquireType, UserVarPtr);} inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MbufDiskInquireSafeTypeAExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MbufDiskInquireSafeTypeAExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) {return MbufDiskInquireSafeTypeAExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE );} inline MIL_INT MFTYPE MbufDiskInquireUnsafeW (MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr) {return MbufDiskInquireW(FileName, InquireType, UserVarPtr);} inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MbufDiskInquireSafeTypeWExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MbufDiskInquireSafeTypeWExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) {return MbufDiskInquireSafeTypeWExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE );} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MbufDiskInquireSafeTypeAExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MbufDiskInquireSafeTypeWExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufDiskInquireSafeTypeA(MIL_CONST_TEXTA_PTR FileName, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MbufDiskInquireSafeTypeAExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MbufDiskInquireSafeTypeW(MIL_CONST_TEXTW_PTR FileName, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MbufDiskInquireSafeTypeWExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #endif #if M_MIL_UNICODE_API #define MbufDiskInquireUnsafe MbufDiskInquireUnsafeW #define MbufDiskInquireSafeTypeExecute MbufDiskInquireSafeTypeWExecute #define MbufDiskInquireSafeType MbufDiskInquireSafeTypeW #else #define MbufDiskInquireUnsafe MbufDiskInquireUnsafeA #define MbufDiskInquireSafeTypeExecute MbufDiskInquireSafeTypeAExecute #define MbufDiskInquireSafeType MbufDiskInquireSafeTypeA #endif #else inline MIL_INT MFTYPE MbufDiskInquireSafeType(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr != M_NULL) SafeTypeError(MIL_TEXT("MbufDiskInquire")); return MbufDiskInquire(FileName, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufDiskInquireSafeType(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, std::nullptr_t) { return MbufDiskInquire(FileName, InquireType, NULL); } #endif inline MIL_INT MFTYPE MbufDiskInquireSafeTypeExecute(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MbufDiskInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MbufDiskInquireSafeType")); return MbufDiskInquire(FileName, InquireType, UserVarPtr);; } inline MIL_INT MFTYPE MbufDiskInquireUnsafe (MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, void *UserVarPtr) {return MbufDiskInquire(FileName, InquireType, UserVarPtr);} inline MIL_INT MFTYPE MbufDiskInquireSafeType(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MbufDiskInquireSafeTypeExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufDiskInquireSafeType(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) { return MbufDiskInquireSafeTypeExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } inline MIL_INT MFTYPE MbufDiskInquireSafeType(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) {return MbufDiskInquireSafeTypeExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE );} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufDiskInquireSafeType(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MbufDiskInquireSafeTypeExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufDiskInquireSafeType(MIL_CONST_TEXT_PTR FileName, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MbufDiskInquireSafeTypeExecute(FileName, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #endif #endif // ---------------------------------------------------------- // MbufGetHookInfo inline MIL_INT MFTYPE MbufGetHookInfoSafeTypeExecute (MIL_ID EventId, MIL_INT64 InfoType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MbufGetHookInfoRequiredType(InfoType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MbufGetHookInfo")); return MbufGetHookInfo(EventId, InfoType, ValuePtr); } inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int ResultPtr) { if (ResultPtr) SafeTypeError(MIL_TEXT("MbufGetHookInfo")); return MbufGetHookInfo(EventId, InfoType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t) { return MbufGetHookInfo(EventId, InfoType, NULL); } #endif inline MIL_INT MFTYPE MbufGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *ResultPtr) {return MbufGetHookInfo (EventId, InfoType, ResultPtr) ;} inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr) {return MbufGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT32 );} inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr) {return MbufGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT64); } inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *ResultPtr) {return MbufGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_DOUBLE );} inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_TEXT_CHAR *ResultPtr) {return MbufGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_TEXT); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *ResultPtr) {return MbufGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *ResultPtr) {return MbufGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MbufInquireContainer inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, int UserVarPtr) { if(UserVarPtr || M_BUF_INQUIRE_MUST_HAVE_USER_PTR(InquireType)) SafeTypeError(MIL_TEXT("MbufInquireContainer")); return MbufInquireContainer(ContainerBufId, Component, InquireType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, std::nullptr_t) { if(M_BUF_INQUIRE_MUST_HAVE_USER_PTR(InquireType)) SafeTypeError(MIL_TEXT("MbufInquireContainer")); return MbufInquireContainer(ContainerBufId, Component, InquireType, NULL); } #endif inline MIL_INT MFTYPE MbufInquireContainerSafeTypeExecute(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MbufInquireContainerRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if(IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MbufInquireContainer")); return MbufInquireContainer(ContainerBufId, Component, InquireType, UserVarPtr); } inline MIL_INT MFTYPE MbufInquireContainerUnsafe (MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, void *UserVarPtr) { return MbufInquireContainer(ContainerBufId, Component, InquireType, UserVarPtr); } inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr) { return MbufInquireContainerSafeTypeExecute(ContainerBufId, Component, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_TEXT); } inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) { return MbufInquireContainerSafeTypeExecute(ContainerBufId, Component, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) { return MbufInquireContainerSafeTypeExecute(ContainerBufId, Component, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE); } inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) { return MbufInquireContainerSafeTypeExecute(ContainerBufId, Component, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT8 *UserVarPtr) { return MbufInquireContainerSafeTypeExecute(ContainerBufId, Component, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_UINT8); } inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) { return MbufInquireContainerSafeTypeExecute(ContainerBufId, Component, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MbufInquireContainerSafeType(MIL_ID ContainerBufId, MIL_INT64 Component, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) { return MbufInquireContainerSafeTypeExecute(ContainerBufId, Component, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MbufInquire inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, int ResultPtr) { if (ResultPtr || M_BUF_INQUIRE_MUST_HAVE_USER_PTR(InquireType)) SafeTypeError(MIL_TEXT("MbufInquire")); return MbufInquire(BufId, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, std::nullptr_t) { if(M_BUF_INQUIRE_MUST_HAVE_USER_PTR(InquireType)) SafeTypeError(MIL_TEXT("MbufInquire")); return MbufInquire(BufId, InquireType, NULL); } #endif inline MIL_INT MFTYPE MbufInquireSafeTypeExecute (MIL_ID BufId, MIL_INT64 InquireType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MbufInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MbufInquire")); return MbufInquire(BufId, InquireType, ValuePtr); } inline MIL_INT MFTYPE MbufInquireUnsafe (MIL_ID BufId, MIL_INT64 InquireType, void *ResultPtr) {return MbufInquire (BufId, InquireType, ResultPtr);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT32 *ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT64 *ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_DOUBLE *ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_DOUBLE );} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_TEXT_CHAR *ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, char **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const char **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, signed char **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const signed char **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, unsigned char **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const unsigned char **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT16 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_INT16 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT16 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_UINT16 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT32 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_INT32 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT32 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_UINT32 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, float **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const float **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_INT64 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_INT64 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT64 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_UINT64 **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_DOUBLE **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MIL_DOUBLE **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, void **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const void **ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_DATA_PTR);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT32 *ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_UINT64 *ResultPtr) {return MbufInquireSafeTypeExecute(BufId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} #endif #ifdef __MILBUFFERINFO_H__ inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, MilBufferInfo **ResultPtr) { if (InquireType != M_BUFFER_INFO) SafeTypeError(MIL_TEXT("MbufInquire")); return MbufInquireUnsafe(BufId, InquireType, ResultPtr); } inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, const MilBufferInfo **ResultPtr) { if (InquireType != M_BUFFER_INFO) SafeTypeError(MIL_TEXT("MbufInquire")); return MbufInquireUnsafe(BufId, InquireType, ResultPtr); } #endif #if M_MIL_USE_WINDOWS #if M_MIL_USE_DIRECTX_SERVICE inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, IDirectDrawSurface **ResultPtr) { if (InquireType != M_DDRAW_SURFACE) SafeTypeError(MIL_TEXT("MbufInquire")); return MbufInquireUnsafe(BufId, InquireType, ResultPtr); } #endif inline MIL_INT MFTYPE MbufInquireSafeType(MIL_ID BufId, MIL_INT64 InquireType, BITMAPINFO **ResultPtr) { if (InquireType != M_BITMAPINFO) SafeTypeError(MIL_TEXT("MbufInquire")); return MbufInquireUnsafe(BufId, InquireType, ResultPtr); } #endif // ---------------------------------------------------------- // MbufInquireFeature #if M_MIL_USE_UNICODE inline void MFTYPE MbufInquireFeatureExecuteW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeatureW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufInquireFeatureExecuteA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeatureA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } #if M_MIL_UNICODE_API #define MbufInquireFeatureExecute MbufInquireFeatureExecuteW #else #define MbufInquireFeatureExecute MbufInquireFeatureExecuteA #endif inline void MFTYPE MbufInquireFeatureUnsafeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MbufInquireFeatureW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTW_PTR UserVarPtr) { MbufInquireFeatureExecuteW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MbufInquireFeatureExecuteW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MbufInquireFeatureExecuteW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MbufInquireFeatureExecuteW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MbufInquireFeatureExecuteW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeatureW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeatureW(BufId, InquireType, FeatureName, UserVarType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MbufInquireFeatureW(BufId, InquireType, FeatureName, UserVarType, M_NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufInquireFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MbufInquireFeatureExecuteW(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif inline void MFTYPE MbufInquireFeatureUnsafeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MbufInquireFeatureA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTA_PTR UserVarPtr) { MbufInquireFeatureExecuteA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MbufInquireFeatureExecuteA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MbufInquireFeatureExecuteA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MbufInquireFeatureExecuteA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MbufInquireFeatureExecuteA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeatureA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeatureA(BufId, InquireType, FeatureName, UserVarType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MbufInquireFeatureA(BufId, InquireType, FeatureName, UserVarType, M_NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufInquireFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MbufInquireFeatureExecuteA(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #if M_MIL_UNICODE_API #define MbufInquireFeatureUnsafe MbufInquireFeatureUnsafeW #else #define MbufInquireFeatureUnsafe MbufInquireFeatureUnsafeA #endif #else inline void MFTYPE MbufInquireFeatureExecute(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeature(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufInquireFeatureUnsafe(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MbufInquireFeature(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXT_CHAR *UserVarPtr) { MbufInquireFeatureExecute(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MbufInquireFeatureExecute(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MbufInquireFeatureExecute(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MbufInquireFeatureExecute(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MbufInquireFeatureExecute(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeature(BufId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MbufInquireFeature")); MbufInquireFeature(BufId, InquireType, FeatureName, UserVarType, (void*)((MIL_UINT)UserVarPtr)); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MbufInquireFeature(BufId, InquireType, FeatureName, UserVarType, (void*)NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufInquireFeatureSafeType(MIL_ID BufId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MbufInquireFeatureExecute(BufId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #endif //M_MIL_USE_UNICODE // ---------------------------------------------------------- // MbufControlFeature #if M_MIL_USE_UNICODE inline void MFTYPE MbufControlFeatureExecuteW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeatureW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureExecuteW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeatureW(BufId, ControlType, FeatureName, UserVarType, NULL); } inline void MFTYPE MbufControlFeatureExecuteA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeatureA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureExecuteA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeatureA(BufId, ControlType, FeatureName, UserVarType, NULL); } #if M_MIL_UNICODE_API #define MbufControlFeatureExecute MbufControlFeatureExecuteW #else #define MbufControlFeatureExecute MbufControlFeatureExecuteA #endif inline void MFTYPE MbufControlFeatureUnsafeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MbufControlFeatureW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTW_PTR UserVarPtr) { MbufControlFeatureExecuteW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MbufControlFeatureExecuteW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MbufControlFeatureExecuteW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MbufControlFeatureExecuteW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MbufControlFeatureExecuteW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeatureW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { MbufControlFeatureExecuteW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MbufControlFeatureExecuteW(BufId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufControlFeatureSafeTypeW(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MbufControlFeatureExecuteW(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif inline void MFTYPE MbufControlFeatureUnsafeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MbufControlFeatureA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTA_PTR UserVarPtr) { MbufControlFeatureExecuteA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MbufControlFeatureExecuteA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MbufControlFeatureExecuteA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MbufControlFeatureExecuteA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MbufControlFeatureExecuteA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeatureA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { MbufControlFeatureExecuteA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MbufControlFeatureExecuteA(BufId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufControlFeatureSafeTypeA(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MbufControlFeatureExecuteA(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #if M_MIL_UNICODE_API #define MbufControlFeatureUnsafe MbufControlFeatureUnsafeW #else #define MbufControlFeatureUnsafe MbufControlFeatureUnsafeA #endif #else inline void MFTYPE MbufControlFeatureExecute(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeature(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureExecute(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MbufControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeature(BufId, ControlType, FeatureName, UserVarType, M_NULL); } inline void MFTYPE MbufControlFeatureUnsafe(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MbufControlFeature(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_TEXT_CHAR *UserVarPtr) { MbufControlFeatureExecute(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MbufControlFeatureExecute(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MbufControlFeatureExecute(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MbufControlFeatureExecute(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MbufControlFeatureExecute(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MbufControlFeature")); MbufControlFeature(BufId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { MbufControlFeatureExecute(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MbufControlFeatureExecute(BufId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MbufControlFeatureSafeType(MIL_ID BufId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MbufControlFeatureExecute(BufId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #endif //M_MIL_USE_UNICODE // ---------------------------------------------------------- // MdigGetHookInfo inline MIL_INT MFTYPE MdigGetHookInfoSafeTypeExecute (MIL_ID EventId, MIL_INT64 InfoType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MdigGetHookInfoRequiredType(InfoType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MdigGetHookInfo")); return MdigGetHookInfo(EventId, InfoType, ValuePtr); } inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int ResultPtr) { if (ResultPtr) SafeTypeError(MIL_TEXT("MdigGetHookInfo")); return MdigGetHookInfo(EventId, InfoType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t) { return MdigGetHookInfo(EventId, InfoType, NULL); } #endif inline MIL_INT MFTYPE MdigGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *ResultPtr) {return MdigGetHookInfo (EventId, InfoType, ResultPtr) ;} inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *ResultPtr) {return MdigGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *ResultPtr) {return MdigGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *ResultPtr) {return MdigGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_DOUBLE );} inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_TEXT_PTR ResultPtr) {return MdigGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_TEXT);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *ResultPtr) {return MdigGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MdigGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *ResultPtr) {return MdigGetHookInfoSafeTypeExecute(EventId, InfoType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} #endif // ---------------------------------------------------------- // MdigInquireFeature #if M_MIL_USE_UNICODE inline void MFTYPE MdigInquireFeatureExecuteW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeatureW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureExecuteA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeatureA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureUnsafeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MdigInquireFeatureW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTW_PTR UserVarPtr) { MdigInquireFeatureExecuteW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MdigInquireFeatureExecuteW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MdigInquireFeatureExecuteW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MdigInquireFeatureExecuteW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MdigInquireFeatureExecuteW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeatureW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeatureW(DigId, InquireType, FeatureName, UserVarType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MdigInquireFeatureW(DigId, InquireType, FeatureName, UserVarType, M_NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigInquireFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MdigInquireFeatureExecuteW(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif inline void MFTYPE MdigInquireFeatureUnsafeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MdigInquireFeatureA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTA_PTR UserVarPtr) { MdigInquireFeatureExecuteA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MdigInquireFeatureExecuteA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MdigInquireFeatureExecuteA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MdigInquireFeatureExecuteA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MdigInquireFeatureExecuteA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeatureA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeatureA(DigId, InquireType, FeatureName, UserVarType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MdigInquireFeatureA(DigId, InquireType, FeatureName, UserVarType, M_NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigInquireFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MdigInquireFeatureExecuteA(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #if M_MIL_UNICODE_API #define MdigInquireFeatureUnsafe MdigInquireFeatureUnsafeW #else #define MdigInquireFeatureUnsafe MdigInquireFeatureUnsafeA #endif #else inline void MFTYPE MdigInquireFeatureExecute(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeature(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureUnsafe(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MdigInquireFeature(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXT_CHAR *UserVarPtr) { MdigInquireFeatureExecute(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MdigInquireFeatureExecute(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MdigInquireFeatureExecute(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MdigInquireFeatureExecute(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MdigInquireFeatureExecute(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeature(DigId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MdigInquireFeature")); MdigInquireFeature(DigId, InquireType, FeatureName, UserVarType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MdigInquireFeature(DigId, InquireType, FeatureName, UserVarType, M_NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigInquireFeatureSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MdigInquireFeatureExecute(DigId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #endif //M_MIL_USE_UNICODE // ---------------------------------------------------------- // MdigControlFeature #if M_MIL_USE_UNICODE inline void MFTYPE MdigControlFeatureExecuteW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeatureW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureExecuteW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeatureW(DigId, ControlType, FeatureName, UserVarType, M_NULL); } inline void MFTYPE MdigControlFeatureExecuteA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeatureA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureExecuteA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeatureA(DigId, ControlType, FeatureName, UserVarType, M_NULL); } inline void MFTYPE MdigControlFeatureUnsafeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MdigControlFeatureW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTW_PTR UserVarPtr) { MdigControlFeatureExecuteW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MdigControlFeatureExecuteW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MdigControlFeatureExecuteW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MdigControlFeatureExecuteW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MdigControlFeatureExecuteW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeatureW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { MdigControlFeatureExecuteW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MdigControlFeatureExecuteW(DigId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigControlFeatureSafeTypeW(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MdigControlFeatureExecuteW(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif inline void MFTYPE MdigControlFeatureUnsafeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MdigControlFeatureA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTA_PTR UserVarPtr) { MdigControlFeatureExecuteA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MdigControlFeatureExecuteA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MdigControlFeatureExecuteA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MdigControlFeatureExecuteA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MdigControlFeatureExecuteA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeatureA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { MdigControlFeatureExecuteA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MdigControlFeatureExecuteA(DigId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigControlFeatureSafeTypeA(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MdigControlFeatureExecuteA(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #if M_MIL_UNICODE_API #define MdigControlFeatureUnsafe MdigControlFeatureUnsafeW #else #define MdigControlFeatureUnsafe MdigControlFeatureUnsafeA #endif #else inline void MFTYPE MdigControlFeatureExecute(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeature(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureExecute(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MdigControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeature(DigId, ControlType, FeatureName, UserVarType, M_NULL); } inline void MFTYPE MdigControlFeatureUnsafe(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MdigControlFeature(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_TEXT_CHAR *UserVarPtr) { MdigControlFeatureExecute(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MdigControlFeatureExecute(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MdigControlFeatureExecute(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MdigControlFeatureExecute(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MdigControlFeatureExecute(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MdigControlFeature")); MdigControlFeature(DigId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { MdigControlFeatureExecute(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MdigControlFeatureExecute(DigId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MdigControlFeatureSafeType(MIL_ID DigId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MdigControlFeatureExecute(DigId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #endif //M_MIL_USE_UNICODE // ---------------------------------------------------------- // MobjInquire inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID ObjInq, MIL_INT64 InquireType, int UserVarPtr) { if(UserVarPtr) SafeTypeError(MIL_TEXT("MobjInquire")); return MobjInquire(ObjInq, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID ObjInq, MIL_INT64 InquireType, std::nullptr_t) { return MobjInquire(ObjInq, InquireType, NULL); } #endif inline MIL_INT MFTYPE MobjInquireExecute(MIL_ID ObjInq, MIL_INT64 InquireType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MobjInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if(IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MobjInquire")); return MobjInquire(ObjInq, InquireType, ValuePtr); } inline MIL_INT MFTYPE MobjInquireUnsafe(MIL_ID ObjInq, MIL_INT64 InquireType, void *UserVarPtr) { return MobjInquire(ObjInq, InquireType, UserVarPtr); } inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID ObjInq, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr) { return MobjInquireExecute(ObjInq, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_TEXT); } inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID ObjInq, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) { return MobjInquireExecute(ObjInq, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID ObjInq, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) { return MobjInquireExecute(ObjInq, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID ObjInq, MIL_INT64 InquireType, void **UserVarPtr) { return MobjInquireExecute(ObjInq, InquireType, UserVarPtr, M_PARAM_TYPE_DATA_PTR); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID ObjInq, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) { return MobjInquireExecute(ObjInq, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MobjInquireSafeType(MIL_ID ObjInq, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) { return MobjInquireExecute(ObjInq, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MdigInquire inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr) SafeTypeError(MIL_TEXT("MdigInquire")); return MdigInquire(DigId, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, std::nullptr_t) { return MdigInquire(DigId, InquireType, NULL); } #endif inline MIL_INT MFTYPE MdigInquireExecute (MIL_ID DigId, MIL_INT64 InquireType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MdigInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MdigInquire")); return MdigInquire(DigId, InquireType, ValuePtr); } inline MIL_INT MFTYPE MdigInquireUnsafe (MIL_ID DigId, MIL_INT64 InquireType, void *UserVarPtr) {return MdigInquire (DigId, InquireType, UserVarPtr );} inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr) {return MdigInquireExecute(DigId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MdigInquireExecute(DigId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MdigInquireExecute(DigId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) {return MdigInquireExecute(DigId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE );} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MdigInquireExecute(DigId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MdigInquireSafeType(MIL_ID DigId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MdigInquireExecute(DigId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #endif #ifdef __MILFPGA_H__ // ---------------------------------------------------------- // MfpgaGetHookInfo inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int UserVarPtr) { if (UserVarPtr != NULL) SafeTypeError(MIL_TEXT("MfpgaGetHookInfo")); return MfpgaGetHookInfo(EventId, InfoType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t) { return MfpgaGetHookInfo(EventId, InfoType, NULL); } #endif inline MIL_INT MFTYPE MfpgaGetHookInfoSafeTypeExecute (MIL_ID EventId, MIL_INT64 InfoType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MfpgaGetHookInfoRequiredType(InfoType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MfpgaGetHookInfo")); return MfpgaGetHookInfo(EventId, InfoType, UserVarPtr); } inline MIL_INT MFTYPE MfpgaGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *UserVarPtr) {return MfpgaGetHookInfo (EventId, InfoType, UserVarPtr );} inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *UserVarPtr) {return MfpgaGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *UserVarPtr) {return MfpgaGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_DOUBLE *UserVarPtr) {return MfpgaGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE );} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *UserVarPtr) {return MfpgaGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MfpgaGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *UserVarPtr) {return MfpgaGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #endif // ---------------------------------------------------------- // MfpgaInquire inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr != NULL) SafeTypeError(MIL_TEXT("MfpgaInquire")); return MfpgaInquire(MilSystemId, FpgaDeviceNum, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, std::nullptr_t) { return MfpgaInquire(MilSystemId, FpgaDeviceNum, InquireType, NULL); } #endif inline MIL_INT MFTYPE MfpgaInquireSafeTypeExecute (MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MfpgaInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MfpgaInquire")); return MfpgaInquire(MilSystemId, FpgaDeviceNum, InquireType, UserVarPtr); } inline MIL_INT MFTYPE MfpgaInquireUnsafe (MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, void *UserVarPtr) {return MfpgaInquire (MilSystemId, FpgaDeviceNum, InquireType, UserVarPtr );} inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MfpgaInquireSafeTypeExecute(MilSystemId, FpgaDeviceNum, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MfpgaInquireSafeTypeExecute(MilSystemId, FpgaDeviceNum, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr) {return MfpgaInquireSafeTypeExecute(MilSystemId, FpgaDeviceNum, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_TEXT);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MfpgaInquireSafeTypeExecute(MilSystemId, FpgaDeviceNum, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MfpgaInquireSafeType(MIL_ID MilSystemId, MIL_INT FpgaDeviceNum, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MfpgaInquireSafeTypeExecute(MilSystemId, FpgaDeviceNum, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #endif #endif // #ifdef __MILFPGA_H__ // ---------------------------------------------------------- // MfuncInquire inline MIL_INT MFTYPE MfuncInquireSafeTypeExecute (MIL_ID ObjectId, MIL_INT64 InquireType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MfuncInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MfuncInquire")); return MfuncInquire(ObjectId, InquireType, UserVarPtr); } inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr) SafeTypeError(MIL_TEXT("MfuncInquire")); return MfuncInquire(ObjectId, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, std::nullptr_t) { return MfuncInquire(ObjectId, InquireType, NULL); } #endif inline MIL_INT MFTYPE MfuncInquireUnsafe (MIL_ID ObjectId, MIL_INT64 InquireType, void *UserVarPtr) {return MfuncInquire (ObjectId, InquireType, UserVarPtr );} inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MfuncInquireSafeTypeExecute(ObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MfuncInquireSafeTypeExecute(ObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MfuncInquireSafeTypeExecute(ObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MfuncInquireSafeType(MIL_ID ObjectId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MfuncInquireSafeTypeExecute(ObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #endif // Struct used as void* parameter in C++ overloads of Inquire/GetResult functions. struct MilVoidPtr { void* Ptr; MIL_INT64 Type; inline MilVoidPtr(MIL_INT8* p): Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_INT8) {} // also handles char* inline MilVoidPtr(MIL_INT16* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_INT16) {} inline MilVoidPtr(MIL_INT32* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_INT32) {} inline MilVoidPtr(MIL_INT64* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_INT64) {} inline MilVoidPtr(MIL_UINT8* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_UINT8) {} inline MilVoidPtr(MIL_UINT16* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_UINT16) {} inline MilVoidPtr(MIL_UINT32* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_UINT32) {} inline MilVoidPtr(MIL_UINT64* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_UINT64) {} inline MilVoidPtr(MIL_FLOAT* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_FLOAT) {} inline MilVoidPtr(MIL_DOUBLE* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_DOUBLE) {} inline MilVoidPtr(MIL_UUID* p) : Ptr(p), Type(M_PARAM_TYPE_ARRAY_MIL_UUID) {} #if M_MIL_SAFE_TYPE_ADD_WCHAR_T inline MilVoidPtr(wchar_t* p) : Ptr(p), Type(M_PARAM_TYPE_MIL_TEXT_UNICODE) {} #endif // Null overloads #if M_MIL_USE_NULLPTR inline MilVoidPtr(std::nullptr_t): Ptr(M_NULL), Type(M_PARAM_TYPE_DATA_PTR) {} #endif inline MilVoidPtr(int Value): Ptr(M_NULL), Type(M_PARAM_TYPE_DATA_PTR) // for 0, M_NULL { #if M_MIL_USE_SAFE_TYPE if(Value != 0) SafeTypeError(MIL_TEXT("Inquire/GetResult"), MIL_TEXT("0 is the only accepted integer value for a pointer.")); #else UNREFERENCED_PARAMETER(Value); #endif } inline MilVoidPtr(long Value): Ptr(M_NULL), Type(M_PARAM_TYPE_DATA_PTR) // for NULL { #if M_MIL_USE_SAFE_TYPE if(Value != 0) SafeTypeError(MIL_TEXT("Inquire/GetResult"), MIL_TEXT("0 is the only accepted integer value for a pointer.")); #else UNREFERENCED_PARAMETER(Value); #endif } }; // Given a M_PARAM_TYPE constant, remove modifiers const, pointer/array, ascii, unicode. // Converts bitness-dependent constants (MIL_INT, MIL_ID) to concrete types (MIL_INT32, MIL_INT64). // Also, convert to signed type if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED is defined. inline MIL_INT64 MfuncDecayToBaseType(MIL_INT64 ParamType) { const MIL_INT64 ParamBaseType = (ParamType & ~M_PARAM_TYPE_MODIFIERS_MASK); // removes const, pointer/array, encoding switch(ParamBaseType) { #if M_MIL_USE_64BIT // 64-bit OS case M_PARAM_TYPE_MIL_ID: return M_PARAM_TYPE_MIL_INT64; case M_PARAM_TYPE_MIL_INT: return M_PARAM_TYPE_MIL_INT64; #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED // Accept unsigned and signed pointers interchangeably case M_PARAM_TYPE_MIL_UINT: return M_PARAM_TYPE_MIL_INT64; #else case M_PARAM_TYPE_MIL_UINT: return M_PARAM_TYPE_MIL_UINT64; #endif #else // 32-bit OS case M_PARAM_TYPE_MIL_ID: return M_PARAM_TYPE_MIL_INT32; case M_PARAM_TYPE_MIL_INT: return M_PARAM_TYPE_MIL_INT32; #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED // Accept unsigned and signed pointers interchangeably case M_PARAM_TYPE_MIL_UINT: return M_PARAM_TYPE_MIL_INT32; #else case M_PARAM_TYPE_MIL_UINT: return M_PARAM_TYPE_MIL_UINT32; #endif #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED // Accept unsigned and signed pointers interchangeably case M_PARAM_TYPE_MIL_UINT8: return M_PARAM_TYPE_MIL_INT8; case M_PARAM_TYPE_MIL_UINT16: return M_PARAM_TYPE_MIL_INT16; case M_PARAM_TYPE_MIL_UINT32: return M_PARAM_TYPE_MIL_INT32; case M_PARAM_TYPE_MIL_UINT64: return M_PARAM_TYPE_MIL_INT64; #endif default: return ParamBaseType; } } // Given the recommended data type RequiredType of flag InquireType, checks whether // a pointer of type PointerType is an acceptable type for it. // RequiredType: M_PARAM_TYPE constant, M_NULL if recommended type unknown. // All strings represented by M_PARAM_TYPE_MIL_TEXT, irrespective of encoding. // May be a bitness-dependent constant, like M_PARAM_TYPE_MIL_INT. // PointerType: M_PARAM_TYPE constant determined using MilVoidPtr. // M_PARAM_TYPE_DATA_PTR (decays to M_PARAM_TYPE_VOID) if pointer is a null constant. // char* represented by M_PARAM_TYPE_ARRAY_MIL_INT8, wchar_t* by M_PARAM_TYPE_MIL_TEXT_UNICODE. // Never a bitness-dependent constant. // InquireType: Actual InquireType/ResultType whose recommended data type is RequiredType. // Used only in case of strings, to determine the caller's encoding. inline bool MfuncPointerIsCompatible(MIL_INT64 RequiredType, MIL_INT64 PointerType, MIL_INT64 InquireType) { // Don't report a safe type error if inquire type is unknown if(RequiredType == M_NULL) return true; MIL_INT64 RequiredBaseType = MfuncDecayToBaseType(RequiredType); MIL_INT64 PointerBaseType = MfuncDecayToBaseType(PointerType); // If given pointer is void or null, accept anything if(PointerBaseType == M_PARAM_TYPE_VOID) return true; // For strings, select pointer type according to encoding // Here, RequiredBaseType is M_PARAM_TYPE_CHAR if recommended type is a string (independent of encoding). // Here, PointerBaseType is M_PARAM_TYPE_CHAR only if given pointer was wchar_t* (for char*, it is M_PARAM_TYPE_MIL_INT8). if(RequiredBaseType == M_PARAM_TYPE_CHAR) { #if M_MIL_UNICODE_API // User is compiling in 16-bit mode if(M_CLIENT_ASCII_ENCODING_SET(InquireType)) { // User asked specifically for the 8-bit version, pointer type must be char* return PointerBaseType == M_PARAM_TYPE_MIL_INT8; } else { // In 16-bit mode, pointer type must be short* or wchar_t* // unsigned short* must be checked in case wchar_t is not treated as a distinct type return PointerBaseType == M_PARAM_TYPE_MIL_INT16 || PointerBaseType == M_PARAM_TYPE_MIL_UINT16 || PointerBaseType == M_PARAM_TYPE_CHAR; // means wchar_t } #else // There is only the 8-bit version, pointer type must be char* UNREFERENCED_PARAMETER(InquireType); return PointerBaseType == M_PARAM_TYPE_MIL_INT8; #endif } else { // Note: wchar_t* (PointerBaseType == M_PARAM_TYPE_CHAR) will always fail here, but not short* return RequiredBaseType == PointerBaseType; } } inline MIL_INT MFTYPE MgraInquireSafeType(MIL_ID ContextGraId, MIL_INT64 InquireType, MilVoidPtr UserVarPtr) { MIL_INT64 RequiredParamType = M_PARAM_TYPE_MIL_INT64; if(!(M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) { MgraInquire(ContextGraId, InquireType | M_DEFAULT_DATA_TYPE, &RequiredParamType); } if(!MfuncPointerIsCompatible(RequiredParamType, UserVarPtr.Type, InquireType)) { SafeTypeError(MIL_TEXT("MgraInquire")); } return MgraInquire(ContextGraId, InquireType, UserVarPtr.Ptr); } inline MIL_INT MFTYPE MgraInquireUnsafe(MIL_ID ContextGraId, MIL_INT64 InquireType, void *UserVarPtr) { return MgraInquire(ContextGraId, InquireType, UserVarPtr); } // ---------------------------------------------------------- // MgraInquireList inline MIL_INT MFTYPE MgraInquireListSafeType(MIL_ID GraListId, MIL_INT Index, MIL_INT SubIndex, MIL_INT64 InquireType, MilVoidPtr UserVarPtr) { MIL_INT64 RequiredParamType = M_PARAM_TYPE_MIL_INT64; if(!(M_DEFAULT_DATA_TYPE_BIT_SET(InquireType) || M_RECOMMENDED_DATA_TYPE_BIT_SET(InquireType))) { MgraInquireList(GraListId, Index, SubIndex, InquireType | M_DEFAULT_DATA_TYPE, &RequiredParamType); } if(!MfuncPointerIsCompatible(RequiredParamType, UserVarPtr.Type, InquireType)) { SafeTypeError(MIL_TEXT("MgraInquireList")); } return MgraInquireList(GraListId, Index, SubIndex, InquireType, UserVarPtr.Ptr); } inline MIL_INT MFTYPE MgraInquireListUnsafe (MIL_ID GraListId, MIL_INT Index, MIL_INT SubIndex, MIL_INT64 InquireType, void *UserVarPtr) {return MgraInquireList (GraListId, Index, SubIndex, InquireType, UserVarPtr);} // ---------------------------------------------------------- // MsysGetHookInfo inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, int ResultPtr) { if (ResultPtr) SafeTypeError(MIL_TEXT("MsysGetHookInfo")); return MsysGetHookInfo(SysId,EventId, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, std::nullptr_t) { return MsysGetHookInfo(SysId, EventId, InquireType, NULL); } #endif inline MIL_INT MFTYPE MsysGetHookInfoSafeTypeExecute (MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MsysGetHookInfoRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MsysGetHookInfo")); return MsysGetHookInfo(SysId, EventId, InquireType, ValuePtr); } inline MIL_INT MFTYPE MsysGetHookInfoUnsafe (MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, void *ResultPtr) {return MsysGetHookInfo (SysId, EventId, InquireType, ResultPtr);} inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_INT32 *ResultPtr) {return MsysGetHookInfoSafeTypeExecute(SysId, EventId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_INT64 *ResultPtr) {return MsysGetHookInfoSafeTypeExecute(SysId, EventId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_DOUBLE *ResultPtr) {return MsysGetHookInfoSafeTypeExecute(SysId, EventId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_DOUBLE);} inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_TEXT_PTR ResultPtr) {return MsysGetHookInfoSafeTypeExecute(SysId, EventId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_TEXT);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_UINT32 *ResultPtr) {return MsysGetHookInfoSafeTypeExecute(SysId, EventId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MsysGetHookInfoSafeType(MIL_ID SysId, MIL_ID EventId, MIL_INT64 InquireType, MIL_UINT64 *ResultPtr) {return MsysGetHookInfoSafeTypeExecute(SysId, EventId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} #endif // ---------------------------------------------------------- // MsysInquire inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, int ResultPtr) { if (ResultPtr || M_SYS_INQUIRE_MUST_HAVE_USER_PTR(InquireType)) SafeTypeError(MIL_TEXT("MsysInquire")); return MsysInquire(SysId, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, std::nullptr_t) { if(M_SYS_INQUIRE_MUST_HAVE_USER_PTR(InquireType)) SafeTypeError(MIL_TEXT("MsysInquire")); return MsysInquire(SysId, InquireType, NULL); } #endif inline MIL_INT MFTYPE MsysInquireSafeTypeExecute (MIL_ID SysId, MIL_INT64 InquireType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MsysInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MsysInquire")); return MsysInquire(SysId, InquireType, ValuePtr); } inline MIL_INT MFTYPE MsysInquireUnsafe (MIL_ID SysId, MIL_INT64 InquireType, void *ResultPtr) {return MsysInquire (SysId, InquireType, ResultPtr);} inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_INT32 *ResultPtr) {return MsysInquireSafeTypeExecute(SysId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_INT64 *ResultPtr) {return MsysInquireSafeTypeExecute(SysId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_TEXT_CHAR *ResultPtr) {return MsysInquireSafeTypeExecute(SysId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_DOUBLE *ResultPtr) {return MsysInquireSafeTypeExecute(SysId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_DOUBLE);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_UINT32 *ResultPtr) {return MsysInquireSafeTypeExecute(SysId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MsysInquireSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_UINT64 *ResultPtr) {return MsysInquireSafeTypeExecute(SysId, InquireType, ResultPtr, M_PARAM_TYPE_MIL_INT64);} #endif // ---------------------------------------------------------- // MsysInquireFeature #if M_MIL_USE_UNICODE inline void MFTYPE MsysInquireFeatureExecuteW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeatureW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureExecuteA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeatureA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureUnsafeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MsysInquireFeatureW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTW_PTR UserVarPtr) { MsysInquireFeatureExecuteW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MsysInquireFeatureExecuteW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MsysInquireFeatureExecuteW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MsysInquireFeatureExecuteW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MsysInquireFeatureExecuteW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeatureW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeatureW(SysId, InquireType, FeatureName, UserVarType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MsysInquireFeatureW(SysId, InquireType, FeatureName, UserVarType, M_NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysInquireFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MsysInquireFeatureExecuteW(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif inline void MFTYPE MsysInquireFeatureUnsafeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MsysInquireFeatureA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXTA_PTR UserVarPtr) { MsysInquireFeatureExecuteA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MsysInquireFeatureExecuteA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MsysInquireFeatureExecuteA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MsysInquireFeatureExecuteA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MsysInquireFeatureExecuteA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeatureA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeatureA(SysId, InquireType, FeatureName, UserVarType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MsysInquireFeatureA(SysId, InquireType, FeatureName, UserVarType, M_NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysInquireFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MsysInquireFeatureExecuteA(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #if M_MIL_UNICODE_API #define MsysInquireFeatureUnsafe MsysInquireFeatureUnsafeW #define MsysInquireFeatureExecute MsysInquireFeatureExecuteW #else #define MsysInquireFeatureUnsafe MsysInquireFeatureUnsafeA #define MsysInquireFeatureExecute MsysInquireFeatureExecuteA #endif #else inline void MFTYPE MsysInquireFeatureExecute(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = InquireFeatureRequiredType(InquireType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeature(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureUnsafe(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, void *UserVarPtr) { MsysInquireFeature(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_TEXT_CHAR *UserVarPtr) { MsysInquireFeatureExecute(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT64 *UserVarPtr) { MsysInquireFeatureExecute(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_DOUBLE *UserVarPtr) { MsysInquireFeatureExecute(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_INT32 *UserVarPtr) { MsysInquireFeatureExecute(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT8 *UserVarPtr) { MsysInquireFeatureExecute(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeature(SysId, InquireType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr != 0) SafeTypeError(MIL_TEXT("MsysInquireFeature")); MsysInquireFeature(SysId, InquireType, FeatureName, UserVarType, M_NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MsysInquireFeature(SysId, InquireType, FeatureName, UserVarType, M_NULL); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysInquireFeatureSafeType(MIL_ID SysId, MIL_INT64 InquireType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, MIL_UINT64 *UserVarPtr) { MsysInquireFeatureExecute(SysId, InquireType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #endif //M_MIL_USE_UNICODE // ---------------------------------------------------------- // MsysControlFeature #if M_MIL_USE_UNICODE inline void MFTYPE MsysControlFeatureExecuteW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureExecuteW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureW(SysId, ControlType, FeatureName, UserVarType, M_NULL); } inline void MFTYPE MsysControlFeatureExecuteA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureExecuteA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureA(SysId, ControlType, FeatureName, UserVarType, M_NULL); } inline void MFTYPE MsysControlFeatureUnsafeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MsysControlFeatureW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTW_PTR UserVarPtr) { MsysControlFeatureExecuteW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MsysControlFeatureExecuteW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MsysControlFeatureExecuteW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MsysControlFeatureExecuteW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MsysControlFeatureExecuteW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureExecuteW(SysId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MsysControlFeatureExecuteW(SysId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysControlFeatureSafeTypeW(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTW_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MsysControlFeatureExecuteW(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif inline void MFTYPE MsysControlFeatureUnsafeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MsysControlFeatureA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, MIL_CONST_TEXTA_PTR UserVarPtr) { MsysControlFeatureExecuteA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MsysControlFeatureExecuteA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MsysControlFeatureExecuteA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MsysControlFeatureExecuteA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MsysControlFeatureExecuteA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureExecuteA(SysId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MsysControlFeatureExecuteA(SysId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysControlFeatureSafeTypeA(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXTA_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MsysControlFeatureExecuteA(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #if M_MIL_UNICODE_API #define MsysControlFeatureUnsafe MsysControlFeatureUnsafeW #define MsysControlFeatureExecute MsysControlFeatureExecuteW #else #define MsysControlFeatureUnsafe MsysControlFeatureUnsafeA #define MsysControlFeatureExecute MsysControlFeatureExecuteA #endif #else inline void MFTYPE MsysControlFeatureExecute(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeature(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureExecute(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = ControlFeatureRequiredType(ControlType, UserVarType); if(RequiredType != GivenType) SafeTypeError(MIL_TEXT("MsysControlFeature")); else if(UserVarPtr) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeature(SysId, ControlType, FeatureName, UserVarType, M_NULL); } inline void MFTYPE MsysControlFeatureUnsafe(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const void *UserVarPtr) { MsysControlFeature(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_TEXT_CHAR *UserVarPtr) { MsysControlFeatureExecute(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_TEXT_CHAR); } inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT64 *UserVarPtr) { MsysControlFeatureExecute(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_DOUBLE *UserVarPtr) { MsysControlFeatureExecute(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_DOUBLE); } inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_INT32 *UserVarPtr) { MsysControlFeatureExecute(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_MIL_INT32); } inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT8 *UserVarPtr) { MsysControlFeatureExecute(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_UINT8); } inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const bool *UserVarPtr) { if(UserVarPtr) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeature(SysId, ControlType, FeatureName, UserVarType, UserVarPtr); } inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, int UserVarPtr) { if(UserVarPtr) SafeTypeError(MIL_TEXT("MsysControlFeature")); MsysControlFeatureExecute(SysId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, std::nullptr_t) { MsysControlFeatureExecute(SysId, ControlType, FeatureName, UserVarType, M_NULL, UserVarType); } #endif #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MsysControlFeatureSafeType(MIL_ID SysId, MIL_INT64 ControlType, MIL_CONST_TEXT_PTR FeatureName, MIL_INT64 UserVarType, const MIL_UINT64 *UserVarPtr) { MsysControlFeatureExecute(SysId, ControlType, FeatureName, UserVarType, UserVarPtr, M_TYPE_INT64); } #endif #endif //M_MIL_USE_UNICODE // ---------------------------------------------------------- // MsysIoInquire inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr || M_SYS_IO_INQUIRE_MUST_HAVE_USER_PTR(InquireType)) SafeTypeError(MIL_TEXT("MsysIoInquire")); return MsysIoInquire(IoObjectId, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, std::nullptr_t) { if(M_SYS_IO_INQUIRE_MUST_HAVE_USER_PTR(InquireType)) SafeTypeError(MIL_TEXT("MsysIoInquire")); return MsysIoInquire(IoObjectId, InquireType, NULL); } #endif inline MIL_INT MFTYPE MsysIoInquireSafeTypeExecute (MIL_ID IoObjectId, MIL_INT64 InquireType, void* UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MsysIoInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MsysIoInquire")); return MsysIoInquire(IoObjectId, InquireType, UserVarPtr); } inline MIL_INT MFTYPE MsysIoInquireUnsafe (MIL_ID IoObjectId, MIL_INT64 InquireType, void *UserVarPtr) {return MsysIoInquire (IoObjectId, InquireType, UserVarPtr);} inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MsysIoInquireSafeTypeExecute(IoObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MsysIoInquireSafeTypeExecute(IoObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr) {return MsysIoInquireSafeTypeExecute(IoObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) {return MsysIoInquireSafeTypeExecute(IoObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MsysIoInquireSafeTypeExecute(IoObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MsysIoInquireSafeType(MIL_ID IoObjectId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MsysIoInquireSafeTypeExecute(IoObjectId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #endif // ---------------------------------------------------------- // MsysIoCommandRegister inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, int CommandStatusPtr) { if (CommandStatusPtr != 0) SafeTypeError(MIL_TEXT("MsysIoCommandRegister")); return MsysIoCommandRegister(IoObjectId, Operation, ReferenceStamp, DelayFromReferenceStamp, Duration, BitToOperate, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, std::nullptr_t) { return MsysIoCommandRegister(IoObjectId, Operation, ReferenceStamp, DelayFromReferenceStamp, Duration, BitToOperate, NULL); } #endif inline MIL_INT MFTYPE MsysIoCommandRegisterExecute(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, void* CommandStatusPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MsysIoCommandRegisterRequiredType(Operation); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MsysIoCommandRegister")); return MsysIoCommandRegister(IoObjectId, Operation, ReferenceStamp, DelayFromReferenceStamp, Duration, BitToOperate, CommandStatusPtr); } inline MIL_INT MFTYPE MsysIoCommandRegisterUnsafe (MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, void* CommandStatusPtr) {return MsysIoCommandRegister(IoObjectId, Operation, ReferenceStamp, DelayFromReferenceStamp, Duration, BitToOperate, CommandStatusPtr);} inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, MIL_INT32* CommandStatusPtr) {return MsysIoCommandRegisterExecute(IoObjectId, Operation, ReferenceStamp, DelayFromReferenceStamp, Duration, BitToOperate, CommandStatusPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, MIL_INT64* CommandStatusPtr) { return MsysIoCommandRegisterExecute(IoObjectId, Operation, ReferenceStamp, DelayFromReferenceStamp, Duration, BitToOperate, CommandStatusPtr, M_PARAM_TYPE_MIL_INT64); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, MIL_UINT32* CommandStatusPtr) {return MsysIoCommandRegisterExecute(IoObjectId, Operation, ReferenceStamp, DelayFromReferenceStamp, Duration, BitToOperate, CommandStatusPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MsysIoCommandRegisterSafeType(MIL_ID IoObjectId, MIL_INT64 Operation, MIL_INT64 ReferenceStamp, MIL_DOUBLE DelayFromReferenceStamp, MIL_DOUBLE Duration, MIL_INT64 BitToOperate, MIL_UINT64* CommandStatusPtr) { return MsysIoCommandRegisterExecute(IoObjectId, Operation, ReferenceStamp, DelayFromReferenceStamp, Duration, BitToOperate, CommandStatusPtr, M_PARAM_TYPE_MIL_INT64); } #endif //------------------------------------------------------------------------------- // MthrInquire inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr != 0) SafeTypeError(MIL_TEXT("MthrInquire")); return MthrInquire(ThreadEventOrMutexId, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, std::nullptr_t) { return MthrInquire(ThreadEventOrMutexId, InquireType, NULL); } #endif inline MIL_INT MFTYPE MthrInquireExecute (MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MthrInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MthrInquire")); return MthrInquire(ThreadEventOrMutexId, InquireType, ValuePtr); } inline MIL_INT MFTYPE MthrInquireUnsafe (MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, void *UserVarPtr) {return MthrInquire ( ThreadEventOrMutexId, InquireType, UserVarPtr );} inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MthrInquireExecute(ThreadEventOrMutexId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32 );} inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) { return MthrInquireExecute(ThreadEventOrMutexId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MthrInquireExecute(ThreadEventOrMutexId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MthrInquireSafeType(MIL_ID ThreadEventOrMutexId, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MthrInquireExecute(ThreadEventOrMutexId, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MseqGetHookInfo #if !M_MIL_USE_LINUX || M_MIL_USE_64BIT inline MIL_INT MFTYPE MseqGetHookInfoSafeTypeExecute (MIL_ID EventId, MIL_INT64 InfoType, void* UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MseqGetHookInfoRequiredType(InfoType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MseqGetHookInfo")); return MseqGetHookInfo(EventId, InfoType, UserVarPtr); } inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, int UserVarPtr) { if (UserVarPtr) SafeTypeError(MIL_TEXT("MseqGetHookInfo")); return MseqGetHookInfo(EventId, InfoType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, std::nullptr_t) { return MseqGetHookInfo(EventId, InfoType, NULL); } #endif inline MIL_INT MFTYPE MseqGetHookInfoUnsafe (MIL_ID EventId, MIL_INT64 InfoType, void *UserVarPtr) {return MseqGetHookInfo (EventId, InfoType, UserVarPtr) ;} inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT32 *UserVarPtr) {return MseqGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_INT64 *UserVarPtr) {return MseqGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT32 *UserVarPtr) {return MseqGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_INT32 );} inline MIL_INT MFTYPE MseqGetHookInfoSafeType(MIL_ID EventId, MIL_INT64 InfoType, MIL_UINT64 *UserVarPtr) { return MseqGetHookInfoSafeTypeExecute(EventId, InfoType, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MseqInquire inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, int UserVarPtr) { if (UserVarPtr || M_IN_SEQ_INQUIRE_MUST_HAVE_PTR(InquireType)) SafeTypeError(MIL_TEXT("MseqInquire")); return MseqInquire(ContextSeqId, SequenceIndex, InquireType, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, std::nullptr_t) { if(M_IN_SEQ_INQUIRE_MUST_HAVE_PTR(InquireType)) SafeTypeError(MIL_TEXT("MseqInquire")); return MseqInquire(ContextSeqId, SequenceIndex, InquireType, NULL); } #endif inline MIL_INT MFTYPE MseqInquireSafeTypeExecute(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, void* UserVarPtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MseqInquireRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) SafeTypeError(MIL_TEXT("MseqInquire")); return MseqInquire(ContextSeqId, SequenceIndex, InquireType, UserVarPtr); } inline MIL_INT MFTYPE MseqInquireUnsafe (MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, void *UserVarPtr) {return MseqInquire (ContextSeqId, SequenceIndex, InquireType, UserVarPtr);} inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_INT32 *UserVarPtr) {return MseqInquireSafeTypeExecute(ContextSeqId, SequenceIndex, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_INT64 *UserVarPtr) {return MseqInquireSafeTypeExecute(ContextSeqId, SequenceIndex, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_TEXT_CHAR *UserVarPtr) {return MseqInquireSafeTypeExecute(ContextSeqId, SequenceIndex, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_TEXT);} inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_DOUBLE *UserVarPtr) {return MseqInquireSafeTypeExecute(ContextSeqId, SequenceIndex, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_DOUBLE);} #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_UINT32 *UserVarPtr) {return MseqInquireSafeTypeExecute(ContextSeqId, SequenceIndex, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT32);} inline MIL_INT MFTYPE MseqInquireSafeType(MIL_ID ContextSeqId, MIL_INT SequenceIndex, MIL_INT64 InquireType, MIL_UINT64 *UserVarPtr) {return MseqInquireSafeTypeExecute(ContextSeqId, SequenceIndex, InquireType, UserVarPtr, M_PARAM_TYPE_MIL_INT64);} #endif #endif // !M_MIL_USE_LINUX // ---------------------------------------------------------- // MappInquireMp inline MIL_INT MFTYPE MappInquireMpSafeTypeExecute(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *UserVarPtr, MIL_INT64 GivenType) { //Override GivenType if InquireType requires a UINT64 if(((InquireType == M_CORE_AFFINITY_MASK) || (InquireType == M_CORE_AFFINITY_MASK_HARDWARE) || (InquireType == M_CORE_MEMORY_BANK_AFFINITY_MASK) || (InquireType == M_CORE_AFFINITY_MASK_PROCESS) || (InquireType == M_MEMORY_BANK_AFFINITY_MASK) || (InquireType == M_MEMORY_BANK_CORE_AFFINITY_MASK)) && (GivenType == M_PARAM_TYPE_MIL_INT64)) { GivenType = M_PARAM_TYPE_MIL_UINT64 + M_PARAM_TYPE_POINTER; } MIL_INT64 RequiredType = MappInquireMpRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) { SafeTypeError(MIL_TEXT("MappInquireMp")); } return MappInquireMp(ContextAppId, InquireType, TypeFlag, TypeValue, UserVarPtr); } inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, int UserVarPtr) { if (UserVarPtr) { SafeTypeError(MIL_TEXT("MappInquireMp")); } return MappInquireMp(ContextAppId, InquireType, TypeFlag, TypeValue, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, std::nullptr_t) { return MappInquireMp(ContextAppId, InquireType, TypeFlag, TypeValue, NULL); } #endif inline MIL_INT MFTYPE MappInquireMpUnsafe(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *UserVarPtr) { return MappInquireMp(ContextAppId, InquireType, TypeFlag, TypeValue, UserVarPtr); } inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT32 *UserVarPtr) { return MappInquireMpSafeTypeExecute(ContextAppId, InquireType, TypeFlag, TypeValue, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT64 *UserVarPtr) { return MappInquireMpSafeTypeExecute(ContextAppId, InquireType, TypeFlag, TypeValue, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT32 *UserVarPtr) { return MappInquireMpSafeTypeExecute(ContextAppId, InquireType, TypeFlag, TypeValue, UserVarPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MappInquireMpSafeType(MIL_ID ContextAppId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT64 *UserVarPtr) { return MappInquireMpSafeTypeExecute(ContextAppId, InquireType, TypeFlag, TypeValue, UserVarPtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MthrInquireMp inline MIL_INT MFTYPE MthrInquireMpSafeTypeExecute(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ResultPtr, MIL_INT64 GivenType) { //Override GivenType if InquireType really requires requires a UINT64 InquireType if((InquireType == M_CORE_AFFINITY_MASK) && (GivenType == M_PARAM_TYPE_MIL_INT64)) { GivenType = M_PARAM_TYPE_MIL_UINT64 + M_PARAM_TYPE_POINTER; } MIL_INT64 RequiredType = MthrInquireMpRequiredType(InquireType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) { SafeTypeError(MIL_TEXT("MthrInquireMp")); } return MthrInquireMp(ThreadId, InquireType, TypeFlag, TypeValue, ResultPtr); } inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, int ResultPtr) { if (ResultPtr) { SafeTypeError(MIL_TEXT("MthrInquireMp")); } return MthrInquireMp(ThreadId, InquireType, TypeFlag, TypeValue, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, std::nullptr_t) { return MthrInquireMp(ThreadId, InquireType, TypeFlag, TypeValue, NULL); } #endif inline MIL_INT MFTYPE MthrInquireMpUnsafe(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ResultPtr) { return MthrInquireMp(ThreadId, InquireType, TypeFlag, TypeValue, ResultPtr); } inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT32 *ResultPtr) { return MthrInquireMpSafeTypeExecute(ThreadId, InquireType, TypeFlag, TypeValue, ResultPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT64 *ResultPtr) { return MthrInquireMpSafeTypeExecute(ThreadId, InquireType, TypeFlag, TypeValue, ResultPtr, M_PARAM_TYPE_MIL_INT64); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT32 *ResultPtr) { return MthrInquireMpSafeTypeExecute(ThreadId, InquireType, TypeFlag, TypeValue, ResultPtr, M_PARAM_TYPE_MIL_INT32); } inline MIL_INT MFTYPE MthrInquireMpSafeType(MIL_ID ThreadId, MIL_INT64 InquireType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT64 *ResultPtr) { return MthrInquireMpSafeTypeExecute(ThreadId, InquireType, TypeFlag, TypeValue, ResultPtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MappControlMp inline void MFTYPE MappControlMpSafeTypeExecute(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MappControlMpRequiredType(ControlType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) { SafeTypeError(MIL_TEXT("MappControlMp")); } MappControlMp(ContextAppId, ControlType, TypeFlag, TypeValue, ValuePtr); } inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, int ValuePtr) { if (ValuePtr) { SafeTypeError(MIL_TEXT("MappControlMp")); } MappControlMp(ContextAppId, ControlType, TypeFlag, TypeValue, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, std::nullptr_t) { MappControlMp(ContextAppId, ControlType, TypeFlag, TypeValue, NULL); } #endif inline void MFTYPE MappControlMpUnsafe(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ValuePtr) { MappControlMp(ContextAppId, ControlType, TypeFlag, TypeValue, ValuePtr); } inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT64 *ValuePtr) { MappControlMpSafeTypeExecute(ContextAppId, ControlType, TypeFlag, TypeValue, ValuePtr, M_PARAM_TYPE_MIL_INT64); } inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_TEXT_PTR ValuePtr) { MappControlMpSafeTypeExecute(ContextAppId, ControlType, TypeFlag, TypeValue, ValuePtr, M_PARAM_TYPE_MIL_TEXT); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MappControlMpSafeType(MIL_ID ContextAppId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT64 *ValuePtr) { MappControlMpSafeTypeExecute(ContextAppId, ControlType, TypeFlag, TypeValue, ValuePtr, M_PARAM_TYPE_MIL_INT64); } #endif // ---------------------------------------------------------- // MthrControlMp inline void MFTYPE MthrControlMpSafeTypeExecute(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ValuePtr, MIL_INT64 GivenType) { MIL_INT64 RequiredType = MthrControlMpRequiredType(ControlType); ReplaceTypeMilIdByTypeMilIntXX(&RequiredType); if (IsTypeMismatch(RequiredType, GivenType)) { SafeTypeError(MIL_TEXT("MthrControlMp")); } MthrControlMp(ThreadId, ControlType, TypeFlag, TypeValue, ValuePtr); } inline void MFTYPE MthrControlMpSafeType(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, int ValuePtr) { if (ValuePtr) { SafeTypeError(MIL_TEXT("MthrControlMp")); } MthrControlMp(ThreadId, ControlType, TypeFlag, TypeValue, NULL); } #if M_MIL_SAFE_TYPE_M_NULL_PTR_TYPE_EXISTS inline void MFTYPE MthrControlMpSafeType(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, std::nullptr_t) { MthrControlMp(ThreadId, ControlType, TypeFlag, TypeValue, NULL); } #endif inline void MFTYPE MthrControlMpUnsafe(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, void *ValuePtr) { MthrControlMp(ThreadId, ControlType, TypeFlag, TypeValue, ValuePtr); } inline void MFTYPE MthrControlMpSafeType(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_INT64 *ValuePtr) { MthrControlMpSafeTypeExecute(ThreadId, ControlType, TypeFlag, TypeValue, ValuePtr, M_PARAM_TYPE_MIL_INT64); } #if M_MIL_SAFE_TYPE_SUPPORTS_UNSIGNED inline void MFTYPE MthrControlMpSafeType(MIL_ID ThreadId, MIL_INT64 ControlType, MIL_INT64 TypeFlag, MIL_INT64 TypeValue, MIL_UINT64 *ValuePtr) { MthrControlMpSafeTypeExecute(ThreadId, ControlType, TypeFlag, TypeValue, ValuePtr, M_PARAM_TYPE_MIL_INT64); } #endif #define MobjInquire MobjInquireSafeType #define MappGetError MappGetErrorSafeType #define MappGetHookInfo MappGetHookInfoSafeType #define MappInquire MappInquireSafeType #define MappInquireConnection MappInquireConnectionSafeType #if M_MIL_USE_UNICODE #define MbufDiskInquireW MbufDiskInquireSafeTypeW #define MbufDiskInquireA MbufDiskInquireSafeTypeA #define MbufInquireFeatureW MbufInquireFeatureSafeTypeW #define MbufControlFeatureW MbufControlFeatureSafeTypeW #if M_MIL_UNICODE_API #define MbufControlFeatureSafeType MbufControlFeatureSafeTypeW #else #define MbufControlFeatureSafeType MbufControlFeatureSafeTypeA #endif #define MbufInquireFeatureA MbufInquireFeatureSafeTypeA #define MbufControlFeatureA MbufControlFeatureSafeTypeA #else #define MbufDiskInquire MbufDiskInquireSafeType #define MbufInquireFeature MbufInquireFeatureSafeType #define MbufControlFeature MbufControlFeatureSafeType #endif #define MbufGetHookInfo MbufGetHookInfoSafeType #define MbufInquire MbufInquireSafeType #define MbufInquireContainer MbufInquireContainerSafeType #define MdigGetHookInfo MdigGetHookInfoSafeType #define MdigInquire MdigInquireSafeType #if M_MIL_USE_UNICODE #define MdigInquireFeatureW MdigInquireFeatureSafeTypeW #define MdigControlFeatureW MdigControlFeatureSafeTypeW #define MdigInquireFeatureA MdigInquireFeatureSafeTypeA #define MdigControlFeatureA MdigControlFeatureSafeTypeA #else #define MdigInquireFeature MdigInquireFeatureSafeType #define MdigControlFeature MdigControlFeatureSafeType #endif //#define MfpgaGetHookInfo MfpgaGetHookInfoSafeType //#define MfpgaInquire MfpgaInquireSafeType // MfuncInquireSafeType is not activated because too many undocumented InquireTypes with various pointer types. //#define MfuncInquire MfuncInquireSafeType #define MgraInquire MgraInquireSafeType #define MgraInquireList MgraInquireListSafeType #define MsysGetHookInfo MsysGetHookInfoSafeType #define MsysInquire MsysInquireSafeType #define MsysIoInquire MsysIoInquireSafeType #define MsysIoCommandRegister MsysIoCommandRegisterSafeType #if M_MIL_USE_UNICODE #define MsysInquireFeatureW MsysInquireFeatureSafeTypeW #define MsysControlFeatureW MsysControlFeatureSafeTypeW #define MsysInquireFeatureA MsysInquireFeatureSafeTypeA #define MsysControlFeatureA MsysControlFeatureSafeTypeA #if M_MIL_UNICODE_API #define MsysInquireFeatureSafeType MsysInquireFeatureSafeTypeW #define MsysControlFeatureSafeType MsysControlFeatureSafeTypeW #else #define MsysInquireFeatureSafeType MsysInquireFeatureSafeTypeA #define MsysControlFeatureSafeType MsysControlFeatureSafeTypeA #endif #else #define MsysInquireFeature MsysInquireFeatureSafeType #define MsysControlFeature MsysControlFeatureSafeType #endif #define MthrInquire MthrInquireSafeType #define MseqGetHookInfo MseqGetHookInfoSafeType #define MseqInquire MseqInquireSafeType #define MappInquireMp MappInquireMpSafeType #define MthrInquireMp MthrInquireMpSafeType #define MappControlMp MappControlMpSafeType #define MthrControlMp MthrControlMpSafeType #else // #if M_MIL_USE_SAFE_TYPE // Definitions of Unsafe functions are available even if M_MIL_USE_SAFE_TYPE // is deactivated in order to allow applications that have been transformed // to use it to compile properly. #define MappGetErrorUnsafe MappGetError #define MappGetHookInfoUnsafe MappGetHookInfo #define MappInquireUnsafe MappInquire #define MappFileOperationUnsafe MappFileOperation #define MappInquireConnectionUnsafe MappInquireConnection #define MbufCreate2dUnsafe MbufCreate2d #define MbufCreateColorUnsafe MbufCreateColor #if M_MIL_USE_UNICODE #define MbufDiskInquireUnsafeW MbufDiskInquireW #define MbufDiskInquireUnsafeA MbufDiskInquireA #define MbufInquireFeatureUnsafeW MbufInquireFeatureW #define MbufControlFeatureUnsafeW MbufControlFeatureW #define MbufInquireFeatureUnsafeA MbufInquireFeatureA #define MbufControlFeatureUnsafeA MbufControlFeatureA #if M_MIL_UNICODE_API #define MbufDiskInquireUnsafe MbufDiskInquireW #define MbufInquireFeatureUnsafe MbufInquireFeatureW #define MbufControlFeatureUnsafe MbufControlFeatureW #else #define MbufDiskInquireUnsafe MbufDiskInquireA #define MbufInquireFeatureUnsafe MbufInquireFeatureA #define MbufControlFeatureUnsafe MbufControlFeatureA #endif #else #define MbufDiskInquireUnsafe MbufDiskInquire #define MbufInquireFeatureUnsafe MbufInquireFeature #define MbufControlFeatureUnsafe MbufControlFeature #endif #if M_MIL_USE_UNICODE #define MdigInquireFeatureUnsafeW MdigInquireFeatureW #define MdigControlFeatureUnsafeW MdigControlFeatureW #define MdigInquireFeatureUnsafeA MdigInquireFeatureA #define MdigControlFeatureUnsafeA MdigControlFeatureA #if M_MIL_UNICODE_API #define MdigInquireFeatureUnsafe MdigInquireFeatureW #define MdigControlFeatureUnsafe MdigControlFeatureW #else #define MdigInquireFeatureUnsafe MdigInquireFeatureA #define MdigControlFeatureUnsafe MdigControlFeatureA #endif #else #define MdigInquireFeatureUnsafe MdigInquireFeature #define MdigControlFeatureUnsafe MdigControlFeature #endif #define MbufGet1dUnsafe MbufGet1d #define MbufGet2dUnsafe MbufGet2d #define MbufGetUnsafe MbufGet #define MbufGetArcUnsafe MbufGetArc #define MbufGetColor2dUnsafe MbufGetColor2d #define MbufGetColorUnsafe MbufGetColor #define MbufGetHookInfoUnsafe MbufGetHookInfo #define MbufGetLineUnsafe MbufGetLine #define MobjInquireUnsafe MobjInquire #define MbufInquireUnsafe MbufInquire #define MbufInquireContainerUnsafe MbufInquireContainer #define MbufPut1dUnsafe MbufPut1d #define MbufPut2dUnsafe MbufPut2d #define MbufPutUnsafe MbufPut #define MbufPutColor2dUnsafe MbufPutColor2d #define MbufPutColorUnsafe MbufPutColor #define MbufPutLineUnsafe MbufPutLine #define MdigGetHookInfoUnsafe MdigGetHookInfo #define MdigInquireUnsafe MdigInquire #define MfpgaGetHookInfoUnsafe MfpgaGetHookInfo #define MfpgaInquireUnsafe MfpgaInquire #define MfuncInquireUnsafe MfuncInquire #define MgraInquireUnsafe MgraInquire #define MgraInquireListUnsafe MgraInquireList #define MsysGetHookInfoUnsafe MsysGetHookInfo #define MsysInquireUnsafe MsysInquire #define MsysIoInquireUnsafe MsysIoInquire #define MsysIoCommandRegisterUnsafe MsysIoCommandRegister #define MthrInquireUnsafe MthrInquire #define MseqGetHookInfoUnsafe MseqGetHookInfo #define MseqInquireUnsafe MseqInquire #define MappInquireMpUnsafe MappInquireMp #define MthrInquireMpUnsafe MthrInquireMp #define MappControlMpUnsafe MappControlMp #define MthrControlMpUnsafe MthrControlMp #if M_MIL_USE_UNICODE #define MsysInquireFeatureUnsafeW MsysInquireFeatureW #define MsysControlFeatureUnsafeW MsysControlFeatureW #define MsysInquireFeatureUnsafeA MsysInquireFeatureA #define MsysControlFeatureUnsafeA MsysControlFeatureA #if M_MIL_UNICODE_API #define MsysInquireFeatureUnsafe MsysInquireFeatureW #define MsysControlFeatureUnsafe MsysControlFeatureW #else #define MsysInquireFeatureUnsafe MsysInquireFeatureA #define MsysControlFeatureUnsafe MsysControlFeatureA #endif #else #define MsysInquireFeatureUnsafe MsysInquireFeature #define MsysControlFeatureUnsafe MsysControlFeature #endif #endif // #if M_MIL_USE_SAFE_TYPE #else // For backward compatibility to the deprecated function name #define MbufControlRegion MbufControlArea #endif #ifdef __cplusplus inline MIL_ID MsysAlloc(MIL_ID ContextAppId, MIL_CONST_TEXT_PTR SystemDescriptor, MIL_CONST_TEXT_PTR SystemNum, MIL_INT64 InitFlag, MIL_ID* SysIdPtr) { return MsysAlloc(ContextAppId, SystemDescriptor, (MIL_INT)SystemNum, InitFlag, SysIdPtr); } #if M_MIL_USE_64BIT inline MIL_ID MsysAlloc(MIL_ID ContextAppId, MIL_CONST_TEXT_PTR SystemDescriptor, MIL_INT32 SystemNum, MIL_INT64 InitFlag, MIL_ID* SysIdPtr) { return MsysAlloc(ContextAppId, SystemDescriptor, (MIL_INT)SystemNum, InitFlag, SysIdPtr); } #endif #if MIL_COMPILE_VERSION < MIL_COMPILE_TRUNK_VERSION inline MIL_ID MsysAlloc(MIL_ID ContextAppId, MIL_CONST_TEXT_PTR SystemDescriptor, MIL_UINT SystemNum, MIL_INT64 InitFlag, MIL_ID* SysIdPtr) { return MsysAlloc(ContextAppId, SystemDescriptor, (MIL_INT)SystemNum, InitFlag, SysIdPtr); } #endif #if !(M_MIL_USE_LINUX && M_MIL_USE_64BIT) inline MIL_ID MsysAlloc(MIL_ID ContextAppId, MIL_CONST_TEXT_PTR SystemDescriptor, int SystemNum, MIL_INT64 InitFlag, MIL_ID* SysIdPtr) { return MsysAlloc(ContextAppId, SystemDescriptor, (MIL_INT)SystemNum, InitFlag, SysIdPtr); } #endif inline MIL_ID MdigAlloc(MIL_ID SystemId, MIL_CONST_TEXT_PTR DigNum, MIL_CONST_TEXT_PTR DataFormat, MIL_INT64 InitFlag, MIL_ID* DigIdPtr) { return MdigAlloc(SystemId, (MIL_INT)DigNum, DataFormat, InitFlag, DigIdPtr); } inline MIL_ID MdigAlloc(MIL_ID SystemId, int DigNum, MIL_CONST_TEXT_PTR DataFormat, MIL_INT64 InitFlag, MIL_ID* DigIdPtr) { return MdigAlloc(SystemId, (MIL_INT)DigNum, DataFormat, InitFlag, DigIdPtr); } #if M_MIL_USE_64BIT && !M_MIL_USE_LINUX inline MIL_ID MdigAlloc(MIL_ID SystemId, MIL_INT32 DigNum, MIL_CONST_TEXT_PTR DataFormat, MIL_INT64 InitFlag, MIL_ID* DigIdPtr) { return MdigAlloc(SystemId, (MIL_INT)DigNum, DataFormat, InitFlag, DigIdPtr); } #endif #endif // __cplusplus // Include Milstring to include MIL_STRING overload to MIL functions #include #ifdef __cplusplus #if M_MIL_USE_STRING inline MIL_UUID MosStrToUuid(const MIL_STRING& StrUuid, MIL_INT64 ControlFlag) { MIL_UUID ResultUuid; MosStrToUuid(StrUuid.c_str(), ControlFlag, &ResultUuid); return ResultUuid; } inline MIL_STRING MosUuidToStr(const MIL_UUID& Uuid, MIL_INT64 ControlFlag) { MIL_TEXT_CHAR OutputText[37]; MosUuidToStr(Uuid, ControlFlag, &OutputText[0]); return MIL_STRING(OutputText); } #endif #endif #ifdef __cplusplus // Struct used as first parameter in C++ overloads of Stream functions. struct MilStreamParam { MIL_TEXT_PTR m_Param; inline MilStreamParam(int): m_Param(M_NULL) {} inline MilStreamParam(long) : m_Param(M_NULL) {} #if M_MIL_USE_NULLPTR inline MilStreamParam(std::nullptr_t) : m_Param(M_NULL) {} #endif #if M_MIL_USE_STRING inline MilStreamParam(const MIL_STRING& FileName) : m_Param((MIL_TEXT_PTR)FileName.c_str()) {} #endif inline MilStreamParam(MIL_TEXT_PTR FileName): m_Param(FileName) {} inline MilStreamParam(MIL_CONST_TEXT_PTR FileName) : m_Param((MIL_TEXT_PTR)FileName) {} inline MilStreamParam(const MIL_UINT8* InMemPtr) : m_Param((MIL_TEXT_PTR)InMemPtr) {} inline MilStreamParam(MIL_UINT8* OutMemPtr) : m_Param((MIL_TEXT_PTR)OutMemPtr) {} }; // Struct used as Name parameter in C++ overloads of MxxxName functions. struct MilNameParam { MIL_TEXT_PTR m_Param; bool m_ConstStr; inline MilNameParam(int): m_Param(M_NULL), m_ConstStr(false) {} inline MilNameParam(long) : m_Param(M_NULL), m_ConstStr(false) {} #if M_MIL_USE_NULLPTR inline MilNameParam(std::nullptr_t) : m_Param(M_NULL), m_ConstStr(false) {} #endif #if M_MIL_USE_STRING inline MilNameParam(const MIL_STRING& Name) : m_Param((MIL_TEXT_PTR)Name.c_str()), m_ConstStr(true) {} #endif inline MilNameParam(MIL_TEXT_PTR Name): m_Param(Name), m_ConstStr(false) {} inline MilNameParam(MIL_CONST_TEXT_PTR Name) : m_Param((MIL_TEXT_PTR)Name), m_ConstStr(true) {} }; inline void MFTYPE MbufStreamCpp(MilStreamParam MemPtrOrFileName, MIL_ID SysId, MIL_INT64 Operation, MIL_INT64 StreamType, MIL_DOUBLE Version, MIL_INT64 ControlFlag, MIL_ID* ContextModIdPtr, MIL_INT* SizeByteVarPtr) { MbufStream(MemPtrOrFileName.m_Param, SysId, Operation, StreamType, Version, ControlFlag, ContextModIdPtr, SizeByteVarPtr); } inline void MFTYPE MbufStreamCpp(MilStreamParam MemPtrOrFileName, MIL_ID SysId, MIL_INT64 Operation, MIL_INT64 StreamType, MIL_DOUBLE Version, MIL_INT64 ControlFlag, int /*ContextModIdPtr*/, MIL_INT* SizeByteVarPtr) { MbufStream(MemPtrOrFileName.m_Param, SysId, Operation, StreamType, Version, ControlFlag, nullptr, SizeByteVarPtr); } #undef MbufStream #define MbufStream MbufStreamCpp #endif // Include Milstring to include std::vector overloads to MIL functions #include