/*@@ @header ioStreamedHDF5GH.h @date Jun 20 2000 @author Thomas Radke @desc The GH extensions structure for IOStreamedHDF5. @version $Id$ @@*/ #ifndef _IOSTREAMEDHDF5_IOSTREAMEDHDF5GH_H_ #define _IOSTREAMEDHDF5_IOSTREAMEDHDF5GH_H_ #include "BetaThorns/IOHDF5Util/src/ioHDF5UtilGH.h" /* IOStreamedHDF5 GH extension structure */ typedef struct { /* how often to output */ int out_every; /* array of variable output requests */ /* FIXME: make this a linked list of requests to allow for multiple requests per variable (eg. with different hyperslab parameters) */ ioHDF5Geo_t **geo_output; /* the last iteration output */ int *out_last; /* sockets to output data and checkpoint files to */ int data_socket; int checkpoint_socket; /* file access property list used to write checkpoint files */ hid_t checkpoint_fapl; /* flag indicating whether we want timing info on checkpointing/recovery and corresponding array of Cactus timers */ int print_timing_info; int timers[IOHDF5_NUM_TIMERS]; /* filename for advertising the hostname / port number information */ char *advertised_filename; } ioStreamedHDF5GH; #ifdef __cplusplus extern "C" { #endif /* prototypes of functions to be registered as IOStreamedHDF5's IO method */ int IOStreamedHDF5_OutputGH (cGH *GH); int IOStreamedHDF5_TriggerOutput (cGH *GH, int); int IOStreamedHDF5_TimeFor (cGH *GH, int); int IOStreamedHDF5_OutputVarAs (cGH *GH, const char *var, const char *alias); int IOStreamedHDF5_Recover (cGH *GH, const char *basefilename, int called_from); /* other function prototypes */ void IOStreamedHDF5_Write (cGH *GH, int vindex, const char *alias); #ifdef __cplusplus } // extern "C" #endif #endif /* _IOSTREAMEDHDF5_IOSTREAMEDHDF5GH_H_ */