#if !defined(_USERLIB)
#define _USERLIB
#ifdef __cplusplus
extern "C" {
#endif
short GT_AbptStp(void);
short GT_AddList(void);
short GT_AlarmOff(void);
short GT_AlarmOn(void);
short GT_ArcXY(double x_center,double y_center,double angle);
short GT_ArcXYP(double x_end,double y_end,double r,short direction);
short GT_ArcYZ(double y_center,double z_center,double angle);
short GT_ArcYZP(double y_end,double z_end,double r,short direction);
short GT_ArcZX(double z_center,double x_center,double angle);
short GT_ArcZXP(double z_end,double x_end,double r,short direction);
short GT_AuStpOff(void);
short GT_AuStpOn(void);
short GT_AuUpdtOff(void);
short GT_AuUpdtOn(void);
short GT_Axis(unsigned short axis);
short GT_AxisI(void);
short GT_AxisOff(void);
short GT_AxisOn(void);
short GT_BrkOff(void);
short GT_CaptHome(void);
short GT_CaptIndex(void);
short GT_CaptProb(void);
short GT_Close(void);
short GT_CloseLp(void);
short GT_ClrEncPos(unsigned short number);
short GT_ClrSts(void);
short GT_CrdAuStpOff(void);
short GT_CrdAuStpOn(void);
short GT_CtrlMode(unsigned short mode);
short GT_DrvRst(void);
short GT_EncPos(unsigned short axis,long *pos);
short GT_EncSns(unsigned short sense);
short GT_EncVel(unsigned short axis,double *vel);
short GT_EndList(void);
short GT_EStpMtn(void);
short GT_ExInpt(unsigned short *io_input);
short GT_ExOpt(unsigned short io_output);
short GT_ExOptBit(unsigned short bit,unsigned short value);
short GT_ExtBrk(void);
short GT_GetAcc(double *acc);
short GT_GetAccLmt(unsigned long *limit);
short GT_GetAdc(unsigned short channel,short *voltage);
short GT_GetAtlErr(short *error);
short GT_GetAtlPos(long *pos);
short GT_GetAtlVel(double *vel);
short GT_GetBrkCn(long *pos);
short GT_GetBrkPnt(double *point);
short GT_GetCapt(long *pos);
short GT_GetClock(unsigned long *time);
short GT_GetCmdSts(unsigned short *status);
short GT_GetCrdSts(unsigned short *status);
short GT_GetCrdVel(double *vel);
short GT_GetCurrentCardNo(void);
short GT_GetEncCapt(long *value);
short GT_GetEncSts(unsigned short *value);
short GT_GetEncStsEx(unsigned long *value);
short GT_GetExOpt(unsigned short *value);
short GT_GetHomeSwt(unsigned short *home);
short GT_GetILmt(unsigned short *limit);
short GT_GetIntgr(short *integral);
short GT_GetJerk(double *jerk);
short GT_GetKaff(unsigned short *kaff);
short GT_GetKd(unsigned short *kd);
short GT_GetKi(unsigned short *ki);
short GT_GetKp(unsigned short *kp);
short GT_GetKvff(unsigned short *kvff);
short GT_GetLmtSwt(unsigned short *limit);
short GT_GetMAcc(double *acc);
short GT_GetMode(unsigned short *mode);
short GT_GetMtnNm(unsigned short *number);
short GT_GetMtrBias(short *bias);
short GT_GetMtrCmd(short *voltage);
short GT_GetMtrLmt(unsigned short *limit);
short GT_GetPos(long *pos);
short GT_GetPosErr(unsigned short *limit);
short GT_GetPrfPnt(double *point);
short GT_GetPrfPos(long *pos);
short GT_GetPrfVel(double *vel);
short GT_GetRatio(double *ratio);
short GT_GetSmplTm(double *time);
short GT_GetSts(unsigned short *status);
short GT_GetStsEx(unsigned long *status);
short GT_GetVel(double *vel);
short GT_HardRst(void);
short GT_HomeSns(unsigned short sense);
short GT_LmtSns(unsigned short sense);
short GT_LmtsOff(void);
short GT_LmtsOn(void);
short GT_LnXY(double x,double y);
short GT_LnXYZ(double x,double y,double z);
short GT_LnXYZA(double x,double y,double z,double a);
short GT_MapAxis(unsigned short axis,double *map);
short GT_MltiUpdt(unsigned short mask);
short GT_MtnBrk(void);
short GT_MvXY(double x,double y,double vel,double acc);
short GT_MvXYZ(double x,double y,double z,double vel,double acc);
short GT_MvXYZA(double x,double y,double z,double a,double vel,double acc);
short GT_NegBrk(void);
short GT_Open(void);
short GT_OpenLp(void);
short GT_PosBrk(void);
short GT_PrflG(unsigned short master);
short GT_PrflS(void);
short GT_PrflT(void);
short GT_PrflV(void);
short GT_ProbStopOff(void);
short GT_ProbStopOn(void);
short GT_Reset(void);
short GT_RstSts(unsigned short mask);
short GT_SetAcc(double acc);
short GT_SetAccLmt(double limit);
short GT_SetAtlPos(long pos);
short GT_SetBrkCn(long pos);
short GT_SetEncCapt(void);
short GT_SetILmt(unsigned short limit);
short GT_SetJerk(double jerk);
short GT_SetKaff(unsigned short kaff);
short GT_SetKaffEx(double kaff);
short GT_SetKd(unsigned short kd);
short GT_SetKdEx(double kd);
short GT_SetKi(unsigned short ki);
short GT_SetKiEx(double ki);
short GT_SetKp(unsigned short kp);
short GT_SetKpEx(double kp);
short GT_SetKvff(unsigned short kvff);
short GT_SetKvffEx(double kvff);
short GT_SetMAcc(double acc);
short GT_SetMtrBias(short bias);
short GT_SetMtrCmd(short voltage);
short GT_SetMtrLmt(unsigned short limit);
short GT_SetPos(long pos);
short GT_SetPosErr(unsigned short limit);
short GT_SetRatio(double ratio);
short GT_SetSmplTm(double time);
short GT_SetSynAcc(double acc);
short GT_SetSynVel(double vel);
short GT_SetVel(double vel);
short GT_SmthStp(void);
short GT_StepDir(void);
short GT_StepPulse(void);
short GT_StpMtn(void);
short GT_StrtList(void);
short GT_StrtMtn(void);
short GT_SwitchtoCardNo(unsigned short number);
short GT_SynchPos(void);
short GT_Update(void);
short GT_ZeroPos(void);
short GT_SetIntrMsk(unsigned short mask);
short GT_GetIntrMsk(unsigned short *mask);
short GT_TmrIntr(void);
short GT_SetIntrTm(unsigned short time);
short GT_GetIntrTm(unsigned short *time);
short GT_EvntIntr(void);
short GT_GetIntr(unsigned short *status);
short GT_RstIntr(unsigned short mask);
#ifdef __cplusplus
typedef void interrupt (*GT_ISR)(...);
#else
typedef void interrupt (*GT_ISR)();
#endif
GT_ISR GT_HookIsr(GT_ISR isr);
short GT_UnhookIsr(GT_ISR isr);
short GT_ClearInt(unsigned short CardNo);
#ifdef __cplusplus
}
#endif
#endif //_USERLIB