aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortradke <tradke@b32723a9-ab3a-4a60-88e2-2e5d99d7c17a>2002-06-25 16:41:05 +0000
committertradke <tradke@b32723a9-ab3a-4a60-88e2-2e5d99d7c17a>2002-06-25 16:41:05 +0000
commit0a632ecfa445591cca6514266cdb8db4d4e97a4c (patch)
tree76d813a4d8e2b9645d617d4d8d8b15622f0863f4
parentfd480da0f9deadf9250a2fb1c86a1394ff5897a4 (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.tex17
-rw-r--r--src/CheckpointRecovery.c25
-rw-r--r--src/ioutil_CheckpointRecovery.h6
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,