diff options
author | tradke <tradke@b32723a9-ab3a-4a60-88e2-2e5d99d7c17a> | 2002-06-25 16:41:05 +0000 |
---|---|---|
committer | tradke <tradke@b32723a9-ab3a-4a60-88e2-2e5d99d7c17a> | 2002-06-25 16:41:05 +0000 |
commit | 0a632ecfa445591cca6514266cdb8db4d4e97a4c (patch) | |
tree | 76d813a4d8e2b9645d617d4d8d8b15622f0863f4 | |
parent | fd480da0f9deadf9250a2fb1c86a1394ff5897a4 (diff) |
Added a fortran wrapper for IOUtil_RecoverVarsFromDatafiles().
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/IOUtil/trunk@172 b32723a9-ab3a-4a60-88e2-2e5d99d7c17a
-rw-r--r-- | doc/documentation.tex | 17 | ||||
-rw-r--r-- | src/CheckpointRecovery.c | 25 | ||||
-rw-r--r-- | src/ioutil_CheckpointRecovery.h | 6 |
3 files changed, 39 insertions, 9 deletions
diff --git a/doc/documentation.tex b/doc/documentation.tex index 87013ba..9095042 100644 --- a/doc/documentation.tex +++ b/doc/documentation.tex @@ -497,10 +497,21 @@ by any application thorn at any time. It gets passed the equivalent information to the filereader parameters, plus a pointer to the underlying CCTK grid hierarchy: +C API: \begin{verbatim} - void IOUtil_RecoverVarsFromDatafiles (cGH *GH, - const char *in_files, - const char *in_vars); + int IOUtil_RecoverVarsFromDatafiles (cGH *GH, + const char *in_files, + const char *in_vars); +\end{verbatim} + +Fortran API: +\begin{verbatim} + call IOUtil_RecoverVarsFromDatafiles (GH, in_files, in_vars) + + integer result + CCTK_POINTER GH + character*(*) in_files + character*(*) in_vars \end{verbatim} If data is to be imported from files which were not created by {\tt IOHDF5} or diff --git a/src/CheckpointRecovery.c b/src/CheckpointRecovery.c index f12161b..9b18728 100644 --- a/src/CheckpointRecovery.c +++ b/src/CheckpointRecovery.c @@ -11,6 +11,7 @@ #include "cctk.h" #include "cctk_Parameters.h" +#include "cctk_FortranString.h" #include "StoreHandledData.h" #include "ioGH.h" @@ -32,6 +33,8 @@ CCTK_FILEVERSION(CactusBase_IOUtil_CheckpointRecovery_c) ********************************************************************/ void IOUtil_RecoverGH (cGH *GH); void IOUtil_RecoverIDFromDatafiles (cGH *GH); +void CCTK_FCALL CCTK_FNAME (IOUtil_RecoverVarsFromDatafiles) + (int *result, cGH *GH, TWO_FORTSTRING_ARG); /******************************************************************** @@ -365,10 +368,15 @@ void IOUtil_RecoverGH (cGH *GH) @vtype const char * @vio in @endvar + + @returntype int + @returndesc + 0 for success + @endreturndesc @@*/ -void IOUtil_RecoverVarsFromDatafiles (cGH *GH, - const char *in_files, - const char *in_vars) +int IOUtil_RecoverVarsFromDatafiles (cGH *GH, + const char *in_files, + const char *in_vars) { ioGH *myGH; char *basefilename, *delim, delim_char; @@ -433,6 +441,17 @@ void IOUtil_RecoverVarsFromDatafiles (cGH *GH, free (myGH->do_inVars); myGH->do_inVars = NULL; } + + return (0); +} + +void CCTK_FCALL CCTK_FNAME (IOUtil_RecoverVarsFromDatafiles) + (int *result, cGH *GH, TWO_FORTSTRING_ARG) +{ + TWO_FORTSTRING_CREATE (in_files, in_vars) + *result = IOUtil_RecoverVarsFromDatafiles (GH, in_files, in_vars); + free (in_files); + free (in_vars); } diff --git a/src/ioutil_CheckpointRecovery.h b/src/ioutil_CheckpointRecovery.h index 5b7c0e8..c0bf445 100644 --- a/src/ioutil_CheckpointRecovery.h +++ b/src/ioutil_CheckpointRecovery.h @@ -43,9 +43,9 @@ int IOUtil_RegisterRecover (const char *name, int (*func) (cGH *, const char *, int)); /* recover variables from a list of data files */ -void IOUtil_RecoverVarsFromDatafiles (cGH *GH, - const char *in_files, - const char *in_vars); +int IOUtil_RecoverVarsFromDatafiles (cGH *GH, + const char *in_files, + const char *in_vars); /* generic recovery routine called by other IO thorns */ int IOUtil_RecoverParameters (int (*recoverFn) (cGH *GH, |