00001
00002
00003 #ifndef F2C_INCLUDE
00004 #define F2C_INCLUDE
00005
00006 typedef long int integer;
00007 typedef char *address;
00008 typedef short int shortint;
00009 typedef float freal;
00010 typedef double doublereal;
00011 typedef struct { freal r, i; } fcomplex;
00012 typedef struct { doublereal r, i; } doublecomplex;
00013 typedef long int logical;
00014 typedef short int shortlogical;
00015
00016 #define TRUE_ (1)
00017 #define FALSE_ (0)
00018
00019
00020 #ifndef Extern
00021 #define Extern extern
00022 #endif
00023
00024
00025
00026 #ifdef f2c_i2
00027
00028 typedef short flag;
00029 typedef short ftnlen;
00030 typedef short ftnint;
00031 #else
00032 typedef long flag;
00033 typedef long ftnlen;
00034 typedef long ftnint;
00035 #endif
00036
00037
00038 typedef struct
00039 { flag cierr;
00040 ftnint ciunit;
00041 flag ciend;
00042 char *cifmt;
00043 ftnint cirec;
00044 } cilist;
00045
00046
00047 typedef struct
00048 { flag icierr;
00049 char *iciunit;
00050 flag iciend;
00051 char *icifmt;
00052 ftnint icirlen;
00053 ftnint icirnum;
00054 } icilist;
00055
00056
00057 typedef struct
00058 { flag oerr;
00059 ftnint ounit;
00060 char *ofnm;
00061 ftnlen ofnmlen;
00062 char *osta;
00063 char *oacc;
00064 char *ofm;
00065 ftnint orl;
00066 char *oblnk;
00067 } olist;
00068
00069
00070 typedef struct
00071 { flag cerr;
00072 ftnint cunit;
00073 char *csta;
00074 } cllist;
00075
00076
00077 typedef struct
00078 { flag aerr;
00079 ftnint aunit;
00080 } alist;
00081
00082
00083 typedef struct
00084 { flag inerr;
00085 ftnint inunit;
00086 char *infile;
00087 ftnlen infilen;
00088 ftnint *inex;
00089 ftnint *inopen;
00090 ftnint *innum;
00091 ftnint *innamed;
00092 char *inname;
00093 ftnlen innamlen;
00094 char *inacc;
00095 ftnlen inacclen;
00096 char *inseq;
00097 ftnlen inseqlen;
00098 char *indir;
00099 ftnlen indirlen;
00100 char *infmt;
00101 ftnlen infmtlen;
00102 char *inform;
00103 ftnint informlen;
00104 char *inunf;
00105 ftnlen inunflen;
00106 ftnint *inrecl;
00107 ftnint *innrec;
00108 char *inblank;
00109 ftnlen inblanklen;
00110 } inlist;
00111
00112 #define VOID void
00113
00114 union Multitype {
00115 shortint h;
00116 integer i;
00117 freal r;
00118 doublereal d;
00119 fcomplex c;
00120 doublecomplex z;
00121 };
00122
00123
00124
00125
00126
00127 struct Vardesc {
00128 char *name;
00129 char *addr;
00130 ftnlen *dims;
00131 int type;
00132 };
00133 typedef struct Vardesc Vardesc;
00134
00135 struct Namelist {
00136 char *name;
00137 Vardesc **vars;
00138 int nvars;
00139 };
00140 typedef struct Namelist Namelist;
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151 #define F2C_proc_par_types 1
00152 #ifdef __cplusplus
00153 typedef int (*U_fp)(...);
00154 typedef shortint (*J_fp)(...);
00155 typedef integer (*I_fp)(...);
00156 typedef freal (*R_fp)(...);
00157 typedef doublereal (*D_fp)(...), (*E_fp)(...);
00158 typedef VOID (*C_fp)(...);
00159 typedef VOID (*Z_fp)(...);
00160 typedef logical (*L_fp)(...);
00161 typedef shortlogical (*K_fp)(...);
00162 typedef VOID (*H_fp)(...);
00163 typedef int (*S_fp)(...);
00164 #else
00165 typedef int (*U_fp)();
00166 typedef shortint (*J_fp)();
00167 typedef integer (*I_fp)();
00168 typedef freal (*R_fp)();
00169 typedef doublereal (*D_fp)(), (*E_fp)();
00170 typedef VOID (*C_fp)();
00171 typedef VOID (*Z_fp)();
00172 typedef logical (*L_fp)();
00173 typedef shortlogical (*K_fp)();
00174 typedef VOID (*H_fp)();
00175 typedef int (*S_fp)();
00176 #endif
00177
00178 typedef VOID C_f;
00179 typedef VOID H_f;
00180 typedef VOID Z_f;
00181 typedef doublereal E_f;
00182
00183
00184
00185 #ifndef Skip_f2c_Undefs
00186 #undef cray
00187 #undef gcos
00188 #undef mc68010
00189 #undef mc68020
00190 #undef mips
00191 #undef pdp11
00192 #undef sgi
00193 #undef sparc
00194 #undef sun
00195 #undef sun2
00196 #undef sun3
00197 #undef sun4
00198 #undef u370
00199 #undef u3b
00200 #undef u3b2
00201 #undef u3b5
00202 #undef unix
00203 #undef vax
00204 #endif
00205
00206 #endif
00207