Tagged files with gromacs 3.0 header and added some license info
[alexxy/gromacs.git] / include / strdb.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  * Giving Russians Opium May Alter Current Situation
35  */
36
37 #ifndef _strdb_h
38 #define _strdb_h
39
40 static char *SRCID_strdb_h = "$Id$";
41 #ifdef HAVE_CONFIG_H
42 #include <config.h>
43 #endif
44
45 #ifdef HAVE_IDENT
46 #ident  "@(#) strdb.h 1.9 2/2/97"
47 #endif /* HAVE_IDENT */
48
49 #include "typedefs.h"
50
51 extern bool get_a_line(FILE *fp,char line[],int n);
52 /* Read a line of at most n characters form *fp to line. 
53  * Comment ';...' and leading spaces are removed, empty lines are skipped.
54  * Return FALSE when eof. 
55  */
56
57 extern bool get_header(char line[],char header[]);
58 /* Read a header between '[' and ']' from line to header.
59  * Returns FALSE no header is found.
60  */
61
62 extern int fget_lines(FILE *in,char ***strings);
63 /* Read an array of lines from file in. strings should be
64  * the address of an array of strings (to be malloced by this routine)
65  * return the number of strings.
66  */
67 extern int get_lines(char *db,char ***strings);
68 /* Open file db, or if non-existant file $GMXLIB/db and read strings 
69  * return the number of strings.
70  */
71
72 extern int search_str(int nstr,char **str,char *key);
73 /* Search an array of strings for key, return the index if found
74  * -1 if not found.
75  */
76
77 extern int get_strings(char *db,char ***strings);
78 /* Read an array of strings from file db or $GMXLIB/db. strings should be
79  * the address of an array of strings (to be malloced by this routine)
80  * return the number of strings.
81  */
82 extern int get_file(char *db,char ***strings);
83 /* Read an array of strings from file db or $GMXLIB/db. strings should be
84  * the address of an array of strings (to be malloced by this routine)
85  * Does not need number of lines as first line in the file. 
86  * return the number of strings.
87  */
88
89 #endif  /* _strdb_h */