#include <stdio.h>
-#include "../legacyheaders/types/inputrec.h"
-#include "../legacyheaders/types/oenv.h"
-#include "../legacyheaders/network.h"
+#include "gromacs/fileio/enxio.h"
+#include "gromacs/fileio/filenm.h"
+#include "gromacs/legacyheaders/network.h"
+#include "gromacs/legacyheaders/types/inputrec.h"
+#include "gromacs/legacyheaders/types/oenv.h"
+#include "gromacs/math/vectypes.h"
+#include "gromacs/timing/wallcycle.h"
+#include "gromacs/utility/basedefinitions.h"
-#include "../math/vectypes.h"
-#include "../utility/basedefinitions.h"
-#include "filenm.h"
-#include "enxio.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
struct gmx_mtop_t;
const t_commrec *cr,
const t_inputrec *ir,
struct gmx_mtop_t *mtop,
- const output_env_t oenv);
+ const output_env_t oenv,
+ gmx_wallcycle_t wcycle);
/*! \brief Getter for file pointer */
FILE *mdoutf_get_fp_field(gmx_mdoutf_t of);
/*! \brief Getter for file pointer */
FILE *mdoutf_get_fp_dhdl(gmx_mdoutf_t of);
+/*! \brief Getter for wallcycle timer */
+gmx_wallcycle_t mdoutf_get_wcycle(gmx_mdoutf_t of);
+
+/*! \brief Close TNG files if they are open.
+ *
+ * This also measures the time it takes to close the TNG
+ * files.
+ */
+void mdoutf_tng_close(gmx_mdoutf_t of);
+
/*! \brief Close all open output files and free the of pointer */
void done_mdoutf(gmx_mdoutf_t of);
void mdoutf_write_to_trajectory_files(FILE *fplog, t_commrec *cr,
gmx_mdoutf_t of,
int mdof_flags,
- gmx_mtop_t *top_global,
+ struct gmx_mtop_t *top_global,
gmx_int64_t step, double t,
t_state *state_local, t_state *state_global,
rvec *f_local, rvec *f_global);
#define MDOF_CPT (1<<4)
#define MDOF_IMD (1<<5)
+#ifdef __cplusplus
+}
+#endif
#endif /* GMX_FILEIO_MDOUTF_H */