From 159e36d23b9dfb15d6bca2fb781b1cb2d6f561f5 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Wed, 26 Oct 2022 23:34:10 +0200 Subject: [PATCH] Add function char* ngCM_Input_Path(const char* path); to shared ngspice API to send file path for code model input files (e.g. dsource). Such path cannot be extracted automatically when netlist has been sent by ngSpice_Circ --- src/include/ngspice/sharedspice.h | 6 +++++- src/sharedspice.c | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/include/ngspice/sharedspice.h b/src/include/ngspice/sharedspice.h index e3a81d391..ee67ab30d 100644 --- a/src/include/ngspice/sharedspice.h +++ b/src/include/ngspice/sharedspice.h @@ -365,12 +365,16 @@ Commands are executed immediately */ IMPEXP int ngSpice_Command(char* command); - /* get info about a vector */ IMPEXP pvector_info ngGet_Vec_Info(char* vecname); #ifdef XSPICE +/* Set the input path for files loaded by code models. + If NULL is sent, return the current Infile_Path. */ +IMPEXP +char* ngCM_Input_Path(const char* path); + /* get info about the event node vector */ IMPEXP pevt_shared_data ngGet_Evt_NodeInfo(char* nodename); diff --git a/src/sharedspice.c b/src/sharedspice.c index 7edb2d2bc..4b5dbcec6 100644 --- a/src/sharedspice.c +++ b/src/sharedspice.c @@ -1085,6 +1085,22 @@ int ngSpice_Command(char* comexec) return 1; } +#ifdef XSPICE +/* Set the input path for files loaded by code models. + If NULL is sent, return the current Infile_Path. */ +IMPEXP +char *ngCM_Input_Path(const char* path) +{ + /* delete existing command memory */ + if (path) { + txfree(Infile_Path); + Infile_Path = copy(path); + } + fprintf(stdout, "Note: Codel model file loading path is %s\n", Infile_Path); + return Infile_Path; +} +#endif + /* Return information about a vector to the caller */ IMPEXP pvector_info ngGet_Vec_Info(char* vecname)