register require to iocsh for 3.14

This commit is contained in:
zimoch
2007-10-03 13:05:05 +00:00
parent e8d6c8df86
commit 66803b9c8c
2 changed files with 34 additions and 0 deletions
+33
View File
@@ -13,7 +13,11 @@
#include <epicsVersion.h>
#ifndef BASE_VERSION
/* This is R3.14.* */
#include <iocsh.h>
extern int iocshCmd (const char *cmd);
#include <dbAccess.h>
#include <epicsExit.h>
#include <epicsExport.h>
#endif
int dbLoadDatabase(char *filename, char *path, char *substitutions);
@@ -246,3 +250,32 @@ int libversionShow(char* pattern)
symEach(sysSymTbl, (FUNCPTR)printIfLibversion, (int)pattern);
return OK;
}
#ifndef BASE_VERSION
static const iocshArg requireArg0 = { "module", iocshArgString };
static const iocshArg requireArg1 = { "version", iocshArgString };
static const iocshArg * const requireArgs[2] = { &requireArg0, &requireArg1 };
static const iocshFuncDef requireDef = { "require", 2, requireArgs };
static void requireFunc (const iocshArgBuf *args)
{
if (require (args[0].sval, args[1].sval) != 0
&& !interruptAccept)
{
/* require failed in startup script before iocInit */
fprintf (stderr, "Aborting startup script\n");
epicsExit (1);
}
}
static void requireRegister(void)
{
static int firstTime = 1;
if (firstTime) {
iocshRegister (&requireDef, requireFunc);
firstTime = 0;
}
}
epicsExportRegistrar(requireRegister);
#endif
+1
View File
@@ -0,0 +1 @@
registrar(requireRegister)