/*--------------------------------------------------------------------------- ----------------------------------------------------------------------------*/ #ifndef ANSTO_SINFOX #define ANSTO_SINFOX #include #include typedef struct __Sinfox { pObjectDescriptor pDes; /* required as first field */ const char *buildVersion; const char *configName; const char *configVersion; const char *description; const char *instrument; const char *schemaVersion; Tcl_Interp *tTcl; } Sinfox; typedef struct __Sinfox *pSinfox; #ifndef SICSSITE /* Avoid duplicate declaration in site_ansto.c */ const int iNumInfoKeys = 6; char *pInfoKeys[7] = { "buildVersion", "configName", "configVersion", "description", "instrument", "schemaVersion", NULL }; const int iNumCommandKeys = 3; char *pCommandKeys[4] = { "argument", "device", "interface", NULL }; const int iNumDeviceKeys = 3; char *pDeviceKeys[4] = { "attribute", "command", "interface", NULL }; const int iNumDeviceTypes = 24; char *pDeviceTypes[25] = { "4-circle-calculus", "anticollider", "chopper", "chopperadaptor", "connection", "crystalselector", "environment monitor", "environment controller", "gpib", "hklscan", "hmcontrol", "lin2ang", "local maximum detector", "maximizer", "mesure", "motor", "mulmot", "omega2theta", "rs232 controller", "scanobject", "sicsvariable", "singlecounter", "velocityselector", "xytable", NULL }; const int iNumIFaces = 4; char *pIFaces[5] = { "callback", "countable", "drivable", "environment", NULL }; const int iNumServerKeys = 10; char *pServerKeys[11] = { "help", "list", "command", "connection", "device", "devicetype", "experiment", "group", "interface", "key", NULL }; #endif /* SICSSITE */ /*--------------------- lifecycle -------------------------------------- */ int InstallSinfox(SConnection *pCon, SicsInterp *pSics, void *pData, int argc, char *argv[]); void DeleteSinfox(void *pSelf); /*--------------------- operations --------------------------------------*/ int SinfoxAction(SConnection *pCon, SicsInterp *pSics, void *pData, int argc, char *argv[]); /*-----------------------------------------------------------------------*/ #endif /* ANSTO_SINFOX */