Sort all includes in src/gromacs
[alexxy/gromacs.git] / src / gromacs / fileio / gmxfio.h
index a9ffc11c5d96931676e538d83d699a8caf0eb968..bc656d2ef98fda4fbaae00711778d25d4d713078 100644 (file)
@@ -2,8 +2,8 @@
  * This file is part of the GROMACS molecular simulation package.
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #define GMX_FILEIO_GMXFIO_H
 
 #include <stdio.h>
-#include "../legacyheaders/typedefs.h"
-#include "futil.h"
+
+#include "gromacs/math/vectypes.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/real.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -56,16 +59,13 @@ enum {
 
 /* Enumerated for data types in files */
 enum {
-    eioREAL, eioFLOAT, eioDOUBLE, eioINT, eioGMX_LARGE_INT,
+    eioREAL, eioFLOAT, eioDOUBLE, eioINT, eioINT64,
     eioUCHAR, eioNUCHAR, eioUSHORT,
     eioRVEC, eioNRVEC, eioIVEC, eioSTRING, eioNR
 };
 
 typedef struct t_fileio t_fileio;
 
-extern const char *itemstr[eitemNR];
-extern const char *comment_str[eitemNR];
-
 /* NOTE ABOUT THREAD SAFETY:
 
    The functions are all thread-safe, provided that two threads don't
@@ -80,11 +80,6 @@ extern const char *comment_str[eitemNR];
 t_fileio *gmx_fio_open(const char *fn, const char *mode);
 /* Open a new file for reading or writing.
  * The file type will be deduced from the file name.
- * If fn is NULL, stdin / stdout will be used for Ascii I/O (TPA type)
- * mode may be "r", "w", or "a". You should append a "b" to the mode
- * if you are writing a binary file, but the routine will also
- * doublecheck it and try to do it if you forgot. This has no effect on
- * unix, but is important on windows.
  */
 
 int gmx_fio_close(t_fileio *fp);
@@ -147,7 +142,7 @@ void gmx_fio_checktype(t_fileio *fio);
  ***************************************************/
 
 void gmx_fio_rewind(t_fileio *fio);
-/* Rewind the tpa file in fio */
+/* Rewind the file in fio */
 
 int gmx_fio_flush(t_fileio *fio);
 /* Flush the fio, returns 0 on success */
@@ -183,12 +178,6 @@ typedef struct
 }
 gmx_file_position_t;
 
-
-int gmx_fio_check_file_position(t_fileio *fio);
-/* Check if the file position is out of the range of off_t.
- * The result is stored along with the other file data of fio.
- */
-
 int gmx_fio_get_output_file_positions(gmx_file_position_t ** outputfiles,
                                       int                   *nfiles );
 /* Return the name and file pointer positions for all currently open
@@ -245,8 +234,8 @@ gmx_bool gmx_fio_reade_double(t_fileio *fio, double *item,
                               const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_reade_int(t_fileio *fio, int *item,
                            const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_reade_gmx_large_int(t_fileio *fio, gmx_large_int_t *item,
-                                     const char *desc, const char *srcfile, int line);
+gmx_bool gmx_fio_reade_int64(t_fileio *fio, gmx_int64_t *item,
+                             const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_reade_uchar(t_fileio *fio, unsigned char *item,
                              const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_reade_ushort(t_fileio *fio, unsigned short *item,
@@ -266,8 +255,8 @@ gmx_bool gmx_fio_writee_double(t_fileio *fio, double item,
                                const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_writee_int(t_fileio *fio, int item,
                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_writee_gmx_large_int(t_fileio *fio, gmx_large_int_t item,
-                                      const char *desc, const char *srcfile, int line);
+gmx_bool gmx_fio_writee_int64(t_fileio *fio, gmx_int64_t item,
+                              const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_writee_uchar(t_fileio *fio, unsigned char item,
                               const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_writee_ushort(t_fileio *fio, unsigned short item,
@@ -290,8 +279,8 @@ gmx_bool gmx_fio_doe_gmx_bool(t_fileio *fio, gmx_bool *item,
                               const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_doe_int(t_fileio *fio, int *item,
                          const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_doe_gmx_large_int(t_fileio *fio, gmx_large_int_t *item,
-                                   const char *desc, const char *srcfile, int line);
+gmx_bool gmx_fio_doe_int64(t_fileio *fio, gmx_int64_t *item,
+                           const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_doe_uchar(t_fileio *fio, unsigned char *item,
                            const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_doe_ushort(t_fileio *fio, unsigned short *item,
@@ -315,9 +304,9 @@ gmx_bool gmx_fio_nreade_double(t_fileio *fio, double *item, int n,
                                const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_nreade_int(t_fileio *fio, int *item, int n,
                             const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nreade_gmx_large_int(t_fileio *fio, gmx_large_int_t *item, int n,
-                                      const char *desc, const char *srcfile,
-                                      int line);
+gmx_bool gmx_fio_nreade_int64(t_fileio *fio, gmx_int64_t *item, int n,
+                              const char *desc, const char *srcfile,
+                              int line);
 gmx_bool gmx_fio_nreade_uchar(t_fileio *fio, unsigned char *item, int n,
                               const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_nreade_ushort(t_fileio *fio, unsigned short *item, int n,
@@ -337,10 +326,10 @@ gmx_bool gmx_fio_nwritee_double(t_fileio *fio, const double *item, int n,
                                 const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_nwritee_int(t_fileio *fio, const int *item, int n,
                              const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_nwritee_gmx_large_int(t_fileio *fio,
-                                       const gmx_large_int_t *item, int n,
-                                       const char *desc, const char *srcfile,
-                                       int line);
+gmx_bool gmx_fio_nwritee_int64(t_fileio *fio,
+                               const gmx_int64_t *item, int n,
+                               const char *desc, const char *srcfile,
+                               int line);
 gmx_bool gmx_fio_nwritee_uchar(t_fileio *fio, const unsigned char *item, int n,
                                const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_nwritee_ushort(t_fileio *fio, const unsigned short *item, int n,
@@ -362,9 +351,9 @@ gmx_bool gmx_fio_ndoe_gmx_bool(t_fileio *fio, gmx_bool *item, int n,
                                const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_ndoe_int(t_fileio *fio, int *item, int n,
                           const char *desc, const char *srcfile, int line);
-gmx_bool gmx_fio_ndoe_gmx_large_int(t_fileio *fio, gmx_large_int_t *item, int n,
-                                    const char *desc, const char *srcfile,
-                                    int line);
+gmx_bool gmx_fio_ndoe_int64(t_fileio *fio, gmx_int64_t *item, int n,
+                            const char *desc, const char *srcfile,
+                            int line);
 gmx_bool gmx_fio_ndoe_uchar(t_fileio *fio, unsigned char *item, int n,
                             const char *desc, const char *srcfile, int line);
 gmx_bool gmx_fio_ndoe_ushort(t_fileio *fio, unsigned short *item, int n,
@@ -383,7 +372,7 @@ gmx_bool gmx_fio_ndoe_string(t_fileio *fio, char *item[], int n,
 #define gmx_fio_read_float(fio, item)          gmx_fio_reade_float(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_read_double(fio, item)         gmx_fio_reade_double(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_read_int(fio, item)            gmx_fio_reade_int(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_read_gmx_large_int(fio, item)  gmx_fio_reade_gmx_large_int(fio, &item, (#item), __FILE__, __LINE__)
+#define gmx_fio_read_int64(fio, item)          gmx_fio_reade_int64(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_read_uchar(fio, item)          gmx_fio_reade_uchar(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_read_ushort(fio, item)         gmx_fio_reade_ushort(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_read_rvec(fio, item)           gmx_fio_reade_rvec(fio, item, (#item), __FILE__, __LINE__)
@@ -394,7 +383,7 @@ gmx_bool gmx_fio_ndoe_string(t_fileio *fio, char *item[], int n,
 #define gmx_fio_write_float(fio, item)          gmx_fio_writee_float(fio, item, (#item), __FILE__, __LINE__)
 #define gmx_fio_write_double(fio, item)         gmx_fio_writee_double(fio, item, (#item), __FILE__, __LINE__)
 #define gmx_fio_write_int(fio, item)            gmx_fio_writee_int(fio, item, (#item), __FILE__, __LINE__)
-#define gmx_fio_write_gmx_large_int(fio, item)  gmx_fio_writee_gmx_large_int(fio, item, (#item), __FILE__, __LINE__)
+#define gmx_fio_write_int64(fio, item)          gmx_fio_writee_int64(fio, item, (#item), __FILE__, __LINE__)
 #define gmx_fio_write_uchar(fio, item)          gmx_fio_writee_uchar(fio, item, (#item), __FILE__, __LINE__)
 #define gmx_fio_write_ushort(fio, item)         gmx_fio_writee_ushort(fio, item, (#item), __FILE__, __LINE__)
 #define gmx_fio_write_rvec(fio, item)           gmx_fio_writee_rvec(fio, item, (#item), __FILE__, __LINE__)
@@ -404,9 +393,9 @@ gmx_bool gmx_fio_ndoe_string(t_fileio *fio, char *item[], int n,
 #define gmx_fio_do_real(fio, item)              gmx_fio_doe_real(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_do_float(fio, item)             gmx_fio_doe_float(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_do_double(fio, item)            gmx_fio_doe_double(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_do_gmx_bool(fio, item)              gmx_fio_doe_gmx_bool(fio, &item, (#item), __FILE__, __LINE__)
+#define gmx_fio_do_gmx_bool(fio, item)          gmx_fio_doe_gmx_bool(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_do_int(fio, item)               gmx_fio_doe_int(fio, &item, (#item), __FILE__, __LINE__)
-#define gmx_fio_do_gmx_large_int(fio, item)     gmx_fio_doe_gmx_large_int(fio, &item, (#item), __FILE__, __LINE__)
+#define gmx_fio_do_int64(fio, item)             gmx_fio_doe_int64(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_do_uchar(fio, item)             gmx_fio_doe_uchar(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_do_ushort(fio, item)            gmx_fio_doe_ushort(fio, &item, (#item), __FILE__, __LINE__)
 #define gmx_fio_do_rvec(fio, item)              gmx_fio_doe_rvec(fio, &item, (#item), __FILE__, __LINE__)
@@ -420,7 +409,7 @@ gmx_bool gmx_fio_ndoe_string(t_fileio *fio, char *item[], int n,
 #define gmx_fio_nread_float(fio, item, n)           gmx_fio_nreade_float(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nread_double(fio, item, n)          gmx_fio_nreade_double(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nread_int(fio, item, n)             gmx_fio_nreade_int(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nread_gmx_large_int(fio, item, n)   gmx_fio_nreade_gmx_large_int(fio, item, n, (#item), __FILE__, __LINE__)
+#define gmx_fio_nread_int64(fio, item, n)           gmx_fio_nreade_int64(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nread_uchar(fio, item, n)           gmx_fio_nreade_uchar(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nread_ushort(fio, item, n)          gmx_fio_nreade_ushort(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nread_rvec(fio, item, n)            gmx_fio_nreade_rvec(fio, item, n, (#item), __FILE__, __LINE__)
@@ -431,7 +420,7 @@ gmx_bool gmx_fio_ndoe_string(t_fileio *fio, char *item[], int n,
 #define gmx_fio_nwrite_float(fio, item, n)          gmx_fio_nwritee_float(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nwrite_double(fio, item, n)         gmx_fio_nwritee_double(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nwrite_int(fio, item, n)            gmx_fio_nwritee_int(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_nwrite_gmx_large_int(fio, item, n)  gmx_fio_nwritee_gmx_large_int(fio, item, n, (#item), __FILE__, __LINE__)
+#define gmx_fio_nwrite_int64(fio, item, n)          gmx_fio_nwritee_int64(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nwrite_uchar(fio, item, n)          gmx_fio_nwritee_uchar(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nwrite_ushort(fio, item, n)         gmx_fio_nwritee_ushort(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_nwrite_rvec(fio, item, n)           gmx_fio_nwritee_rvec(fio, item, n, (#item), __FILE__, __LINE__)
@@ -441,9 +430,9 @@ gmx_bool gmx_fio_ndoe_string(t_fileio *fio, char *item[], int n,
 #define gmx_fio_ndo_real(fio, item, n)              gmx_fio_ndoe_real(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_ndo_float(fio, item, n)             gmx_fio_ndoe_float(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_ndo_double(fio, item, n)            gmx_fio_ndoe_double(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_ndo_gmx_bool(fio, item, n)              gmx_fio_ndoe_gmx_bool(fio, item, n, (#item), __FILE__, __LINE__)
+#define gmx_fio_ndo_gmx_bool(fio, item, n)          gmx_fio_ndoe_gmx_bool(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_ndo_int(fio, item, n)               gmx_fio_ndoe_int(fio, item, n, (#item), __FILE__, __LINE__)
-#define gmx_fio_ndo_gmx_large_int(fio, item, n)     gmx_fio_ndoe_gmx_large_int(fio, item, n, (#item), __FILE__, __LINE__)
+#define gmx_fio_ndo_int64(fio, item, n)             gmx_fio_ndoe_int64(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_ndo_uchar(fio, item, n)             gmx_fio_ndoe_uchar(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_ndo_ushort(fio, item, n)            gmx_fio_ndoe_ushort(fio, item, n, (#item), __FILE__, __LINE__)
 #define gmx_fio_ndo_rvec(fio, item, n)              gmx_fio_ndoe_rvec(fio, item, n, (#item), __FILE__, __LINE__)