Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

trk.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 * E.S.O. - VLT project
00003 *
00004 * 
00005 * "@(#) $Id: trk.h,v 1.140 2003/11/11 14:54:38 vltsccm Exp $" 
00006 *
00007 * who       when      what
00008 * --------  --------  ----------------------------------------------
00009 * ssandroc 2001-12-29 merged siderostat bw calculation (trk 1.118.2.4):
00010 * jargomed 2000-08-16 | new trkGLOBAL_DATA.acmReadPosFptr field
00011 * jargomed 2000-08-05 | added altEncoder/azEncoder/rotEncoder to trkACT_COORD
00012 * jargomed 2000-08-04 | new #define trkDB_AXIS_READPOSFUNC  ".acmReadPos"
00013 * ssandroc 2001-11-27 added direct guiding offsets in INTERN_COORD
00014 * rkarban 2001-08-13 add autoguiding corrections in ACT_COORD
00015 * rkarban 2001-02-01 add mjd field in INTERN_COORD
00016 * rkarban 2000-10-05 change AXIS_atp to AXIS_probe
00017 * rkarban  26/04/00  add atp axis type
00018 * ssandroc 2000-02-26 added off-axis tracking
00019 * rkarban  10/03/99  move trkPACK related functions and enums to public trk.h
00020 * rkarban  12/08/97  add sendRefsMode to trkGLOBAL_DATA
00021 * rkarban  17/07/97  add simPosFlag to trkSTATUS
00022 * rkarban  14/03/97  add member rotFix in structure trkINTERN_COORD
00023 * rkarban  14/03/97  add member rotFinal in structure trkCOORDINATES
00024 * rkarban  05/12/96  add neccessary definitions to handle AG task
00025 * rkarban  03/12/96  add new DB attributes to structures, new OBJ types
00026 *                    for OFFSROT, OBJROT
00027 * rkarban  15/11/96  add attribute table in trkGlobal for vta attributes
00028 * rkarban  12/11/96  add type trkPOLAR_MOTION and split trkSITE_CONSTANTS
00029                      add prototypes for functions in trk
00030 * kwirenst  22/08/96  changed alt/azAGCOffset to alpha/deltaAGCOffset
00031 * mnastvog  21/05/96  Updated db related structures
00032 * mnastvog  17/05/96  location of point for attribute lastpos in DB changed 
00033 * mnastvog  02/01/96  Separated position readback variables 
00034 * mnastvog  08/12/95  Added variable airMass to internCoord
00035 * mnastvog  01/12/95  Change typo (sidereal)
00036 * mnastvog  05/10/95  Eliminated obsolete function trkGetStatus
00037 * mnastvog  05/10/95  Removed obsolete function trkStopObject
00038 * mnastvog  20/09/95  added function templates
00039 * mnastvog  25/07/95  renaming trkFgExit to  trkTaskExit
00040 * mnastvog  08/02/95  created
00041 */
00042 #ifndef TRK_H
00043 #define TRK_H
00044 
00045 /*
00046  *  Header Files
00047  */
00048 /*
00049  * System includes
00050  */
00051 
00052 #include "stdio.h"
00053 #include "string.h"
00054 #include "ctype.h"
00055 #include "time.h"
00056 #include "math.h"
00057 #include "stdarg.h"
00058 
00059 #ifndef MAKE_VXWORKS
00060 #include "malloc.h"
00061 #endif
00062 
00063 #ifdef  MAKE_VXWORKS
00064 #include "types.h"
00065 
00066 #include "sysLib.h"
00067 #include "tickLib.h"
00068 #include "msgQLib.h"
00069 #include "memLib.h"
00070 #include "lstLib.h"
00071 #include "semLib.h"
00072 #include "wdLib.h"
00073 #include "taskLib.h"
00074 #include "taskVarLib.h"
00075 #include "rebootLib.h"
00076 #include "usrLib.h"
00077 #include "errnoLib.h"
00078 #include "vxLib.h"
00079 #include "logLib.h"
00080 #endif
00081 /*
00082  * VLT includes
00083  */
00084 #include "ccs.h"
00085 #include "db.h"
00086 #include "msg.h"
00087 #include "log.h"
00088 #include "err.h"
00089 #include "lccErrors.h"
00090 #include "too.h"
00091 
00092 #ifdef  MAKE_VXWORKS
00093 #include "lcc.h"
00094 #include "io.h"
00095 #include "cmd.h"
00096 #include "cai.h"
00097 #include "timer.h"
00098 #include "tims.h"
00099 #include "acm.h"
00100 #endif
00101 
00102 #include "trkDefines.h"
00103 
00104 /*
00105  ************************************************ 
00106  *  TRK types and constant definitions          *
00107  ************************************************
00108  */
00109 
00110 #define trkLOG_ID   101 /* !!! TBC */
00111 
00112                               /* State of module */
00113 #define trkSTATE    lccDEV_MODE
00114 #define trkOFF_STATE    lccDEV_OFF
00115 #define trkLOADED               lccDEV_LOADED     
00116 #define trkSTAND_BY             lccDEV_STAND_BY         
00117 #define trkON_LINE              lccDEV_ON_LINE          
00118                             
00119 #define MSEC_10  (sysClkRateGet()/100)
00120 #define MSEC_100 (sysClkRateGet()/10)
00121 
00122 #define trkEPOCH_SYSTEM_B 1
00123 #define trkEPOCH_SYSTEM_J 2
00124 #define trkDB_ACM_TYPE          "acmType"
00125 
00126 #define trkDB_TRACKING_DEFAULT ":trackingAxis"
00127 #define trkDB_TRACKING         trkDbRootTrackingAxis
00128 #define trkDB_AXES             "axes"
00129 #define trkDB_VTA              "vta"
00130 #define trkDB_POS_NAMES        "posNames.posNames"
00131 
00132 #define trkDB_AXIS_LASTPOS      ":POSLOOP.pos"
00133 #define trkDB_AXIS_REMTRKFUNC   ".acmRemTrkTime"
00134 #define trkDB_AXIS_SENDREFSFUNC ".acmSendRefs"
00135 #define trkDB_AXIS_READPOSFUNC  ".acmReadPos"
00136 #define trkDB_AXIS_POSLIMS      ".posLims(1:2)"
00137 /* TEST
00138 typedef enum {                          
00139     trkOFF_STATE = 1,
00140     trkLOADED,                     
00141     trkSTAND_BY,
00142     trkSTAND_ALONE, 
00143     trkON_LINE
00144 } trkSTATE;
00145 */
00146 
00147 /*
00148  * Database items
00149  */
00150 
00151 typedef enum {
00152     trkPI_COORDINATES = 0,
00153     trkPI_INTERNCOORD,
00154     trkPI_ACTCOORD,
00155     trkPI_SITE_CONSTANTS,
00156     trkPI_POLAR_MOTION,
00157     trkPI_SITE_ENVIRONMENT,
00158     trkPI_LIMIT_ARRAY
00159 } trkPACK_INDEX;
00160 
00161 
00162 /*
00163  * possible axis types
00164  */
00165 
00166 typedef enum {
00167     trkAXIS_altitude = 1,
00168     trkAXIS_azimuth,
00169     trkAXIS_rotator,
00170     trkAXIS_adapter,
00171     trkAXIS_etaTheta,
00172     trkAXIS_saltSaz,
00173     trkAXIS_probe,
00174     trkAXIS_unknown
00175 } trkAXIS_TYPE;
00176 
00177 typedef enum {                          /* Sub State of module */
00178     trkIDLE = 1,
00179     trkPRESETTING,                     
00180     trkTRACKING,
00181     trkERROR
00182 } trkSUBSTATE;
00183 
00184 typedef enum {                          /* different types of manual corr */
00185     trkMANCOR_NONE = 1,
00186     trkMANCOR_AD,
00187     trkMANCOR_XY,
00188     trkMANCOR_AA
00189 } trkMANCOR;
00190 
00191 typedef enum { 
00192     trkOBJ_NONE = 1,
00193     trkOBJ_MEAN,
00194     trkOBJ_APPAR,
00195     trkOBJ_ALTAZ,
00196     trkOBJ_NAMED,
00197     trkOBJ_OFFSET_AD,
00198     trkOBJ_OFFSET_XY,
00199     trkOBJ_OFFSET_AA,
00200     trkOBJ_OFFSET_AG,
00201     trkOBJ_OFFSET_ROT_STEP,
00202     trkOBJ_OFFSET_ROT_OBJ,
00203     trkOBJ_STOP
00204 } trkOBJ;
00205 
00206 typedef enum {                          
00207     trkSTOP_NONE,
00208     trkSTOP_INTERNAL,
00209     trkSTOP_TASK                     
00210 } trkSTOP_TYPE;
00211 
00212 
00213 typedef struct
00214     {
00215     vltDOUBLE amprms[21];
00216     vltDOUBLE aoprms[14];
00217 } trkSLALIB_PRMS;
00218 
00219 
00220 typedef struct
00221     {
00222     vltINT32  execTimeBg;
00223     vltINT32  execTimeMinBg;
00224     vltINT32  execTimeMaxBg;
00225     vltINT32  execTimeBgLT_100;
00226     vltINT32  execTimeBg100_200;
00227     vltINT32  execTimeBgGT_200;
00228     
00229     vltINT32  execTimeFg;    
00230     vltINT32  execTimeMinFg;
00231     vltINT32  execTimeMaxFg;
00232     vltINT32  execTimeFgLT_2;
00233     vltINT32  execTimeFg2_5;
00234     vltINT32  execTimeFg5_10;
00235     vltINT32  execTimeFg10_20;
00236     vltINT32  execTimeFg20_30;
00237     vltINT32  execTimeFg30_50;
00238     vltINT32  execTimeFg50_80;
00239     vltINT32  execTimeFgGT_80;
00240 } trkTIMING;
00241 
00242 typedef struct
00243     {
00244     vltDOUBLE step;
00245     vltDOUBLE radius;
00246     vltINT32  active;
00247 } trkMKCIRC;
00248 
00249 typedef struct
00250     {
00251     vltDOUBLE phase;
00252     vltDOUBLE radius;
00253     vltINT32  active;
00254 } trkOFF_AXIS;
00255 
00256 typedef struct
00257     {
00258     vltINT32  currState;
00259     vltINT32  currSubState;
00260     vltINT32  initializedFlag;
00261     vltINT32  debugFlag;
00262     vltINT32  verboseFlag;
00263     vltINT32  simulationFlag;
00264     vltINT32    stopFlag;
00265     vltINT32    offFlag;
00266     vltINT32    logFileFlag;
00267     vltINT32    simPosFlag;
00268     vltINT32  refNumber;
00269     vltINT32    limitFlag;
00270 } trkSTATUS;
00271 
00272 typedef vltDOUBLE trkLIMIT_ARRAY[2];
00273 
00274 typedef struct 
00275     {
00276     vltDOUBLE temperature;       /* Telescope env temperature        */
00277     vltDOUBLE pressure;          /* Telescope env pressure           */
00278     vltDOUBLE humidity;          /* Telescope env humidity           */
00279     vltDOUBLE tempLapseRate;     /* Telescope env lapse rate         */
00280     } trkSITE_ENVIRONMENT;
00281 
00282 typedef struct 
00283     {
00284     vltBYTES20 name;          /* name of position                 */
00285     vltDOUBLE alt;               /* coordinates of position          */
00286     vltDOUBLE az;                
00287     } trkNAMED_POS;
00288 
00289 typedef struct 
00290     {
00291     vltDOUBLE longitude;         /* VLT telescope longitude          */
00292     vltDOUBLE latitude;          /* VLT telescope latitude           */ 
00293     vltDOUBLE height;            /* VLT telescope height above sea   */  
00294     } trkSITE_CONSTANTS ;
00295 
00296 typedef struct
00297 {
00298     vltDOUBLE x;      /* Polar Motion in radians          */
00299     vltDOUBLE y;      /* Polar Motion in radians          */
00300 } trkPOLAR_MOTION;
00301 
00302 typedef struct 
00303     {
00304     vltINT32 coordType;         /* MEAN/APPARENT/ALTAZ/NAMED */
00305     /*
00306      *                          because of DB alignment has to be 32 bit int!
00307      */
00308     vltDOUBLE alphaMean;         
00309     vltDOUBLE deltaMean;
00310     vltDOUBLE alphaApparent;     /* geocentric apparent places */
00311     vltDOUBLE deltaApparent;
00312     vltDOUBLE pma;               /* proper motion alpha (arcsec/year) */
00313     vltDOUBLE pmd;               /* proper motion delta (arcsec/year) */
00314     vltDOUBLE parallax;          /* arcsec */
00315     vltDOUBLE radvel;            /* km/s */
00316     vltINT32 epochSystem;       /* B or J */
00317     /*
00318      *                          because of DB alignment has to be 32 bit int!
00319      */
00320     vltDOUBLE epoch;             /* year */
00321     vltDOUBLE equinox;           /* year */
00322     char   objName[16];          /* in case it is a named position */
00323     vltDOUBLE alphaAGCOffset;   
00324     vltDOUBLE deltaAGCOffset;
00325     vltDOUBLE altOffset;
00326     vltDOUBLE azOffset;
00327     vltDOUBLE alphaOffset;
00328     vltDOUBLE deltaOffset;
00329     vltDOUBLE rotOffsetStep;
00330     vltDOUBLE rotOffsetObj;
00331     vltDOUBLE altFinal;          /* Completely corrected coordinates */
00332     vltDOUBLE azFinal;       
00333     vltDOUBLE rotFinal;       
00334     } trkCOORDINATES;
00335 
00336 typedef struct
00337     {
00338     vltINT32 coordType;
00339     /*
00340      *                          because of DB alignment has to be 32 bit int!
00341      */
00342     vltDOUBLE alphaMean;    
00343     vltDOUBLE deltaMean;
00344     vltDOUBLE alphaApparent;
00345     vltDOUBLE deltaApparent;
00346     vltDOUBLE alphaObserved;
00347     vltDOUBLE deltaObserved;
00348     vltDOUBLE alphaObservedNoAGC;
00349     vltDOUBLE deltaObservedNoAGC;
00350     vltDOUBLE altFinal;
00351     vltDOUBLE azFinal;     
00352     vltDOUBLE rotFinal;
00353     vltDOUBLE zDist;
00354     vltDOUBLE hAngle;
00355     vltDOUBLE parallAngle;
00356     vltDOUBLE altRefract;     
00357     vltDOUBLE azRefract;
00358     vltDOUBLE alphaAGCOffset;   
00359     vltDOUBLE deltaAGCOffset;
00360     vltDOUBLE altOffset;
00361     vltDOUBLE azOffset;
00362     vltDOUBLE alphaOffset;
00363     vltDOUBLE deltaOffset;
00364     vltDOUBLE alphaVelAccu;
00365     vltDOUBLE deltaVelAccu;
00366     vltDOUBLE altVelAccu;      
00367     vltDOUBLE azVelAccu;
00368     vltDOUBLE rotOffsetObj;
00369     vltDOUBLE rotOffsetStepAccu;
00370     vltDOUBLE altCorrAxis;
00371     vltDOUBLE azCorrAxis;
00372     vltDOUBLE altCorrGeneral;
00373     vltDOUBLE azCorrGeneral;
00374     vltDOUBLE pma;
00375     vltDOUBLE pmd;
00376     vltDOUBLE parallax;          /* arcsec */
00377     vltDOUBLE radvel;            /* km/s */
00378     vltDOUBLE airMass;           /* computed out of zDist */
00379     vltDOUBLE rotFix;            /* value coming from a fixed position */
00380     vltDOUBLE mjd;
00381 
00382     vltDOUBLE alphaAGCDirect;    /* direct guiding correction */
00383     vltDOUBLE deltaAGCDirect;    /* direct guiding correction */
00384     vltDOUBLE altAGCDirect;      /* direct guiding correction */
00385     vltDOUBLE azAGCDirect;       /* direct guiding correction */
00386     vltDOUBLE rotAGCDirect;      /* direct guiding correction */
00387 } trkINTERN_COORD;
00388 
00389 typedef struct
00390 {
00391   vltDOUBLE altReadback;       /* Values read from axis, pointing reversed */
00392   vltDOUBLE azReadback;        /* Values read from axis, pointing reversed */
00393   vltDOUBLE timeReadback;      /* Timestamp for values read */
00394   vltDOUBLE posReadback;     /* the actual axis, alt or az, readback position */
00395   vltDOUBLE posEncoder;      /* the actual axis uncorrected reading */
00396   vltDOUBLE altEncoder;        /* the actual alt uncorrected reading */
00397   vltDOUBLE azEncoder;         /* the actual az uncorrected reading */
00398   vltDOUBLE rotEncoder;        /* the actual rot uncorrected reading */
00399   vltDOUBLE alphaAGCOffset;  /* the accumulated autoguiding corrections */
00400   vltDOUBLE deltaAGCOffset;  /* the accumulated autoguiding corrections */
00401 } trkACT_COORD;
00402 
00403 typedef struct
00404     {
00405     vltDOUBLE alpha;
00406     vltDOUBLE delta;
00407     vltINT32 epochSystem;
00408     /*
00409      *                          because of DB alignment has to be 32 bit int!
00410      */
00411     vltDOUBLE epoch;
00412     vltDOUBLE equinox;
00413     vltDOUBLE pma;               /* proper motion alpha (arcsec/year) */
00414     vltDOUBLE pmd;               /* proper motion delta (arcsec/year) */
00415     vltDOUBLE radvel;            /* km/s */
00416     vltDOUBLE parallax;          /* arcsec */
00417     vltINT32   coordinateType;    /* Apparent,Mean... */
00418     } prsSKY_COORDINATES;
00419     
00420 typedef struct
00421     {
00422     vltDOUBLE alt;
00423     vltDOUBLE az;
00424     } prsABS_COORDINATES;
00425 
00426 typedef struct
00427     {
00428     char name[16];
00429     } prsNAMED_COORDINATES;
00430 
00431 typedef union
00432     {
00433     prsSKY_COORDINATES skyCoordinates;
00434     prsABS_COORDINATES absCoordinates;
00435     prsNAMED_COORDINATES namedCoordinates;
00436     } prsCOORD_UNION;     /* not used */
00437 
00438 typedef struct
00439     {
00440     vltINT32 targetType;  /* S/A/N */
00441     /*
00442      *                          because of DB alignment has to be 32 bit int!
00443      */
00444     prsCOORD_UNION coordinates;
00445     } prsCOORDINATES;     /* not used */
00446 
00447 typedef struct
00448     {
00449     vltINT32 targetType;  /* type of offset */
00450     /*
00451      *                          because of DB alignment has to be 32 bit int!
00452      */
00453     vltDOUBLE firstOffset;
00454     vltDOUBLE secondOffset;
00455     } prsOFFSET;
00456 
00457 
00458 typedef struct
00459     {
00460 /*
00461  * Error structure for all tasks
00462  */
00463     char instanceName[10];
00464     ccsERROR trkServerError; 
00465     ccsERROR fgError;
00466     ccsERROR bgError;
00467     ccsERROR agError;
00468 /* 
00469  * Variables to hold task IDs
00470  */
00471     vltINT32 fgTaskId;
00472     vltINT32 bgTaskId;   
00473     vltINT32 agTaskId;
00474 /*
00475  * Info about AG task
00476  */
00477     ccsENVNAME agEnvName;
00478     ccsPROCNUM agProcNum;
00479     ccsPROCNAME agProcName;
00480 /*
00481  * Timing control semaphores 
00482  */
00483     SEM_ID   fgRestartSem;
00484     SEM_ID   bgRestartSem;
00485     SEM_ID   agRestartSem;
00486 
00487 /*
00488  * critical sections semaphores 
00489  */
00490     SEM_ID   acmMutexSem; /* mutex for acm functions */
00491     SEM_ID   agcMutexSem; /* mutex for direct auto-guiding */
00492     SEM_ID   slaMutexSem;
00493     SEM_ID   setupMutexSem;
00494     SEM_ID   newObjSem;
00495     SEM_ID   pendingMsgOwnerSem;
00496 /*
00497  * Flag to control coordinated startup of background and foreground
00498  */
00499     vltINT32  bgValidFlag;
00500 /*
00501  * Pending msg + cmd completion semaphore
00502  */
00503     msgMSG     *pendingMsg;
00504     vltINT16   pendingMsgErrorNumber;
00505     SEM_ID     pendingMsgSem;
00506 /*
00507  * Data structures used by the slalib
00508  */
00509     trkSLALIB_PRMS slalibPrms;
00510 
00511 /*
00512  * Internal Coordinates
00513  */
00514     trkINTERN_COORD   trkInternCoord;
00515 
00516 /*
00517  * The attribute table for directly addressed database items, in new CAI format
00518  */
00519     char *axisAttrTable;
00520     char *globalAttrTable;
00521     char *vtaAttrTable;
00522 /*
00523  * test
00524  */
00525     trkTIMING timing;
00526     FILE  *logFilePtr;
00527 /*
00528  * Std db  ???
00529  */
00530     dbDIRADDRESS trkDbASimulation;    
00531     dbDIRADDRESS trkDbAInitialised; 
00532     
00533     trkSTATUS      status;
00534     acmREM_TRACK_F_P acmRemTrkFptr;
00535     acmSEND_REFS_P   acmSendRefsFptr;
00536     acmREAD_POS_P    acmReadPosFptr;
00537     trkLIMIT_ARRAY   limitArray; /* software limits for this axis (low/high) */
00538     vltINT32         acmType;    /* kind of axis we live in */
00539     trkAXIS_TYPE     axisType;
00540     vltINT32         sendRefsMode;
00541     vltINT32       refType;
00542     trkMKCIRC        mkCirc;
00543     trkOFF_AXIS      offAxisTracking;
00544     vltINT32         focusStation;
00545     vltINT32         activeFocusStation;
00546 } trkGLOBAL_DATA;
00547 
00548 
00549 /*
00550  ***********************************************************************
00551  *  TRACKING   : Application  Programmer  Routines                     *
00552  ***********************************************************************
00553  */
00554 #ifdef  MAKE_VXWORKS
00555 #define IN 
00556 #define OUT
00557 
00558 ccsCOMPL_STAT  trkBgTask (void);
00559 ccsCOMPL_STAT  trkFgTask (void);
00560 ccsCOMPL_STAT trkAgTask(void);
00561 void trkKillHandler(void);
00562 void trkBreakHandler(void);
00563 
00564 
00565 ccsCOMPL_STAT trkEntryPoint (char *, char *, char *);
00566   
00567 /*
00568  * Std support functions
00569  */
00570 ccsCOMPL_STAT trkStdSetInit(
00571   IN  vltINT32   trkInit,
00572   OUT ccsERROR   *error
00573        );
00574 ccsCOMPL_STAT trkStdGetInit(
00575   IN  vltINT32    *trkInit,
00576   OUT ccsERROR   *error
00577        );
00578 ccsCOMPL_STAT trkStdSetSimulation(
00579   IN  vltINT32   trkSimulation,
00580   OUT ccsERROR   *error
00581        );
00582 ccsCOMPL_STAT trkStdGetSimulation(
00583   IN  vltINT32   *trkSimulation,
00584   OUT ccsERROR   *error
00585        );
00586 ccsCOMPL_STAT trkStdSetState( 
00587   OUT lccDEV_MODE  state,
00588   OUT ccsERROR     *error
00589        );
00590 /*
00591  * Std functions
00592  */
00593 /* not used 
00594 ccsCOMPL_STAT trkStandAlone(
00595         IN  const char   *moduleId,
00596   OUT ccsERROR     *error
00597        );
00598 */
00599 ccsCOMPL_STAT trkStdInit(
00600         IN  const char   *moduleId,
00601   OUT ccsERROR     *error
00602        );
00603 ccsCOMPL_STAT trkStandAlone(
00604         IN  const char   *moduleId,
00605   OUT ccsERROR     *error
00606        );
00607 ccsCOMPL_STAT trkStdStandby(
00608         IN  const char   *moduleId,
00609   OUT ccsERROR     *error
00610        );
00611 ccsCOMPL_STAT trkStdOnline(
00612         IN  const char   *moduleId,
00613   OUT ccsERROR     *error
00614        );
00615 ccsCOMPL_STAT trkStdOff(
00616         IN  const char   *moduleId,
00617   OUT ccsERROR     *error
00618        );
00619 ccsCOMPL_STAT trkStdExit(
00620         IN  const char   *moduleId,
00621   OUT ccsERROR     *error
00622        );
00623 ccsCOMPL_STAT trkStdStop(
00624         IN  const char   *moduleId,
00625   OUT ccsERROR     *error
00626        );
00627 ccsCOMPL_STAT trkStdSelfTest(
00628         IN  const char   *moduleId,
00629   OUT ccsERROR     *error
00630        );
00631 ccsCOMPL_STAT trkStdStartSim(
00632         IN  const char   *moduleId,
00633   OUT ccsERROR     *error
00634        );
00635 ccsCOMPL_STAT trkStdStopSim(
00636         IN  const char   *moduleId,
00637   OUT ccsERROR     *error
00638        );
00639 ccsCOMPL_STAT trkStdGetVersion(
00640   OUT char         *version,       
00641   OUT ccsERROR     *error
00642        );
00643 ccsCOMPL_STAT trkStdGetState( 
00644   OUT lccDEV_MODE  *state,
00645   OUT ccsERROR     *error
00646        );
00647 ccsCOMPL_STAT trkStdVerbose(
00648   IN  vltINT32     verboseFlag,
00649   OUT ccsERROR     *error
00650        );
00651 ccsCOMPL_STAT trkStdDebug(
00652   IN  vltINT32     debugFlag,
00653   OUT ccsERROR     *error
00654        );
00655 ccsCOMPL_STAT trkGetStatus( 
00656         OUT trkSTATUS    *trkStatus,
00657         OUT ccsERROR     *error
00658        );
00659 
00660 ccsCOMPL_STAT trkSimPos(
00661   IN  vltINT32     simPosFlag,
00662   OUT ccsERROR     *error
00663        );
00664 
00665 
00666 /*
00667  * trk support functions
00668  */
00669 
00670 ccsCOMPL_STAT trkPACK (trkPACK_INDEX type, void *s, char *b, ccsERROR *error);
00671 ccsCOMPL_STAT trkUNPACK (trkPACK_INDEX type, char *b, void *s, ccsERROR *error);
00672 
00673 
00674 vltDOUBLE nttrotRemTrkTime(
00675             IN       vltDOUBLE  ra,
00676             IN       vltDOUBLE  decl,
00677             IN       vltDOUBLE  lowLim,
00678             IN       vltDOUBLE  highLim,
00679             IN       vltDOUBLE  siderealTime,
00680             IN       vltDOUBLE  lat,
00681             OUT      vltDOUBLE *remTime,
00682             OUT      ccsERROR  *error
00683             );
00684 
00685 ccsCOMPL_STAT trkTimeElapseTime (
00686   ccsTIMEVAL  *ccsTime2,
00687   ccsTIMEVAL  *ccsTime1,
00688   vltUINT32       *usecDiff,
00689       ccsERROR    *error
00690       );
00691 ccsCOMPL_STAT trkTimeGetMJD(
00692   vltDOUBLE *mjd,
00693   ccsTIMEVAL  *ccsTime,
00694       ccsERROR    *error
00695       );
00696 ccsCOMPL_STAT trkTimeGetExactMJD(
00697   vltDOUBLE *mjd,
00698         ccsTIMEVAL  *ccsTime,
00699       ccsERROR    *error);
00700 
00701 ccsCOMPL_STAT trkTimeResetMJD(
00702       ccsERROR    *error
00703       );
00704 ccsCOMPL_STAT trkCleanUp(
00705   OUT ccsERROR *error
00706        );
00707 ccsCOMPL_STAT trkTestState(
00708   IN  vltUINT32    requiredState,
00709   OUT ccsERROR     *error
00710        );
00711 ccsCOMPL_STAT trkReadPos(
00712             IN       vltDOUBLE  *position,
00713       OUT ccsERROR      *error
00714        );
00715 ccsCOMPL_STAT trkResolveNamedCoordinates( 
00716   OUT vltDOUBLE    *alt,
00717   OUT vltDOUBLE    *az,
00718   OUT vltDOUBLE    *rot,
00719   IN  char   *name,
00720   OUT ccsERROR     *error
00721        );
00722 ccsCOMPL_STAT trkCopyObject(
00723   IN  trkINTERN_COORD *trkInternCoord,
00724         OUT vltINT32 *coordType,
00725   OUT ccsERROR   *error
00726        );
00727 ccsCOMPL_STAT trkCheckSingleTask(
00728   IN  vltINT32      tid,
00729   IN  char         *taskName,
00730   OUT ccsERROR     *error
00731        );
00732 ccsCOMPL_STAT trkInternalStop(
00733   IN  const char* moduleId,
00734   OUT ccsERROR   *error
00735        );
00736 void trkTaskExit(int);
00737 
00738 void trkPrintf(
00739   IN  char *format,...
00740        );
00741 void trkDbgPrintf(
00742   IN  char *format,...
00743        );
00744 ccsCOMPL_STAT trkRegisterFgSem(
00745   IN  SEM_ID trkFgSem
00746        );
00747 ccsCOMPL_STAT trkUnRegisterFgSem(
00748   IN  SEM_ID trkFgSem
00749        );
00750 ccsCOMPL_STAT trkTaskVarGet(
00751       ccsERROR    *error
00752        );
00753 int trkStricmp (
00754         IN char * string1,
00755         IN char * string2
00756        );
00757 
00758 /*
00759  * trk command functions
00760  */
00761 ccsCOMPL_STAT trkSetSRM(
00762   IN  vltINT32     srm,
00763   OUT ccsERROR     *error
00764        );
00765 ccsCOMPL_STAT trkOffAxisSetup(
00766   IN  vltDOUBLE    offsetX,
00767   IN  vltDOUBLE    offsetY,
00768   OUT ccsERROR     *error
00769        );
00770 ccsCOMPL_STAT trkMkCirc(
00771   IN  vltDOUBLE    interval,
00772   IN  vltDOUBLE    radius,
00773   OUT ccsERROR     *error
00774        );
00775 ccsCOMPL_STAT trkStrtManCor(
00776   IN  vltINT32     type,
00777   IN vltDOUBLE        manOffsAlpha,
00778   IN vltDOUBLE        manOffsDelta,
00779   OUT ccsERROR     *error
00780        );
00781 ccsCOMPL_STAT trkStopManCor(
00782   OUT ccsERROR     *error
00783        );
00784 ccsCOMPL_STAT trkSetDut(
00785   IN  vltDOUBLE    dut1,
00786   OUT ccsERROR     *error
00787        );
00788 ccsCOMPL_STAT trkSetAddVel(
00789   IN  vltDOUBLE    alphaVel,
00790   IN  vltDOUBLE    deltaVel,
00791   OUT ccsERROR     *error
00792        );
00793 ccsCOMPL_STAT trkSetLambda(
00794   IN  vltDOUBLE    lambda,
00795   OUT ccsERROR     *error
00796        );
00797 
00798 ccsCOMPL_STAT trkOffsRotStep(
00799   IN  vltDOUBLE offset,
00800         IN  msgMSG  *msg,
00801   OUT ccsERROR  *error
00802        );
00803 ccsCOMPL_STAT trkOffsRotObj(
00804   IN  vltDOUBLE offset,
00805         IN  msgMSG  *msg,
00806   OUT ccsERROR  *error
00807        );
00808 
00809 ccsCOMPL_STAT trkSetRotOffset(
00810   IN  vltDOUBLE    rotOffset,
00811   OUT ccsERROR     *error
00812        );
00813 ccsCOMPL_STAT trkGetRotOffset(
00814   IN  vltDOUBLE    *rotOffset,
00815   OUT ccsERROR     *error
00816        );
00817 ccsCOMPL_STAT trkSetFocus(
00818   IN  vltINT32     focus,
00819   OUT ccsERROR     *error
00820        );
00821 ccsCOMPL_STAT trkSetWeather(
00822   IN  trkSITE_ENVIRONMENT *env,
00823   OUT ccsERROR      *error
00824        );
00825 ccsCOMPL_STAT trkSetSiteConstants(
00826   IN  trkSITE_CONSTANTS *site,
00827   OUT ccsERROR      *error
00828        );
00829 ccsCOMPL_STAT trkSetPolarMotion(
00830   IN  trkPOLAR_MOTION *polarMotion,
00831   OUT ccsERROR      *error
00832        );
00833 ccsCOMPL_STAT trkSetADCPos(
00834   IN  vltDOUBLE    ADCValue,
00835   OUT ccsERROR     *error
00836        );
00837 ccsCOMPL_STAT trkSetMCPars( 
00838   IN vltDOUBLE        defOffsAlpha,
00839   IN vltDOUBLE        defOffsDelta,
00840   OUT ccsERROR     *error
00841        );
00842 ccsCOMPL_STAT trkGetDut(
00843   OUT vltDOUBLE    *dut1,
00844   OUT ccsERROR     *error
00845        );
00846 ccsCOMPL_STAT trkGetManAddVel(
00847   OUT vltDOUBLE    *firstVel,
00848   OUT vltDOUBLE    *secondVel,
00849   IN  vltINT32     velDbIndex,
00850   OUT ccsERROR     *error
00851        );
00852 ccsCOMPL_STAT trkGetAddVel(
00853   OUT vltDOUBLE    *alphaVel,
00854   OUT vltDOUBLE    *deltaVel,
00855   OUT ccsERROR     *error
00856        );
00857 ccsCOMPL_STAT trkGetLambda(
00858   OUT vltDOUBLE    *lambda,
00859   OUT ccsERROR     *error
00860        );
00861 ccsCOMPL_STAT trkGetFocus(
00862   OUT vltINT32     *focus,
00863   OUT ccsERROR     *error
00864        );
00865 ccsCOMPL_STAT trkGetWeather(
00866   OUT trkSITE_ENVIRONMENT *env,
00867   OUT ccsERROR     *error
00868        );
00869 ccsCOMPL_STAT trkGetSiderealTime(
00870            IN  vltDOUBLE   *siderealTime,
00871            OUT ccsERROR    *error
00872        );
00873 ccsCOMPL_STAT trkGetSiteConstants(
00874   OUT trkSITE_CONSTANTS *site,
00875   OUT ccsERROR      *error
00876        );
00877 ccsCOMPL_STAT trkGetPolarMotion(
00878   OUT trkPOLAR_MOTION *polarMotion,
00879   OUT ccsERROR      *error
00880        );
00881 ccsCOMPL_STAT trkGetADCPos(
00882   OUT vltDOUBLE    *ADCValue,
00883   OUT ccsERROR     *error
00884        );
00885 ccsCOMPL_STAT trkGetMCPars( 
00886   OUT vltDOUBLE    *manOffsAlpha,
00887   OUT vltDOUBLE    *manOffsDelta,
00888   OUT vltDOUBLE    *defOffsAlpha,
00889   OUT vltDOUBLE    *defOffsDelta,
00890   OUT ccsERROR     *error
00891        );
00892 ccsCOMPL_STAT trkAxisEntry (
00893   IN char * instanceName
00894        );
00895 
00896  
00897 /* Object cmd functions */
00898 
00899 ccsCOMPL_STAT trkObjStop(
00900         IN  msgMSG              *msg,
00901         OUT ccsERROR            *error
00902        );
00903 ccsCOMPL_STAT trkObjAltAz(
00904         IN  prsABS_COORDINATES  *coord,
00905         IN  msgMSG              *msg,
00906         OUT ccsERROR            *error
00907        );
00908 ccsCOMPL_STAT trkObjNamed(
00909         IN  prsNAMED_COORDINATES *coord,
00910         IN  msgMSG              *msg,
00911         OUT ccsERROR            *error
00912        );
00913 ccsCOMPL_STAT trkObjStar(
00914         IN  prsSKY_COORDINATES  *coord,
00915         IN  msgMSG              *msg,
00916         OUT ccsERROR            *error
00917        );
00918        
00919 /* Offset cmd functions */
00920 
00921 ccsCOMPL_STAT trkOffsXYLocal(       /* x/y offset */
00922         IN  vltDOUBLE dbRotationAngle,
00923   IN  prsOFFSET *offset,
00924         IN  msgMSG  *msg,
00925   OUT ccsERROR  *error
00926        );
00927 
00928 ccsCOMPL_STAT trkOffsAA(        
00929   IN  prsOFFSET *offset,
00930         IN  msgMSG  *msg,
00931   OUT ccsERROR  *error
00932        );
00933 ccsCOMPL_STAT trkOffsAD( 
00934   IN  prsOFFSET *offset,
00935         IN  msgMSG  *msg,
00936         OUT ccsERROR    *error
00937        );
00938 ccsCOMPL_STAT trkOffsAG( 
00939   IN  prsOFFSET *offset,
00940         IN  msgMSG      *msg,
00941         OUT ccsERROR    *error
00942        );
00943 ccsCOMPL_STAT trkOffsXY(        
00944   IN  prsOFFSET *offset,
00945         IN  msgMSG  *msg,
00946   OUT ccsERROR  *error
00947        );
00948 ccsCOMPL_STAT trkOffsDef( 
00949   IN char   *typeString,
00950   IN msgMSG       *msg,
00951   OUT ccsERROR    *error
00952        );
00953        
00954 
00955 ccsCOMPL_STAT trkRemTrkTime(
00956         IN       prsSKY_COORDINATES *coord,
00957         IN       vltDOUBLE  mjd,
00958         OUT      vltDOUBLE *remTime,
00959         OUT      ccsERROR  *error       /* Returned error structure     */
00960        );
00961 
00962 /* prototypes for Interface functions */
00963 ccsCOMPL_STAT ItrkUpdate(
00964     IN  const char   *parameters,       /* Formatted input parameters   */
00965     IN  msgMSG       *msg,              /* Message body used for reply  */
00966     OUT char         **replyBuffer,     /* Output buffer                */
00967     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
00968     OUT ccsERROR     *error             /* Returned error structure     */
00969     );
00970 
00971 ccsCOMPL_STAT ItrkGetAGProcId(
00972     IN  const char   *parameters,       /* Formatted input parameters   */
00973     IN  msgMSG       *msg,              /* Message body used for reply  */
00974     OUT char         **replyBuffer,     /* Output buffer                */
00975     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
00976     OUT ccsERROR     *error             /* Returned error structure     */
00977     );
00978 
00979 ccsCOMPL_STAT ItrkSetSiteConstants(
00980     IN  const char   *parameters,       /* Formatted input parameters   */
00981     IN  msgMSG       *msg,              /* Message body used for reply  */
00982     OUT char         **replyBuffer,     /* Output buffer                */
00983     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
00984     OUT ccsERROR     *error             /* Returned error structure     */
00985     );
00986 
00987 ccsCOMPL_STAT ItrkGetSiteConstants(
00988     IN  const char   *parameters,       /* Formatted input parameters   */
00989     IN  msgMSG       *msg,              /* Message body used for reply  */
00990     OUT char         **replyBuffer,     /* Output buffer                */
00991     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
00992     OUT ccsERROR     *error             /* Returned error structure     */
00993     );
00994 
00995 ccsCOMPL_STAT ItrkSetPolarMotion(
00996     IN  const char   *parameters,       /* Formatted input parameters   */
00997     IN  msgMSG       *msg,              /* Message body used for reply  */
00998     OUT char         **replyBuffer,     /* Output buffer                */
00999     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01000     OUT ccsERROR     *error             /* Returned error structure     */
01001     );
01002 
01003 ccsCOMPL_STAT ItrkGetPolarMotion(
01004     IN  const char   *parameters,       /* Formatted input parameters   */
01005     IN  msgMSG       *msg,              /* Message body used for reply  */
01006     OUT char         **replyBuffer,     /* Output buffer                */
01007     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01008     OUT ccsERROR     *error             /* Returned error structure     */
01009     );
01010 
01011 ccsCOMPL_STAT ItrkSetWeather(
01012     IN  const char   *parameters,       /* Formatted input parameters   */
01013     IN  msgMSG       *msg,              /* Message body used for reply  */
01014     OUT char         **replyBuffer,     /* Output buffer                */
01015     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01016     OUT ccsERROR     *error             /* Returned error structure     */
01017     );
01018 
01019 ccsCOMPL_STAT ItrkGetWeather(
01020     IN  const char   *parameters,       /* Formatted input parameters   */
01021     IN  msgMSG       *msg,              /* Message body used for reply  */
01022     OUT char         **replyBuffer,     /* Output buffer                */
01023     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01024     OUT ccsERROR     *error             /* Returned error structure     */
01025     );
01026 
01027 ccsCOMPL_STAT ItrkSetAddVel(
01028     IN  const char   *parameters,       /* Formatted input parameters   */
01029     IN  msgMSG       *msg,              /* Message body used for reply  */
01030     OUT char         **replyBuffer,     /* Output buffer                */
01031     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01032     OUT ccsERROR     *error             /* Returned error structure     */
01033     );
01034 
01035 ccsCOMPL_STAT ItrkMkCirc(
01036     IN  const char   *parameters,       /* Formatted input parameters   */
01037     IN  msgMSG       *msg,              /* Message body used for reply  */
01038     OUT char         **replyBuffer,     /* Output buffer                */
01039     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01040     OUT ccsERROR     *error             /* Returned error structure     */
01041     );
01042 
01043 ccsCOMPL_STAT ItrkOffAxis(
01044     IN  const char   *parameters,       /* Formatted input parameters   */
01045     IN  msgMSG       *msg,              /* Message body used for reply  */
01046     OUT char         **replyBuffer,     /* Output buffer                */
01047     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01048     OUT ccsERROR     *error             /* Returned error structure     */
01049     );
01050 
01051 ccsCOMPL_STAT ItrkSetSRM(
01052     IN  const char   *parameters,       /* Formatted input parameters   */
01053     IN  msgMSG       *msg,              /* Message body used for reply  */
01054     OUT char         **replyBuffer,     /* Output buffer                */
01055     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01056     OUT ccsERROR     *error             /* Returned error structure     */
01057     );
01058 
01059 ccsCOMPL_STAT ItrkGetAddVel(
01060     IN  const char   *parameters,       /* Formatted input parameters   */
01061     IN  msgMSG       *msg,              /* Message body used for reply  */
01062     OUT char         **replyBuffer,     /* Output buffer                */
01063     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01064     OUT ccsERROR     *error             /* Returned error structure     */
01065     );
01066 
01067 ccsCOMPL_STAT ItrkGetSiderealTime(
01068     IN  const char   *parameters,       /* Formatted input parameters   */
01069     IN  msgMSG       *msg,              /* Message body used for reply  */
01070     OUT char         **replyBuffer,     /* Output buffer                */
01071     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01072     OUT ccsERROR     *error             /* Returned error structure     */
01073     );
01074 
01075 ccsCOMPL_STAT ItrkSetDut(
01076     IN  const char   *parameters,       /* Formatted input parameters   */
01077     IN  msgMSG       *msg,              /* Message body used for reply  */
01078     OUT char         **replyBuffer,     /* Output buffer                */
01079     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01080     OUT ccsERROR     *error             /* Returned error structure     */
01081     );
01082 
01083 ccsCOMPL_STAT ItrkGetDut(
01084     IN  const char   *parameters,       /* Formatted input parameters   */
01085     IN  msgMSG       *msg,              /* Message body used for reply  */
01086     OUT char         **replyBuffer,     /* Output buffer                */
01087     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01088     OUT ccsERROR     *error             /* Returned error structure     */
01089     );
01090 
01091 ccsCOMPL_STAT ItrkSetADCPos(
01092     IN  const char   *parameters,       /* Formatted input parameters   */
01093     IN  msgMSG       *msg,              /* Message body used for reply  */
01094     OUT char         **replyBuffer,     /* Output buffer                */
01095     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01096     OUT ccsERROR     *error             /* Returned error structure     */
01097     );
01098 
01099 ccsCOMPL_STAT ItrkGetADCPos(
01100     IN  const char   *parameters,       /* Formatted input parameters   */
01101     IN  msgMSG       *msg,              /* Message body used for reply  */
01102     OUT char         **replyBuffer,     /* Output buffer                */
01103     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01104     OUT ccsERROR     *error             /* Returned error structure     */
01105     );
01106 
01107 ccsCOMPL_STAT ItrkSetLambda(
01108     IN  const char   *parameters,       /* Formatted input parameters   */
01109     IN  msgMSG       *msg,              /* Message body used for reply  */
01110     OUT char         **replyBuffer,     /* Output buffer                */
01111     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01112     OUT ccsERROR     *error             /* Returned error structure     */
01113     );
01114 
01115 ccsCOMPL_STAT ItrkGetLambda(
01116     IN  const char   *parameters,       /* Formatted input parameters   */
01117     IN  msgMSG       *msg,              /* Message body used for reply  */
01118     OUT char         **replyBuffer,     /* Output buffer                */
01119     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01120     OUT ccsERROR     *error             /* Returned error structure     */
01121     );
01122 
01123 ccsCOMPL_STAT ItrkSetFocus(
01124     IN  const char   *parameters,       /* Formatted input parameters   */
01125     IN  msgMSG       *msg,              /* Message body used for reply  */
01126     OUT char         **replyBuffer,     /* Output buffer                */
01127     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01128     OUT ccsERROR     *error             /* Returned error structure     */
01129     );
01130 
01131 ccsCOMPL_STAT ItrkGetFocus(
01132     IN  const char   *parameters,       /* Formatted input parameters   */
01133     IN  msgMSG       *msg,              /* Message body used for reply  */
01134     OUT char         **replyBuffer,     /* Output buffer                */
01135     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01136     OUT ccsERROR     *error             /* Returned error structure     */
01137     );
01138 
01139 ccsCOMPL_STAT ItrkOffsRotStep(
01140     IN  const char   *parameters,       /* Formatted input parameters   */
01141     IN  msgMSG       *msg,              /* Message body used for reply  */
01142     OUT char         **replyBuffer,     /* Output buffer                */
01143     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01144     OUT ccsERROR     *error             /* Returned error structure     */
01145     );
01146 ccsCOMPL_STAT ItrkObjRotator(
01147     IN  const char   *parameters,       /* Formatted input parameters   */
01148     IN  msgMSG       *msg,              /* Message body used for reply  */
01149     OUT char         **replyBuffer,     /* Output buffer                */
01150     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01151     OUT ccsERROR     *error             /* Returned error structure     */
01152     );
01153 
01154 ccsCOMPL_STAT ItrkSetRotOffset(
01155     IN  const char   *parameters,       /* Formatted input parameters   */
01156     IN  msgMSG       *msg,              /* Message body used for reply  */
01157     OUT char         **replyBuffer,     /* Output buffer                */
01158     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01159     OUT ccsERROR     *error             /* Returned error structure     */
01160     );
01161 
01162 ccsCOMPL_STAT ItrkSetMCPars(
01163     IN  const char   *parameters,       /* Formatted input parameters   */
01164     IN  msgMSG       *msg,              /* Message body used for reply  */
01165     OUT char         **replyBuffer,     /* Output buffer                */
01166     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01167     OUT ccsERROR     *error             /* Returned error structure     */
01168     );
01169 
01170 ccsCOMPL_STAT ItrkGetMCPars(
01171     IN  const char   *parameters,       /* Formatted input parameters   */
01172     IN  msgMSG       *msg,              /* Message body used for reply  */
01173     OUT char         **replyBuffer,     /* Output buffer                */
01174     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01175     OUT ccsERROR     *error             /* Returned error structure     */
01176     );
01177 
01178 ccsCOMPL_STAT ItrkStopManCor(
01179     IN  const char   *parameters,       /* Formatted input parameters   */
01180     IN  msgMSG       *msg,              /* Message body used for reply  */
01181     OUT char         **replyBuffer,     /* Output buffer                */
01182     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01183     OUT ccsERROR     *error             /* Returned error structure     */
01184     );
01185 
01186 ccsCOMPL_STAT ItrkStrtManCor(
01187     IN  const char   *parameters,       /* Formatted input parameters   */
01188     IN  msgMSG       *msg,              /* Message body used for reply  */
01189     OUT char         **replyBuffer,     /* Output buffer                */
01190     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01191     OUT ccsERROR     *error             /* Returned error structure     */
01192     );
01193 ccsCOMPL_STAT ItrkStdGetVersion(
01194     IN  const char   *parameters,       /* Formatted input parameters   */
01195     IN  msgMSG       *msg,              /* Message body used for reply  */
01196     OUT char         **replyBuffer,     /* Output buffer                */
01197     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01198     OUT ccsERROR     *error             /* Returned error structure     */
01199     );
01200 
01201 ccsCOMPL_STAT ItrkStdPing(
01202     IN  const char   *parameters,       /* Formatted input parameters   */
01203     IN  msgMSG       *msg,              /* Message body used for reply  */
01204     OUT char         **replyBuffer,     /* Output buffer                */
01205     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01206     OUT ccsERROR     *error             /* Returned error structure     */
01207     );
01208 
01209 ccsCOMPL_STAT ItrkStdGetState(
01210     IN  const char   *parameters,       /* Formatted input parameters   */
01211     IN  msgMSG       *msg,              /* Message body used for reply  */
01212     OUT char         **replyBuffer,     /* Output buffer                */
01213     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01214     OUT ccsERROR     *error             /* Returned error structure     */
01215     );
01216 
01217 
01218 ccsCOMPL_STAT ItrkStdVerbose(
01219     IN  const char   *parameters,       /* Formatted input parameters   */
01220     IN  msgMSG       *msg,              /* Message body used for reply  */
01221     OUT char         **replyBuffer,     /* Output buffer                */
01222     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01223     OUT ccsERROR     *error             /* Returned error structure     */
01224     );
01225 
01226 ccsCOMPL_STAT ItrkStdDebug(
01227     IN  const char   *parameters,       /* Formatted input parameters   */
01228     IN  msgMSG       *msg,              /* Message body used for reply  */
01229     OUT char         **replyBuffer,     /* Output buffer                */
01230     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01231     OUT ccsERROR     *error             /* Returned error structure     */
01232     );
01233 
01234 ccsCOMPL_STAT ItrkStdExit(
01235     IN  const char   *parameters,       /* Formatted input parameters   */
01236     IN  msgMSG       *msg,              /* Message body used for reply  */
01237     OUT char         **replyBuffer,     /* Output buffer                */
01238     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01239     OUT ccsERROR     *error             /* Returned error structure     */
01240     );
01241 
01242 ccsCOMPL_STAT ItrkStdInit(
01243     IN  const char   *parameters,       /* Formatted input parameters   */
01244     IN  msgMSG       *msg,              /* Message body used for reply  */
01245     OUT char         **replyBuffer,     /* Output buffer                */
01246     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01247     OUT ccsERROR     *error             /* Returned error structure     */
01248     );
01249 
01250 ccsCOMPL_STAT ItrkStdOff(
01251     IN  const char   *parameters,       /* Formatted input parameters   */
01252     IN  msgMSG       *msg,              /* Message body used for reply  */
01253     OUT char         **replyBuffer,     /* Output buffer                */
01254     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01255     OUT ccsERROR     *error             /* Returned error structure     */
01256     );
01257 
01258 ccsCOMPL_STAT ItrkStdOnline(
01259     IN  const char   *parameters,       /* Formatted input parameters   */
01260     IN  msgMSG       *msg,              /* Message body used for reply  */
01261     OUT char         **replyBuffer,     /* Output buffer                */
01262     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01263     OUT ccsERROR     *error             /* Returned error structure     */
01264     );
01265 
01266 ccsCOMPL_STAT ItrkStdSelfTest(
01267     IN  const char   *parameters,       /* Formatted input parameters   */
01268     IN  msgMSG       *msg,              /* Message body used for reply  */
01269     OUT char         **replyBuffer,     /* Output buffer                */
01270     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01271     OUT ccsERROR     *error             /* Returned error structure     */
01272     );
01273 ccsCOMPL_STAT ItrkStdStartSim(
01274     IN  const char   *parameters,       /* Formatted input parameters   */
01275     IN  msgMSG       *msg,              /* Message body used for reply  */
01276     OUT char         **replyBuffer,     /* Output buffer                */
01277     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01278     OUT ccsERROR     *error             /* Returned error structure     */
01279     );
01280 
01281 ccsCOMPL_STAT ItrkStdStandalone(
01282     IN  const char   *parameters,       /* Formatted input parameters   */
01283     IN  msgMSG       *msg,              /* Message body used for reply  */
01284     OUT char         **replyBuffer,     /* Output buffer                */
01285     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01286     OUT ccsERROR     *error             /* Returned error structure     */
01287     );
01288 
01289 ccsCOMPL_STAT ItrkStdStandby(
01290     IN  const char   *parameters,       /* Formatted input parameters   */
01291     IN  msgMSG       *msg,              /* Message body used for reply  */
01292     OUT char         **replyBuffer,     /* Output buffer                */
01293     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01294     OUT ccsERROR     *error             /* Returned error structure     */
01295     );
01296 
01297 ccsCOMPL_STAT ItrkStdStopSim(
01298     IN  const char   *parameters,       /* Formatted input parameters   */
01299     IN  msgMSG       *msg,              /* Message body used for reply  */
01300     OUT char         **replyBuffer,     /* Output buffer                */
01301     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01302     OUT ccsERROR     *error             /* Returned error structure     */
01303     );
01304 
01305 ccsCOMPL_STAT ItrkStdStop(
01306     IN  const char   *parameters,       /* Formatted input parameters   */
01307     IN  msgMSG       *msg,              /* Message body used for reply  */
01308     OUT char         **replyBuffer,     /* Output buffer                */
01309     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01310     OUT ccsERROR     *error             /* Returned error structure     */
01311     );
01312 
01313 ccsCOMPL_STAT ItrkObjStar(
01314     IN  const char   *parameters,       /* Formatted input parameters   */
01315     IN  msgMSG       *msg,              /* Message body used for reply  */
01316     OUT char         **replyBuffer,     /* Output buffer                */
01317     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01318     OUT ccsERROR     *error             /* Returned error structure     */
01319     );
01320 
01321 ccsCOMPL_STAT ItrkObjAltAz(
01322     IN  const char   *parameters,       /* Formatted input parameters   */
01323     IN  msgMSG       *msg,              /* Message body used for reply  */
01324     OUT char         **replyBuffer,     /* Output buffer                */
01325     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01326     OUT ccsERROR     *error             /* Returned error structure     */
01327     );
01328 
01329 
01330 ccsCOMPL_STAT ItrkObjNamed(
01331     IN  const char   *parameters,       /* Formatted input parameters   */
01332     IN  msgMSG       *msg,              /* Message body used for reply  */
01333     OUT char         **replyBuffer,     /* Output buffer                */
01334     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01335     OUT ccsERROR     *error             /* Returned error structure     */
01336     );
01337 
01338 ccsCOMPL_STAT ItrkOffsDef(
01339     IN  const char   *parameters,       /* Formatted input parameters   */
01340     IN  msgMSG       *msg,              /* Message body used for reply  */
01341     OUT char         **replyBuffer,     /* Output buffer                */
01342     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01343     OUT ccsERROR     *error             /* Returned error structure     */
01344     );
01345 
01346 ccsCOMPL_STAT ItrkOffsXY(
01347     IN  const char   *parameters,       /* Formatted input parameters   */
01348     IN  msgMSG       *msg,              /* Message body used for reply  */
01349     OUT char         **replyBuffer,     /* Output buffer                */
01350     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01351     OUT ccsERROR     *error             /* Returned error structure     */
01352     );
01353 ccsCOMPL_STAT ItrkOffsAltAz(
01354     IN  const char   *parameters,       /* Formatted input parameters   */
01355     IN  msgMSG       *msg,              /* Message body used for reply  */
01356     OUT char         **replyBuffer,     /* Output buffer                */
01357     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01358     OUT ccsERROR     *error             /* Returned error structure     */
01359     );
01360 
01361 ccsCOMPL_STAT ItrkOffsAGCorrect(
01362     IN  const char   *parameters,       /* Formatted input parameters   */
01363     IN  msgMSG       *msg,              /* Message body used for reply  */
01364     OUT char         **replyBuffer,     /* Output buffer                */
01365     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01366     OUT ccsERROR     *error             /* Returned error structure     */
01367     );
01368 ccsCOMPL_STAT ItrkOffsAD(
01369     IN  const char   *parameters,       /* Formatted input parameters   */
01370     IN  msgMSG       *msg,              /* Message body used for reply  */
01371     OUT char         **replyBuffer,     /* Output buffer                */
01372     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01373     OUT ccsERROR     *error             /* Returned error structure     */
01374     );
01375 
01376 ccsCOMPL_STAT ItrkGetStatus(
01377     IN  const char   *parameters,       /* Formatted input parameters   */
01378     IN  msgMSG       *msg,              /* Message body used for reply  */
01379     OUT char         **replyBuffer,     /* Output buffer                */
01380     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01381     OUT ccsERROR     *error             /* Returned error structure     */
01382     );
01383 
01384 ccsCOMPL_STAT ItrkGetRemTTime(
01385     IN  const char   *parameters,       /* Formatted input parameters   */
01386     IN  msgMSG       *msg,              /* Message body used for reply  */
01387     OUT char         **replyBuffer,     /* Output buffer                */
01388     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01389     OUT ccsERROR     *error             /* Returned error structure     */
01390     );
01391 
01392 
01393 ccsCOMPL_STAT ItrkSetLogFile(
01394     IN  const char   *parameters,       /* Formatted input parameters   */
01395     IN  msgMSG       *msg,              /* Message body used for reply  */
01396     OUT char         **replyBuffer,     /* Output buffer                */
01397     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01398     OUT ccsERROR     *error             /* Returned error structure     */
01399     );
01400 
01401 ccsCOMPL_STAT ItrkGetMJD(
01402     IN  const char   *parameters,       /* Formatted input parameters   */
01403     IN  msgMSG       *msg,              /* Message body used for reply  */
01404     OUT char         **replyBuffer,     /* Output buffer                */
01405     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01406     OUT ccsERROR     *error             /* Returned error structure     */
01407     );
01408 
01409 ccsCOMPL_STAT ItrkReadPos(
01410     IN  const char   *parameters,       /* Formatted input parameters   */
01411     IN  msgMSG       *msg,              /* Message body used for reply  */
01412     OUT char         **replyBuffer,     /* Output buffer                */
01413     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01414     OUT ccsERROR     *error             /* Returned error structure     */
01415     );
01416 
01417 ccsCOMPL_STAT ItrkSimPos(
01418     IN  const char   *parameters,       /* Formatted input parameters   */
01419     IN  msgMSG       *msg,              /* Message body used for reply  */
01420     OUT char         **replyBuffer,     /* Output buffer                */
01421     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01422     OUT ccsERROR     *error             /* Returned error structure     */
01423     );
01424 
01425 ccsCOMPL_STAT ItrkSetup(
01426     IN  const char   *parameters,       /* Formatted input parameters   */
01427     IN  msgMSG       *msg,              /* Message body used for reply  */
01428     OUT char         **replyBuffer,     /* Output buffer                */
01429     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01430     OUT ccsERROR     *error             /* Returned error structure     */
01431     );
01432 
01433 ccsCOMPL_STAT ItrkAGCorrect(
01434     IN  const char   *parameters,       /* Formatted input parameters   */
01435     IN  msgMSG       *msg,              /* Message body used for reply  */
01436     OUT char         **replyBuffer,     /* Output buffer                */
01437     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01438     OUT ccsERROR     *error             /* Returned error structure     */
01439     );
01440 
01441 ccsCOMPL_STAT ItrkGetAgProcid(
01442     IN  const char   *parameters,       /* Formatted input parameters   */
01443     IN  msgMSG       *msg,              /* Message body used for reply  */
01444     OUT char         **replyBuffer,     /* Output buffer                */
01445     OUT msgLENGTH    *replyBufferSize,  /* Output buffer size           */
01446     OUT ccsERROR     *error             /* Returned error structure     */
01447     );
01448 
01449 
01450 
01451 /* prototypes of object handling functions */
01452 
01453 ccsCOMPL_STAT trkNewObjCmdBegin (
01454         IN trkCOORDINATES       *trkCurCoordinates,
01455         IN  msgMSG        *msg,
01456   OUT ccsERROR      *error
01457         );
01458 
01459 ccsCOMPL_STAT trkNewObjCmdEnd ( 
01460         IN trkCOORDINATES       *trkCurCoordinates,
01461         IN  msgMSG        *msg,
01462         OUT ccsERROR      *error
01463         );
01464 
01465 /* prototypes for timing functions */
01466 
01467 ccsCOMPL_STAT  trkTimTaskExit (void);
01468 ccsCOMPL_STAT  trkTimTask (void);
01469 
01470 
01471 #endif
01472 
01473 
01474 #endif 

Generated on Wed Dec 3 14:52:22 2003 for ATCS API by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001