/*---------------------------------------------------------------------------*/
/* TypePtr.h : Definition of Function Pointers.*/
/* author : Olivier Couvreur*/
/* date   : 25/06/1997*/
/*---------------------------------------------------------------------------*/
#if !defined(__TYPEPTR_H__)
#define __TYPEPTR_H__
 
#if defined(U64)
#include "GSParam.h"
#endif
 
/* pointers on Condition,,Operator,Procedure,Function,KeyWord function*/
typedef struct tdstNodeInterpret_ *(*tdp_fn_p_stConditionFunctionPtr)(HIE_tdxHandleToSuperObject, struct tdstNodeInterpret_ *, long *);
typedef struct tdstNodeInterpret_ *(*tdp_fn_p_stOperatorFunctionPtr)(HIE_tdxHandleToSuperObject, struct tdstNodeInterpret_ *, struct tdstGetSetParam_ *);
typedef struct tdstNodeInterpret_ *(*tdp_fn_p_stProcedureFunctionPtr)(HIE_tdxHandleToSuperObject, struct tdstNodeInterpret_ *);
typedef struct tdstNodeInterpret_ *(*tdp_fn_p_stFunctionFunctionPtr)(HIE_tdxHandleToSuperObject, struct tdstNodeInterpret_ *, struct tdstGetSetParam_ *);
typedef struct tdstNodeInterpret_ *(*tdp_fn_p_stKeyWordFunctionPtr)(HIE_tdxHandleToSuperObject, struct tdstNodeInterpret_ *, struct tdstGetSetParam_ *);
 
/* pointer on Eval Node function*/
typedef struct tdstNodeInterpret_ *(*tdp_fn_p_stEvalTypePtr)(HIE_tdxHandleToSuperObject, struct tdstNodeInterpret_ *, struct tdstGetSetParam_ *);
 
/* pointer on Get/Set function for Fields*/
typedef unsigned char (*tdp_fn_cGetFunctionPtr)(HIE_tdxHandleToSuperObject, struct tdstGetSetParam_ *);
typedef unsigned char (*tdp_fn_cSetFunctionPtr)(HIE_tdxHandleToSuperObject, struct tdstGetSetParam_ *);
typedef void (*tdp_fn_vGetTypeFunctionPtr)(struct tdstGetSetParam_ *);
typedef void (*tdp_fn_vSetTypeFunctionPtr)(struct tdstGetSetParam_ *);
 
/* pointer on Get/Set function for DsgVar*/
typedef unsigned char (*tdp_fn_ucGetDsgVarFunctionPtr)(void *,unsigned char,struct tdstGetSetParam_ *);
typedef unsigned char (*tdp_fn_ucSetDsgVarFunctionPtr)(void *,unsigned char,struct tdstGetSetParam_ *);
 
typedef unsigned char tducActionReturn;
/* pointer on metaaction INIT function*/
typedef struct tdstNodeInterpret_ *(*tdp_fn_p_stMetaActionInitFunctionPtr)(HIE_tdxHandleToSuperObject, struct tdstNodeInterpret_ *);
/* pointer on metaaction NEXT function*/
typedef tducActionReturn (*tdp_fn_ucMetaActionFunctionPtr)(HIE_tdxHandleToSuperObject p_SuperObjPerso);
 
#endif /* __TYPE_PTR_H__*/
