Tagged files with gromacs 3.0 header and added some license info
[alexxy/gromacs.git] / include / rwtop.h
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.0
11  * 
12  * Copyright (c) 1991-2001
13  * BIOSON Research Institute, Dept. of Biophysical Chemistry
14  * University of Groningen, The Netherlands
15  * 
16  * This program is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU General Public License
18  * as published by the Free Software Foundation; either version 2
19  * of the License, or (at your option) any later version.
20  * 
21  * If you want to redistribute modifications, please consider that
22  * scientific software is very special. Version control is crucial -
23  * bugs must be traceable. We will be happy to consider code for
24  * inclusion in the official distribution, but derived work must not
25  * be called official GROMACS. Details are found in the README & COPYING
26  * files - if they are missing, get the official version at www.gromacs.org.
27  * 
28  * To help us fund GROMACS development, we humbly ask that you cite
29  * the papers on the package - you can find them in the top README file.
30  * 
31  * Do check out http://www.gromacs.org , or mail us at gromacs@gromacs.org .
32  * 
33  * And Hey:
34  * Good ROcking Metal Altar for Chronical Sinners
35  */
36
37 #ifndef _rwtop_h
38 #define _rwtop_h
39
40 static char *SRCID_rwtop_h = "$Id$";
41 #ifdef HAVE_CONFIG_H
42 #include <config.h>
43 #endif
44
45 #ifdef HAVE_IDENT
46 #ident  "@(#) rwtop.h 1.5 12/16/92"
47 #endif /* HAVE_IDENT */
48
49 #include <stdio.h>
50 #include "typedefs.h"
51
52 /*
53  * This module handles topolgy manipulation, including (binary) writing
54  * to and reading from a file, freeing the allocated space and textual 
55  * representation of the complete topology structure.
56  */
57
58 extern long wr_top(FILE *fp,t_topology *top);
59 /*
60  * Writes the topology to the file, specified by fp. The function 
61  * returns the number of bytes written. The topology is not modified!
62  */
63
64 extern long rd_top(FILE *fp,t_topology *top);
65 /*
66  * Reads the topology from the file, specified by fp. This will 
67  * include allocating the needed space. The function returns the 
68  * number of bytes read.
69  */
70
71 extern void rm_top(t_topology *top);
72 /*
73  * Frees the space allocated by the topology. This is only
74  * guaranteed to work when the same allocation strategy is used as
75  * in rd_top().
76  */
77
78 extern void pr_energies(FILE *fp,int indent,char *title,t_energy *e,int n);
79 /*
80  * This routine prints out a (human) readable representation of
81  * an array of energy structs to the file fp. Ident specifies the
82  * number of spaces the text should be indented. Title is used to
83  * print a header text.
84  */
85
86 extern void pr_inputrec(FILE *fp,int indent,char *title,t_inputrec *ir);
87 /*
88  * This routine prints out a (human) readable representation of
89  * an input record to the file fp. Ident specifies the number of spaces
90  * the text should be indented. Title is used to print a header text.
91  */
92  
93 #endif  /* _rwtop_h */