cotton_double/Include/ClassicMIL/milfunc.h

460 lines
25 KiB
C

/***************************************************************************/
/*
Filename: MILFUNC.H
Revision: 10.60.0776
Content : This file contains the prototypes for the Matrox
Imaging Library (MIL) Mfunc user's functions.
Copyright © Matrox Electronic Systems Ltd., 1992-2023.
All Rights Reserved
*/
/***************************************************************************/
#ifndef __MILFUNC_H
#define __MILFUNC_H
/* C++ directive if needed */
#ifdef __cplusplus
extern "C"
{
#endif
/***************************************************************************/
/* TOOLKIT FOR PSEUDO MIL FUNCTIONS DEVELOPMENT */
/***************************************************************************/
typedef void (MFTYPE *MIL_FUNC_FUNCTION_PTR)(MIL_ID FunctionId);
typedef MIL_FUNC_FUNCTION_PTR MFUNCSLAVEFCTPTR;
typedef MIL_FUNC_FUNCTION_PTR MFUNCFCTPTR;
typedef MIL_FUNC_FUNCTION_PTR MFUNCSLAVEPAFCTPTR;
// we need the ASCII version even on non-Unicode version
// this is needed for transferring ASCII strings in DMIL
void MFTYPE MfuncParamMilTextA(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_TEXTA_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstMilTextA(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXTA_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamFilenameA(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXTA_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
MIL_INT64 MFTYPE MfuncParamTypeToType(MIL_INT64 ParamType, MIL_INT64 Option);
#if M_MIL_USE_UNICODE
MIL_ID MFTYPE MfuncAllocW(MIL_CONST_TEXTW_PTR FunctionName,
MIL_INT ParameterNum,
MIL_FUNC_FUNCTION_PTR SlaveFunctionPtr,
MIL_CONST_TEXTW_PTR SlaveFunctionDLLName,
MIL_CONST_TEXTW_PTR SlaveFunctionName,
MIL_INT SlaveFunctionOpcode,
MIL_INT64 InitFlag,
MIL_ID *CBasedContextFuncIdPtr);
MIL_ID MFTYPE MfuncAllocA(MIL_CONST_TEXTA_PTR FunctionName,
MIL_INT ParameterNum,
MIL_FUNC_FUNCTION_PTR SlaveFunctionPtr,
MIL_CONST_TEXTA_PTR SlaveFunctionDLLName,
MIL_CONST_TEXTA_PTR SlaveFunctionName,
MIL_INT SlaveFunctionOpcode,
MIL_INT64 InitFlag,
MIL_ID *CBasedContextFuncIdPtr);
MIL_ID MFTYPE MfuncAllocScriptW(MIL_CONST_TEXTW_PTR FunctionName,
MIL_INT ParameterNum,
MIL_CONST_TEXTW_PTR InterpreterLanguage,
MIL_CONST_TEXTW_PTR ScriptFileName,
MIL_CONST_TEXTW_PTR ScriptFunctionName,
MIL_INT ScriptFunctionOpcode,
MIL_INT64 InitFlag,
MIL_ID *ScriptBasedContextFuncIdPtr);
MIL_ID MFTYPE MfuncAllocScriptA(MIL_CONST_TEXTA_PTR FunctionName,
MIL_INT ParameterNum,
MIL_CONST_TEXTA_PTR InterpreterLanguage,
MIL_CONST_TEXTA_PTR ScriptFileName,
MIL_CONST_TEXTA_PTR ScriptFunctionName,
MIL_INT ScriptFunctionOpcode,
MIL_INT64 InitFlag,
MIL_ID *ScriptBasedContextFuncIdPtr);
MIL_INT MFTYPE MfuncErrorReportW(MIL_ID ContextFuncId,
MIL_INT ErrorCode,
MIL_CONST_TEXTW_PTR ErrorMessage,
MIL_CONST_TEXTW_PTR ErrorSubMessage1,
MIL_CONST_TEXTW_PTR ErrorSubMessage2,
MIL_CONST_TEXTW_PTR ErrorSubMessage3);
MIL_INT MFTYPE MfuncErrorReportA(MIL_ID ContextFuncId,
MIL_INT ErrorCode,
MIL_CONST_TEXTA_PTR ErrorMessage,
MIL_CONST_TEXTA_PTR ErrorSubMessage1,
MIL_CONST_TEXTA_PTR ErrorSubMessage2,
MIL_CONST_TEXTA_PTR ErrorSubMessage3);
MIL_INT MFTYPE MfuncCustomExitW(MIL_INT Code, MIL_CONST_TEXTW_PTR Message);
MIL_INT MFTYPE MfuncCustomExitA(MIL_INT Code, MIL_CONST_TEXTA_PTR Message);
void MFTYPE MfuncParamMilTextW(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_TEXTW_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstMilTextW(MIL_ID ContextFuncId, MIL_INT ParamIndex,MIL_CONST_TEXTW_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamFilenameW(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXTW_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
MIL_INT MFTYPE MfuncPrintMessageW(MIL_INT Mode,
MIL_CONST_TEXTW_PTR Str1,
MIL_CONST_TEXTW_PTR Str2,
MIL_CONST_TEXTW_PTR Str3,
MIL_CONST_TEXTW_PTR Str4,
MIL_CONST_TEXTW_PTR Str5);
MIL_INT MFTYPE MfuncPrintMessageA(MIL_INT Mode,
MIL_CONST_TEXTA_PTR Str1,
MIL_CONST_TEXTA_PTR Str2,
MIL_CONST_TEXTA_PTR Str3,
MIL_CONST_TEXTA_PTR Str4,
MIL_CONST_TEXTA_PTR Str5);
void MFTYPE MfuncParamA(MIL_ID ContextFuncId, MIL_INT ParamIndex, const void* ParamValuePtr, MIL_UINT ParamType, MIL_INT NumOfItems, MIL_INT64 MilObjectType, MIL_INT Attribute);
void MFTYPE MfuncParamW(MIL_ID ContextFuncId, MIL_INT ParamIndex, const void* ParamValuePtr, MIL_UINT ParamType, MIL_INT NumOfItems, MIL_INT64 MilObjectType, MIL_INT Attribute);
#if M_MIL_UNICODE_API
#define MfuncAlloc MfuncAllocW
#define MfuncAllocScript MfuncAllocScriptW
#define MfuncErrorReport MfuncErrorReportW
#define MfuncCustomExit MfuncCustomExitW
#define MfuncParamMilText MfuncParamMilTextW
#define MfuncParamConstMilText MfuncParamConstMilTextW
#define MfuncParamFilename MfuncParamFilenameW
#define MfuncPrintMessage MfuncPrintMessageW
#define MfuncParam MfuncParamW
#else
#define MfuncAlloc MfuncAllocA
#define MfuncAllocScript MfuncAllocScriptA
#define MfuncErrorReport MfuncErrorReportA
#define MfuncCustomExit MfuncCustomExitA
#define MfuncParamMilText MfuncParamMilTextA
#define MfuncParamConstMilText MfuncParamConstMilTextA
#define MfuncParamFilename MfuncParamFilenameA
#define MfuncPrintMessage MfuncPrintMessageA
#define MfuncParam MfuncParamA
#endif
#else
MIL_ID MFTYPE MfuncAlloc(MIL_CONST_TEXT_PTR FunctionName,
MIL_INT ParameterNum,
MIL_FUNC_FUNCTION_PTR SlaveFunctionPtr,
MIL_CONST_TEXT_PTR SlaveFunctionDLLName,
MIL_CONST_TEXT_PTR SlaveFunctionName,
MIL_INT SlaveFunctionOpcode,
MIL_INT64 InitFlag,
MIL_ID *CBasedContextFuncIdPtr);
MIL_ID MFTYPE MfuncAllocScript(MIL_CONST_TEXT_PTR FunctionName,
MIL_INT ParameterNum,
MIL_CONST_TEXT_PTR InterpreterLanguage,
MIL_CONST_TEXT_PTR ScriptFileName,
MIL_CONST_TEXT_PTR ScriptFunctionName,
MIL_INT ScriptFunctionOpcode,
MIL_INT64 InitFlag,
MIL_ID *ScriptBasedContextFuncIdPtr);
MIL_INT MFTYPE MfuncErrorReport( MIL_ID ContextFuncId,
MIL_INT ErrorCode,
MIL_CONST_TEXT_PTR ErrorMessage,
MIL_CONST_TEXT_PTR ErrorSubMessage1,
MIL_CONST_TEXT_PTR ErrorSubMessage2,
MIL_CONST_TEXT_PTR ErrorSubMessage3);
MIL_INT MFTYPE MfuncExit();
MIL_INT MFTYPE MfuncCustomExit(MIL_INT Code, MIL_CONST_TEXT_PTR Message);
void MFTYPE MfuncParamMilText(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_TEXT_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstMilText(MIL_ID ContextFuncId, MIL_INT ParamIndex,MIL_CONST_TEXT_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamFilename(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXT_PTR ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
MIL_INT MFTYPE MfuncPrintMessage(MIL_INT Mode, MIL_CONST_TEXT_PTR Str1,
MIL_CONST_TEXT_PTR Str2,
MIL_CONST_TEXT_PTR Str3,
MIL_CONST_TEXT_PTR Str4,
MIL_CONST_TEXT_PTR Str5);
void MFTYPE MfuncParam(MIL_ID ContextFuncId, MIL_INT ParamIndex, const void* ParamValuePtr, MIL_UINT ParamType, MIL_INT NumOfItems, MIL_INT64 MilObjectType, MIL_INT Attribute);
#endif
// compatibility function
#if OldDefinesSupport
#define MfuncParamString MfuncParamMilText
MIL_DEPRECATED(MfuncParamString, 1000)
#endif
MIL_ID MFTYPE MfuncAllocId(MIL_ID ContextFuncId, MIL_INT64 MilObjectType, void *UserObjectPtr);
MIL_INT MFTYPE MfuncParamCheck(MIL_ID ContextFuncId);
void MFTYPE MfuncParamMilId(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_ID ParamValue, MIL_INT64 MilObjectType, MIL_INT Attribute);
#if OldDefinesSupport
#define MfuncParamId MfuncParamMilId // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamId, 1000)
#endif
void MFTYPE MfuncParamLong (MIL_ID ContextFuncId, MIL_INT ParamIndex, long ParamValue);
void MFTYPE MfuncParamMilInt(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT ParamValue);
void MFTYPE MfuncParamMilInt32(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT32 ParamValue);
void MFTYPE MfuncParamMilInt64(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT64 ParamValue);
void MFTYPE MfuncParamMilUint(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT ParamValue);
void MFTYPE MfuncParamMilUint32(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT32 ParamValue);
void MFTYPE MfuncParamMilUint64(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT64 ParamValue);
void MFTYPE MfuncParamMilDouble(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_DOUBLE ParamValue);
void MFTYPE MfuncParamMilUUID(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UUID ParamValue);
void MFTYPE MfuncParamDataPointer(MIL_ID ContextFuncId, MIL_INT ParamIndex, void *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
#if OldDefinesSupport
#define MfuncParamDouble MfuncParamMilDouble // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamDouble, 1000)
#define MfuncParamPointer MfuncParamDataPointer
MIL_DEPRECATED(MfuncParamPointer, 1000)
#endif
void MFTYPE MfuncParamIdPointer(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_ID *ParamValuePtr, MIL_INT64 MilObjectType, MIL_INT Attribute);
void MFTYPE MfuncParamValue(MIL_ID ContextFuncId, MIL_INT ParamIndex, void *ParamValuePtr);
MIL_INT MFTYPE MfuncGetError(MIL_ID FunctId, MIL_INT ErrorType,void* ErrorVarPtr);
void MFTYPE MfuncFreeId(MIL_ID ContextFuncId, MIL_ID UserObjectFuncId);
void MFTYPE MfuncFree(MIL_ID ContextFuncId);
MIL_INT MFTYPE MfuncCall(MIL_ID ContextFuncId);
MIL_INT MFTYPE MfuncInquire(MIL_ID MilObjectId, MIL_INT64 InquireType, void* UserVarPtr);
void* MFTYPE MfuncMemory(MIL_INT64 Operation, MIL_INT OperationValue, MIL_INT64 OperationFlag, void *DataPointer);
MIL_ID MFTYPE MfuncGetNextId(MIL_ID CurrentId);
void MFTYPE MfuncMDTrace(void** FileHandle, MIL_INT64 Action, void* DataPointer);
void MFTYPE MfuncTraceTimerRead(MIL_DOUBLE* pCurrentTime);
#if M_MIL_USE_UNICODE
void MFTYPE MfuncTraceObjectMILW(MIL_UINT64 TraceType, MIL_CONST_TEXT_PTR String1);
void MFTYPE MfuncTraceObjectMILA(MIL_UINT64 TraceType, MIL_CONST_TEXT_PTR String1);
#if M_MIL_UNICODE_API
#define MfuncTraceObjectMIL MfuncTraceObjectMILW
#else
#define MfuncTraceObjectMIL MfuncTraceObjectMILA
#endif
#else
void MFTYPE MfuncTraceObjectMIL(MIL_UINT64 TraceType, MIL_CONST_TEXT_PTR String1);
#endif
/* The following MfuncParamValue are for getting the value by type */
void MFTYPE MfuncParamValueMilInt(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT *ParamValuePtr);
void MFTYPE MfuncParamValueMilInt32(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT32 *ParamValuePtr);
void MFTYPE MfuncParamValueMilInt64(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT64 *ParamValuePtr);
void MFTYPE MfuncParamValueMilUint(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT *ParamValuePtr);
void MFTYPE MfuncParamValueMilUint32(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT32 *ParamValuePtr);
void MFTYPE MfuncParamValueMilUint64(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT64 *ParamValuePtr);
void MFTYPE MfuncParamValueMilDouble(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_DOUBLE *ParamValuePtr);
void MFTYPE MfuncParamValueMilUUID(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UUID *ParamValuePtr);
void MFTYPE MfuncParamValueMilId(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_ID *ParamValuePtr);
void MFTYPE MfuncParamValueArrayMilDouble(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_DOUBLE **ParamValuePtr);
void MFTYPE MfuncParamValueConstArrayMilDouble(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_DOUBLE **ParamValuePtr);
void MFTYPE MfuncParamValueArrayMilUUID(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UUID **ParamValuePtr);
void MFTYPE MfuncParamValueConstArrayMilUUID(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_UUID **ParamValuePtr);
#if OldDefinesSupport
#define MfuncParamValueDouble MfuncParamValueMilDouble // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamValueDouble, 1000)
#define MfuncParamValueId MfuncParamValueMilId // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamValueId, 1000)
#define MfuncParamValueArrayDouble MfuncParamValueArrayMilDouble // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamValueArrayDouble, 1000)
#define MfuncParamValueConstArrayDouble MfuncParamValueConstArrayMilDouble // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamValueConstArrayDouble, 1000)
#endif
void MFTYPE MfuncParamValueMilTextA(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_TEXTA_PTR *ParamValuePtr);
void MFTYPE MfuncParamValueConstMilTextA(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXTA_PTR *ParamValuePtr);
void MFTYPE MfuncParamValueFilenameA(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXTA_PTR *ParamValuePtr);
#if M_MIL_USE_UNICODE
#if M_MIL_UNICODE_API
#define MfuncParamValueMilText MfuncParamValueMilTextW
#define MfuncParamValueConstMilText MfuncParamValueConstMilTextW
#define MfuncParamValueFilename MfuncParamValueFilenameW
#else
#define MfuncParamValueMilText MfuncParamValueMilTextA
#define MfuncParamValueConstMilText MfuncParamValueConstMilTextA
#define MfuncParamValueFilename MfuncParamValueFilenameA
#endif
void MFTYPE MfuncParamValueMilTextW(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_TEXTW_PTR *ParamValuePtr);
void MFTYPE MfuncParamValueConstMilTextW(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXTW_PTR *ParamValuePtr);
void MFTYPE MfuncParamValueFilenameW(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXTW_PTR *ParamValuePtr);
#else
void MFTYPE MfuncParamValueMilText(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_TEXT_PTR *ParamValuePtr);
void MFTYPE MfuncParamValueConstMilText(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXT_PTR *ParamValuePtr);
void MFTYPE MfuncParamValueFilename(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_CONST_TEXT_PTR *ParamValuePtr);
#endif
void MFTYPE MfuncParamValueArrayMilInt(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT **ParamValuePtr);
void MFTYPE MfuncParamValueArrayMilUint(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT **ParamValuePtr);
void MFTYPE MfuncParamValueArrayMilInt32(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT32 **ParamValuePtr);
void MFTYPE MfuncParamValueArrayMilUint32(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT32 **ParamValuePtr);
void MFTYPE MfuncParamValueArrayMilInt64(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT64 **ParamValuePtr);
void MFTYPE MfuncParamValueArrayMilUint64(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT64 **ParamValuePtr);
void MFTYPE MfuncParamValueConstArrayMilInt32(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_INT32 **ParamValuePtr);
void MFTYPE MfuncParamValueConstArrayMilUint32(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_UINT32 **ParamValuePtr);
void MFTYPE MfuncParamValueConstArrayMilInt64(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_INT64 **ParamValuePtr);
void MFTYPE MfuncParamValueConstArrayMilUint64(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_UINT64 **ParamValuePtr);
void MFTYPE MfuncParamValueArrayMilId(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_ID **ParamValuePtr);
#if OldDefinesSupport
#define MfuncParamValueArrayId MfuncParamValueArrayMilId // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamValueArrayId, 1000)
#endif
void MFTYPE MfuncParamValuePointer(MIL_ID ContextFuncId, MIL_INT ParamIndex, void ** ParamValuePtr);
void MFTYPE MfuncParamValueConstDataPointer(MIL_ID ContextFuncId, MIL_INT ParamIndex, const void ** ParamValuePtr);
void MFTYPE MfuncParamValueConstArrayMilId(MIL_ID ContextFuncId, MIL_INT ParamIndex,const MIL_ID **ParamValuePtr);
#if OldDefinesSupport
#define MfuncParamValueConstArrayId MfuncParamValueConstArrayMilId // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamValueConstArrayId, 1000)
#endif
void MFTYPE MfuncParamValueConstArrayMilInt(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_INT **ParamValuePtr);
void MFTYPE MfuncParamValueConstArrayMilUint(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_UINT **ParamValuePtr);
void MFTYPE MfuncParamArrayMilInt(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamArrayMilDouble(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_DOUBLE *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamArrayMilUUID(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UUID *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
#if OldDefinesSupport
#define MfuncParamArrayDouble MfuncParamArrayMilDouble // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamArrayDouble, 1000)
#endif
void MFTYPE MfuncParamArrayMilUint(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamArrayMilId(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_ID *ParamValuePtr, MIL_INT NumOfItems, MIL_INT64 MilObjectType, MIL_INT Attribute);
#if OldDefinesSupport
#define MfuncParamArrayId MfuncParamArrayMilId // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamArrayId, 1000)
#endif
void MFTYPE MfuncParamArrayMilInt32(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT32 *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamArrayMilInt64(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_INT64 *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamArrayMilUint32(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT32 *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamArrayMilUint64(MIL_ID ContextFuncId, MIL_INT ParamIndex, MIL_UINT64 *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstArrayMilDouble(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_DOUBLE *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstArrayMilUUID(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_UUID *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
#if OldDefinesSupport
#define MfuncParamConstArrayDouble MfuncParamConstArrayMilDouble // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamConstArrayDouble, 1000)
#endif
void MFTYPE MfuncParamConstArrayMilInt32(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_INT32 *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstArrayMilInt64(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_INT64 *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstArrayMilUint32(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_UINT32 *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstArrayMilUint64(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_UINT64 *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstArrayMilId(MIL_ID ContextFuncId, MIL_INT ParamIndex,const MIL_ID *ParamValuePtr, MIL_INT NumOfItems, MIL_INT64 MilObjectType, MIL_INT Attribute);
#if OldDefinesSupport
#define MfuncParamConstArrayId MfuncParamConstArrayMilId // it was documented in MIL 9, so keep it
MIL_DEPRECATED(MfuncParamConstArrayId, 1000)
#endif
void MFTYPE MfuncParamConstArrayMilInt(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_INT *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstArrayMilUint(MIL_ID ContextFuncId, MIL_INT ParamIndex, const MIL_UINT *ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
void MFTYPE MfuncParamConstDataPointer(MIL_ID ContextFuncId, MIL_INT ParamIndex, const void * ParamValuePtr, MIL_INT NumOfItems, MIL_INT Attribute);
typedef struct
{
MIL_INT32 StructSize;
MIL_INT32 ScriptPathSize;
MIL_INT32 ScriptPathOffset;
MIL_INT32 ScriptFunctionNameSize;
MIL_INT32 ScriptFunctionNameOffset;
MIL_INT32 DebugPathSize;
MIL_INT32 DebugPathOffset;
MIL_INT32 ReferenceListSize;
MIL_INT32 ReferenceListOffset;
MIL_INT64 Compile;
MIL_INT64 DebugInfo;
} M_FUNCSCRIPT_CALL_DATA;
/*The following Mfunc functions are obsolete*/
MIL_INT MFTYPE MfuncStart(MIL_ID ContextFuncId); /*Replaced by MfuncCall*/
void MFTYPE MfuncFreeAndEnd(MIL_ID ContextFuncId); /*Replaced by MfuncCall*/
MIL_INT MFTYPE MfuncModified(MIL_ID ImageId); /*Replaced by MbufControl(M_MODIFIED)*/
MIL_INT MFTYPE MfuncParamRegister(MIL_ID ContextFuncId); /*Parameters must always be registered*/
MIL_INT MFTYPE MfuncIdGetObjectType(MIL_ID FunctionId, MIL_ID ObjectId); /*Replaced by MfuncInquire*/
void MFTYPE MfuncIdSetUserPtr(MIL_ID FunctionId, MIL_ID ObjectId, void *UserPtr); /*Replaced by MfuncControl*/
void* MFTYPE MfuncIdGetUserPtr(MIL_ID FunctionId, MIL_ID ObjectId); /*Replaced by MfuncInquire*/
void MFTYPE MfuncControlInt64(MIL_ID ContextFuncId, MIL_INT64 ControlType, MIL_INT64 ControlValue);
void MFTYPE MfuncControlDouble(MIL_ID ContextFuncId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue);
#if !M_MIL_USE_64BIT
void MFTYPE MfuncControl(MIL_ID ContextFuncId, MIL_INT64 ControlType, MIL_DOUBLE ControlValue);
#endif //M_MIL_USE_64BIT
/* C++ directive if needed */
#ifdef __cplusplus
}
#endif
#if M_MIL_USE_64BIT
#ifdef __cplusplus
//////////////////////////////////////////////////////////////
// MfuncControl function definition when compiling c++ files
//////////////////////////////////////////////////////////////
inline void MfuncControl( MIL_ID ContextFuncId,
MIL_INT64 ControlType,
MIL_DOUBLE ControlValue)
{
MfuncControlDouble(ContextFuncId, ControlType, ControlValue);
}
#else
//////////////////////////////////////////////////////////////
// For C file, call the default function, i.e. Int64 one
//////////////////////////////////////////////////////////////
#define MfuncControl MfuncControlInt64
#endif // __cplusplus
#endif //M_MIL_USE_64BIT
//////////////////////////////////////////////////////////////
// MfuncControl function definition when compiling c++ files
//////////////////////////////////////////////////////////////
#ifdef __cplusplus
inline void MfuncControl(MIL_ID ContextFuncId,
MIL_INT64 ControlType,
MIL_INT64 ControlValue)
{
MfuncControlInt64(ContextFuncId, ControlType, ControlValue);
}
#if !(M_MIL_USE_LINUX && M_MIL_USE_64BIT)
inline void MfuncControl(MIL_ID ContextFuncId,
MIL_INT64 ControlType,
int ControlValue)
{
MfuncControlInt64(ContextFuncId, ControlType, ControlValue);
}
#endif
inline void MfuncControl(MIL_ID ContextFuncId,
MIL_INT64 ControlType,
MIL_INT32 ControlValue)
{
MfuncControlInt64(ContextFuncId, ControlType, ControlValue);
}
inline void MfuncControl(MIL_ID ContextFuncId,
MIL_INT64 ControlType,
MIL_CONST_TEXT_PTR ControlValue)
{
MfuncControl(ContextFuncId, ControlType, M_PTR_TO_MIL_INT(ControlValue));
}
inline void MfuncControl(MIL_ID ContextFuncId,
MIL_INT64 ControlType,
void* ControlValue)
{
MfuncControl(ContextFuncId, ControlType, M_PTR_TO_MIL_INT(ControlValue));
}
#endif
#endif