Merge branch 'master' of git://git.gromacs.org/gromacs
[gromacs/adressmacs.git] / include / types / filenm.h
blob0453d1822003130fc831bf4ae28410f2d2d5ba06
1 /*
2 *
3 * This source code is part of
4 *
5 * G R O M A C S
6 *
7 * GROningen MAchine for Chemical Simulations
8 *
9 * VERSION 3.2.0
10 * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
11 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
12 * Copyright (c) 2001-2004, The GROMACS development team,
13 * check out http://www.gromacs.org for more information.
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version 2
18 * of the License, or (at your option) any later version.
20 * If you want to redistribute modifications, please consider that
21 * scientific software is very special. Version control is crucial -
22 * bugs must be traceable. We will be happy to consider code for
23 * inclusion in the official distribution, but derived work must not
24 * be called official GROMACS. Details are found in the README & COPYING
25 * files - if they are missing, get the official version at www.gromacs.org.
27 * To help us fund GROMACS development, we humbly ask that you cite
28 * the papers on the package - you can find them in the top README file.
30 * For more info, check our website at http://www.gromacs.org
32 * And Hey:
33 * GRoups of Organic Molecules in ACtion for Science
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
41 /* this enum should correspond to the array deffile in gmxlib/filenm.c */
42 enum {
43 efMDP, efGCT,
44 efTRX, efTRO, efTRN, efTRR, efTRJ, efXTC, efG87,
45 efEDR,
46 efSTX, efSTO, efGRO, efG96, efPDB, efBRK, efENT, efESP, efPQR, efXYZ,
47 efCPT,
48 efLOG, efXVG, efOUT,
49 efNDX,
50 efTOP, efITP,
51 efTPX, efTPS, efTPR, efTPA, efTPB,
52 efTEX, efRTP, efATP, efHDB,
53 efDAT, efDLG,
54 efMAP, efEPS, efMAT, efM2P,
55 efMTX,
56 efEDI, efEDO,
57 efHAT,
58 efCUB,
59 efXPM,
60 efNR
63 typedef struct {
64 int ftp; /* File type (see enum above) */
65 const char *opt; /* Command line option */
66 const char *fn; /* File name (as set in source code) */
67 unsigned long flag; /* Flag for all kinds of info (see defs)*/
68 int nfiles; /* number of files */
69 char **fns; /* File names */
70 } t_filenm;
72 #define ffSET 1<<0
73 #define ffREAD 1<<1
74 #define ffWRITE 1<<2
75 #define ffOPT 1<<3
76 #define ffLIB 1<<4
77 #define ffMULT 1<<5
78 #define ffRW (ffREAD | ffWRITE)
79 #define ffOPTRD (ffREAD | ffOPT)
80 #define ffOPTWR (ffWRITE| ffOPT)
81 #define ffOPTRW (ffRW | ffOPT)
82 #define ffLIBRD (ffREAD | ffLIB)
83 #define ffLIBOPTRD (ffOPTRD | ffLIB)
84 #define ffRDMULT (ffREAD | ffMULT)
85 #define ffOPTRDMULT (ffRDMULT | ffOPT)
86 #define ffWRMULT (ffWRITE | ffMULT)
87 #define ffOPTWRMULT (ffWRMULT | ffOPT)
89 #ifdef __cplusplus
91 #endif