Added dummy2 parameters generation routine.
[gromacs.git] / include / binio.h
blobcdf1e28a6cb616dc5546f7bb08c8af496c187cea
1 /*
2 * $Id$
3 *
4 * This source code is part of
5 *
6 * G R O M A C S
7 *
8 * GROningen MAchine for Chemical Simulations
9 *
10 * VERSION 3.1
11 * Copyright (c) 1991-2001, University of Groningen, The Netherlands
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * If you want to redistribute modifications, please consider that
18 * scientific software is very special. Version control is crucial -
19 * bugs must be traceable. We will be happy to consider code for
20 * inclusion in the official distribution, but derived work must not
21 * be called official GROMACS. Details are found in the README & COPYING
22 * files - if they are missing, get the official version at www.gromacs.org.
24 * To help us fund GROMACS development, we humbly ask that you cite
25 * the papers on the package - you can find them in the top README file.
27 * For more info, check our website at http://www.gromacs.org
29 * And Hey:
30 * Grunge ROck MAChoS
33 #ifndef _binio_h
34 #define _binio_h
36 static char *SRCID_binio_h = "$Id$";
37 #ifdef HAVE_CONFIG_H
38 #include <config.h>
39 #endif
41 #ifdef HAVE_IDENT
42 #ident "@(#) binio.h 1.5 11/23/92"
43 #endif /* HAVE_IDENT */
45 #include <stdio.h>
46 #include "sysstuff.h"
47 #include "fatal.h"
50 * Module to binary write and read.
52 * @
53 * @@@ @@ @
54 * @ @
55 * @ @ @ @@@ @@ @@@ @@ @@ @@@ @@ @@ @@ @@
56 * @ @ @ @ @ @@ @ @@ @ @ @@ @ @ @@
57 * @ @ @ @ @ @ @ @ @ @ @ @ @
58 * @@ @@ @@@@@ @ @ @ @ @ @ @ @
59 * @ @ @ @ @ @ @ @ @ @ @ @
60 * @ @ @ @@ @ @ @ @ @ @ @ @@
61 * @ @ @@@ @@ @@@@ @@@ @@@ @@@@@ @@@ @@@ @@ @
62 * @
63 * @
64 * @@@
66 * Use this module only to write and read simple types or array(s)
67 * of simple types. STRUCTURES ARE DEFINITELY NOT ALLOWED.
70 #define nblockwrite(fp,nelem,data) \
71 _blockwrite(fp,nelem,sizeof(*data),(data),#data,__FILE__,__LINE__)
72 #define blockwrite(fp,data) \
73 _blockwrite(fp,1,sizeof(data),&(data),#data,__FILE__,__LINE__)
74 #define cblockwrite(fp,ptr,nchars) \
75 _blockwrite(fp,1,(nchars),(ptr),#ptr,__FILE__,__LINE__)
76 #define nblockread(fp,nelem,data) \
77 _blockread(fp,nelem,sizeof(*data),(data),#data,__FILE__,__LINE__)
78 #define blockread(fp,data) \
79 _blockread(fp,1,sizeof(data),&(data),#data,__FILE__,__LINE__)
80 #define cblockread(fp,ptr,nchars) \
81 _blockread(fp,1,(nchars),(ptr),#ptr,__FILE__,__LINE__)
84 extern void _blockwrite(FILE *fp,int nelem,int size,void *data,
85 char *what,char *file,int line);
87 extern void _blockread(FILE *fp,int nelem,int size,void *data,
88 char *what,char *file,int line);
90 #endif /* _binio_h */