Tagged files with gromacs 3.0 header and added some license info
[alexxy/gromacs.git] / include / typedefs.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 _typedefs_h
38 #define _typedefs_h
39
40 static char *SRCID_typedefs_h = "$Id$";
41 #ifdef HAVE_CONFIG_H
42 #include <config.h>
43 #endif
44
45 #ifdef CPLUSPLUS
46 extern "C" {
47 #endif
48
49 #define STRLEN 4096
50 #define NOTSET -12345
51
52 #include <sys/types.h>
53 #include <sysstuff.h>
54 #include <types/simple.h>
55 #include <types/enums.h>
56 #include <types/block.h>
57 #include <types/symtab.h>
58 #include <types/idef.h>
59 #include <types/atoms.h>
60 #include <types/trx.h>
61 #include <types/topology.h>
62 #include <types/energy.h>
63 #include <types/inputrec.h>
64 #include <types/nsborder.h>
65 #include <types/ishift.h>
66 #include <types/graph.h>
67 #include <types/nrnb.h>
68 #include <types/nblist.h>
69 #include <types/nsgrid.h>
70 #include <types/commrec.h>
71 #include <types/forcerec.h>
72 #include <types/mdatom.h>
73 #include <types/ifunc.h>
74 #include <types/filenm.h>
75 #include <types/group.h>
76 #include <types/drblock.h>
77 #include <types/parm.h>
78 #include <types/matrix.h>
79 #include <types/edsams.h>
80 #include <types/pulls.h>
81
82 /* Functions to initiate and delete structures *
83  * These functions are defined in gmxlib/typedefs.c 
84  */
85 extern void init_block(t_block *block);
86 extern void init_atom (t_atoms *at);
87 extern void init_top (t_topology *top);
88 extern void init_inputrec(t_inputrec *ir);
89 extern void done_block(t_block *block);
90 extern void done_atom (t_atoms *at);
91 extern void done_top(t_topology *top);
92 extern void done_inputrec(t_inputrec *ir);
93
94 extern void stupid_fill(t_block *grp, int natom,bool bOneIndexGroup);
95 /* Fill a block structure with numbers identical to the index
96  * (0, 1, 2, .. natom-1)
97  * If bOneIndexGroup, then all atoms are  lumped in one index group,
98  * otherwise there is one atom per index entry
99  */
100
101 extern void init_t_atoms(t_atoms *atoms, int natoms, bool bPdbinfo);
102 /* allocate memory for the arrays, set nr to natoms and nres to 0
103  * set pdbinfo to NULL or allocate memory for it */  
104
105 extern void free_t_atoms(t_atoms *atoms);
106 /* free all the arrays and set the nr and nres to 0 */
107
108 #ifdef CPLUSPLUS
109 }
110 #endif
111
112
113 #endif  /* _typedefs_h */