#ifndef	_DATA_API
#define	_DATA_API

_declspec(dllimport) int	ebGetCurrentLayer (char*  layer=NULL);
_declspec(dllimport) int	ebGetCurrentLType (char*  ltype=NULL);
_declspec(dllimport) int	ebGetCurrentColor (char*  color=NULL);
_declspec(dllimport) int	ebGetEBPath (char*  path);
_declspec(dllimport) int	ebGetNodeType (EB_NODE  node, char*  type=NULL);
_declspec(dllimport) int	ebGetNodeAttrib(EB_NODE  node, int*  layer, int*  ltype,  int*  color);
_declspec(dllimport) int	ebSetCurrentLayer (int  layer);
_declspec(dllimport) int	ebSetCurrentLType (int  ltype);
_declspec(dllimport) int	ebSetCurrentColor (int  color);
_declspec(dllimport) int	ebSetNodeAttrib(EB_NODE  node, int  layer, int  ltype,int color);
_declspec(dllimport) int	ebGetPointData(EB_NODE  node, EB_POINT*  point);
_declspec(dllimport) int	ebGetLineData(EB_NODE  node, EB_POINT*  p_start, EB_POINT*  p_end);
_declspec(dllimport) int	ebGetCircleData(EB_NODE node, EB_POINT* p_cen, double* r);
_declspec(dllimport) int	ebGetArcData(EB_NODE  node, EB_POINT*  p_cen, EB_POINT*  p_start, EB_POINT*  p_end,  double* r, double* a);
_declspec(dllimport) int	ebGetEllipseData(EB_NODE  node, EB_POINT*  p_cen, double*  length, double*  width, double* ang,double*  ang_s, double*  ang_e);
_declspec(dllimport) int	ebGetBlockData(EB_NODE  node, EB_POINT*  p_cen, double*  ang, char*  name);
_declspec(dllimport) int	ebGetHatchData(EB_NODE  node, EB_POINT*  p_cen, double*  ang, double*  scale, char*  pattern);
_declspec(dllimport) int	ebGetTextData(EB_NODE  node, EB_POINT*  p_cen, char*  text, double*  height, double*  ang);
_declspec(dllimport) int	ebGetDimData(EB_NODE  node,  int*  type,  char*  text,  double*  value);
_declspec(dllimport) int	ebGetPolylineData(EB_NODE node,EB_POINT **pArray,int* num);

_declspec(dllimport) int	ebSetPointData(EB_NODE  node, EB_POINT  point);
_declspec(dllimport) int	ebSetLineData(EB_NODE  node,EB_POINT  ps, EB_POINT  pe);
//_declspec(dllimport) int	ebSetCircleData(EB_NODE node, EB_POINT  p_cen, double  r);
//_declspec(dllimport) int	ebSetArcData(EB_NODE  node, EB_POINT  p_cen, EB_POINT  p_start, EB_POINT  p_end);
_declspec(dllimport) int	ebSetEllipseData(EB_NODE  node, EB_POINT  p_center, double  length, double  width, double angle_r, double  angle_s=0.0, double  angle_e=PI2);
_declspec(dllimport) int	ebSetBlockData(EB_NODE  node, EB_POINT  p_cen, double  ang,char* name=NULL);
_declspec(dllimport) int	ebSetPcRCircleData(EB_NODE node, EB_POINT  p_cen, double  r);
_declspec(dllimport) int	ebSetPsP2PeCircleData(EB_NODE node, EB_POINT  ps,EB_POINT p2,EB_POINT pe);
_declspec(dllimport) int	ebSetPcPsPeArcData(EB_NODE  node, EB_POINT  pc, EB_POINT  ps, EB_POINT  pe);
_declspec(dllimport) int	ebSetPsP2PeArcData(EB_NODE  node, EB_POINT  ps, EB_POINT  p2, EB_POINT  pe);
_declspec(dllimport) int	ebSetPcRAsAeArcData(EB_NODE  node, EB_POINT  pc, double r,double as, double ae);
_declspec(dllimport) int	ebSetPsPeRArcData(EB_NODE node,XYZ ps,XYZ pe,double r);
_declspec(dllimport) int	ebSetPsPeAArcData(EB_NODE node,XYZ ps,XYZ pe,double angle);

_declspec(dllimport) int	ebCreateLineType(CString  name,int  factor,double  width,unsigned short  pattern);
_declspec(dllimport) int	ebSetExtendData(EB_NODE node,unsigned char type,void* value);
_declspec(dllimport) int	ebGetExtendData(EB_NODE node,unsigned char type,void* value);

#endif