#ifndef TA_FRAME_PRIV_H
#define TA_FRAME_PRIV_H
#ifndef TA_ABSTRACT_H
#include "ta_abstract.h"
#endif
#ifndef TA_MAGIC_NB_H
#include "ta_magic_nb.h"
#endif
typedef struct
{
const TA_Real *open;
const TA_Real *high;
const TA_Real *low;
const TA_Real *close;
const TA_Real *volume;
const TA_Real *openInterest;
} TA_PricePtrs;
typedef struct
{
union TA_ParamHolderInputData
{
const TA_Real *inReal;
const TA_Integer *inInteger;
TA_PricePtrs inPrice;
} data;
const TA_InputParameterInfo *inputInfo;
} TA_ParamHolderInput;
typedef struct
{
union TA_ParamHolderOptInData
{
TA_Integer optInInteger;
TA_Real optInReal;
} data;
const TA_OptInputParameterInfo *optInputInfo;
} TA_ParamHolderOptInput;
typedef struct
{
union TA_ParamHolderOutputData
{
TA_Real *outReal;
TA_Integer *outInteger;
} data;
const TA_OutputParameterInfo *outputInfo;
} TA_ParamHolderOutput;
typedef struct
{
unsigned int magicNumber;
TA_ParamHolderInput *in;
TA_ParamHolderOptInput *optIn;
TA_ParamHolderOutput *out;
unsigned int inBitmap;
unsigned int outBitmap;
const TA_FuncInfo *funcInfo;
} TA_ParamHolderPriv;
typedef TA_RetCode (*TA_FrameFunction)( const TA_ParamHolderPriv *params,
TA_Integer startIdx,
TA_Integer endIdx,
TA_Integer *outBegIdx,
TA_Integer *outNbElement );
typedef unsigned int (*TA_FrameLookback)( const TA_ParamHolderPriv *params );
#endif