From 068ec9eed726f5f2e0938a3948b64f982b6ad91b Mon Sep 17 00:00:00 2001 From: Jeong Han Lee <jeonghan.lee@gmail.com> Date: Tue, 18 Sep 2018 23:09:34 +0200 Subject: [PATCH] add loadIocsh func --- require.h | 1 + runScript.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/require.h b/require.h index 59d89b00..318deedb 100644 --- a/require.h +++ b/require.h @@ -15,6 +15,7 @@ const char* getLibVersion(const char* libname); const char* getLibLocation(const char* libname); int libversionShow(const char* outfile); int runScript(const char* filename, const char* args); +int loadIocsh(const char* filename, const char* args); int putenvprintf(const char* format, ...) __attribute__((__format__(__printf__,1,2))); void pathAdd(const char* varname, const char* dirname); diff --git a/runScript.c b/runScript.c index daf79fa3..de736d51 100644 --- a/runScript.c +++ b/runScript.c @@ -52,6 +52,12 @@ epicsShareFunc int epicsShareAPI iocshCmd(const char *cmd); int runScriptDebug=0; +int loadIocsh(const char* filename, const char* args) +{ + return runScript(filename, args); +} + + int runScript(const char* filename, const char* args) { MAC_HANDLE *mac = NULL; @@ -346,6 +352,17 @@ int afterInit(char* cmd, char* a1, char* a2, char* a3, char* a4, char* a5, char* epicsExportAddress(int, runScriptDebug); epicsExportAddress(int, exprDebug); +static const iocshFuncDef loadIocshDef = { + "loadIocsh", 2, (const iocshArg *[]) { + &(iocshArg) { "filename", iocshArgString }, + &(iocshArg) { "substitutions", iocshArgString }, +}}; +static void loadIocshFunc(const iocshArgBuf *args) +{ + loadIocsh(args[0].sval, args[1].sval); +} + + static const iocshFuncDef runScriptDef = { "runScript", 2, (const iocshArg *[]) { &(iocshArg) { "filename", iocshArgString }, @@ -384,6 +401,7 @@ static void runScriptRegister(void) if (firstTime) { firstTime = 0; iocshRegister (&runScriptDef, runScriptFunc); + iocshRegister (&loadIocshDef, loadIocshFunc); iocshRegister (&afterInitDef, afterInitFunc); } } -- GitLab