00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <stdlib.h>
00022 #include <string.h>
00023 #include "fortran_macros.h"
00024 #include "ADF_internals.h"
00025
00026 #if defined(_WIN32) && defined(BUILD_DLL)
00027 # define CGNSDLL _declspec(dllexport)
00028 #else
00029 # define CGNSDLL
00030 #endif
00031
00032
00033
00034 CGNSDLL void FMNAME(adfcnam, ADFCNAM) (double *ID, int *istart, int *inum,
00035 int *inamlen, int *inumret, STR_PSTR(names),
00036 int *ier STR_PLEN(names)) {
00037 int len_names = (int)STR_LEN(names);
00038 FMCALL(adfcna2,ADFCNA2)(ID, istart, inum, inamlen, &len_names,
00039 inumret, STR_PTR(names), ier);
00040 }
00041
00042 CGNSDLL void FMNAME(adfcids, ADFCIDS) (double *ID, int *istart, int *inum,
00043 int *inumret, double *cIDs, int *ier) {
00044 FMCALL(adfcid2,ADFCID2)(ID, istart, inum, inumret, cIDs, ier);
00045 }
00046
00047 CGNSDLL void FMNAME(adfcre, ADFCRE) (double *PID, STR_PSTR(name), double *ID,
00048 int *ier STR_PLEN(name)) {
00049 int len_name = (int)STR_LEN(name);
00050 FMCALL(adfcre2, ADFCRE2)(PID, STR_PTR(name), &len_name, ID, ier);
00051 }
00052
00053 CGNSDLL void FMNAME(adfdclo, ADFDCLO) (double *RootID, int *ier) {
00054 FMCALL(adfdcl2, ADFDCL2)(RootID, ier);
00055 }
00056
00057 CGNSDLL void FMNAME(adfddel, ADFDDEL) (STR_PSTR(filename),
00058 int *ier STR_PLEN(filename)) {
00059 int len_filename = (int)STR_LEN(filename);
00060 FMCALL(adfdde2, ADFDDE2)(STR_PTR(filename), &len_filename, ier);
00061 }
00062
00063 CGNSDLL void FMNAME(adfdel, ADFDEL) (double *PID, double *ID, int *ier) {
00064 FMCALL(adfdel2, ADFDEL2)(PID, ID, ier);
00065 }
00066
00067 CGNSDLL void FMNAME(adfdgc, ADFDGC) (double *ID, int *ier) {
00068 FMCALL(adfdgc2, ADFDGC2)(ID, ier);
00069 }
00070
00071 CGNSDLL void FMNAME(adfdgf, ADFDGF) (double *RootID, STR_PSTR(format),
00072 int *ier STR_PLEN(format)) {
00073 int len_format = (int)STR_LEN(format);
00074 FMCALL(adfdgf2, ADFDGF2)(RootID, STR_PTR(format), &len_format, ier);
00075 }
00076
00077 CGNSDLL void FMNAME(adfdopn, ADFDOPN) (STR_PSTR(filename), STR_PSTR(status),
00078 STR_PSTR(format), double *RootID, int *ier STR_PLEN(filename)
00079 STR_PLEN(status) STR_PLEN(format)) {
00080 int len_filename = (int)STR_LEN(filename);
00081 int len_status = (int)STR_LEN(status);
00082 int len_format = (int)STR_LEN(format);
00083 FMCALL(adfdop2, ADFDOP2)(STR_PTR(filename), &len_filename,
00084 STR_PTR(status), &len_status, STR_PTR(format),
00085 &len_format, RootID, ier);
00086 }
00087
00088 CGNSDLL void FMNAME(adfdsf, ADFDSF) (double *RootID, STR_PSTR(format),
00089 int *ier STR_PLEN(format)) {
00090 int len_format = (int)STR_LEN(format);
00091 FMCALL(adfdsf2, ADFDSF2)(RootID, STR_PTR(format), &len_format, ier);
00092 }
00093
00094 CGNSDLL void FMNAME(adfdver, ADFDVER) (double *RootID, STR_PSTR(version),
00095 STR_PSTR(cdate), STR_PSTR(mdate), int *ier STR_PLEN(version)
00096 STR_PLEN(cdate) STR_PLEN(mdate)) {
00097 int len_version = (int)STR_LEN(version);
00098 int len_cdate = (int)STR_LEN(cdate);
00099 int len_mdate = (int)STR_LEN(mdate);
00100 FMCALL(adfdve2, ADFDVE2)(RootID, STR_PTR(version), STR_PTR(cdate),
00101 STR_PTR(mdate), &len_version, &len_cdate, &len_mdate, ier);
00102 }
00103
00104 CGNSDLL void FMNAME(adferr, ADFERR) (int *ier, STR_PSTR(errstr) STR_PLEN(errstr)) {
00105 int len_errstr = (int)STR_LEN(errstr);
00106 FMCALL(adferr2, ADFERR2)(ier, STR_PTR(errstr), &len_errstr);
00107 }
00108
00109 CGNSDLL void FMNAME(adfftd, ADFFTD) (double *ID, int *ier) {
00110 FMCALL(adfftd2, ADFFTD2)(ID, ier);
00111 }
00112
00113 CGNSDLL void FMNAME(adfgdt, ADFGDT) (double *ID, STR_PSTR(dtype),
00114 int *ier STR_PLEN(dtype)) {
00115 int len_dtype = (int)STR_LEN(dtype);
00116 FMCALL(adfgdt2, ADFGDT2)(ID, STR_PTR(dtype), &len_dtype, ier);
00117 }
00118
00119 CGNSDLL void FMNAME(adfgdv, ADFGDV) (double *ID, int *dvals, int *ier) {
00120 FMCALL(adfgdv2, ADFGDV2)(ID, dvals, ier);
00121 }
00122
00123 CGNSDLL void FMNAME(adfges, ADFGES) (int *estate, int *ier) {
00124 FMCALL(adfges2, ADFGES2)(estate, ier);
00125 }
00126
00127 CGNSDLL void FMNAME(adfglb, ADFGLB) (double *ID, STR_PSTR(label),
00128 int *ier STR_PLEN(label)) {
00129 int len_label = (int)STR_LEN(label);
00130 FMCALL(adfglb2, ADFGLB2)(ID, STR_PTR(label), &len_label, ier);
00131 }
00132
00133 CGNSDLL void FMNAME(adfglkp, ADFGLKP) (double *ID, STR_PSTR(file), STR_PSTR(name),
00134 int *ier STR_PLEN(file) STR_PLEN(name)) {
00135 int len_file = (int)STR_LEN(file);
00136 int len_name = (int)STR_LEN(name);
00137 FMCALL(adfglk2, ADFGLK2)(ID, STR_PTR(file), &len_file, STR_PTR(name),
00138 &len_name, ier);
00139 }
00140
00141 CGNSDLL void FMNAME(adfgnam, ADFGNAM) (double *ID, STR_PSTR(name),
00142 int *ier STR_PLEN(name)) {
00143 int len_name = (int)STR_LEN(name);
00144 FMCALL(adfgna2, ADFGNA2)(ID, STR_PTR(name), &len_name, ier);
00145 }
00146
00147 CGNSDLL void FMNAME(adfgnd, ADFGND) (double *ID, int *ndims, int *ier) {
00148 FMCALL(adfgnd2, ADFGND2)(ID, ndims, ier);
00149 }
00150
00151 CGNSDLL void FMNAME(adfgnid, ADFGNID) (double *PID, STR_PSTR(name), double *ID,
00152 int *ier STR_PLEN(name)) {
00153 int len_name = (int)STR_LEN(name);
00154 FMCALL(adfgni2, ADFGNI2)(PID, STR_PTR(name), &len_name, ID, ier);
00155 }
00156
00157 CGNSDLL void FMNAME(adfgrid, ADFGRID) (double *ID, double *RootID, int *ier) {
00158 FMCALL(adfgri2, ADFGRI2)(ID, RootID, ier);
00159 }
00160
00161 CGNSDLL void FMNAME(adfislk, ADFISLK) (double *ID, int *lplen, int *ier) {
00162 FMCALL(adfisl2, ADFISL2)(ID, lplen, ier);
00163 }
00164
00165 CGNSDLL void FMNAME(adflink, ADFLINK) (double *PID, STR_PSTR(name), STR_PSTR(file),
00166 STR_PSTR(nfile), double *ID, int *ier STR_PLEN(name)
00167 STR_PLEN(file) STR_PLEN(nfile)) {
00168 int len_name = (int)STR_LEN(name);
00169 int len_file = (int)STR_LEN(file);
00170 int len_nfile = (int)STR_LEN(nfile);
00171 FMCALL(adflin2, ADFLIN2)(PID, STR_PTR(name), STR_PTR(file),
00172 STR_PTR(nfile), &len_name, &len_file, &len_nfile, ID, ier);
00173 }
00174
00175 CGNSDLL void FMNAME(adflver, ADFLVER) (STR_PSTR(version), int *ier STR_PLEN(version)) {
00176 int len_version = (int)STR_LEN(version);
00177 FMCALL(adflve2, ADFLVE2)(STR_PTR(version), &len_version, ier);
00178 }
00179
00180 CGNSDLL void FMNAME(adfmove, ADFMOVE) (double *PID, double *ID, double *NPID, int *ier) {
00181 FMCALL(adfmov2, ADFMOV2)(PID, ID, NPID, ier);
00182 }
00183
00184 CGNSDLL void FMNAME(adfncld, ADFNCLD) (double *ID, int *numcld, int *ier) {
00185 FMCALL(adfncl2, ADFNCL2)(ID, numcld, ier);
00186 }
00187
00188 CGNSDLL void FMNAME(adfpdim, ADFPDIM) (double *ID, STR_PSTR(dtype), int *dims,
00189 int *dvals, int *ier STR_PLEN(dtype)) {
00190 int len_dtype = (int)STR_LEN(dtype);
00191 FMCALL(adfpdi2, ADFPDI2)(ID, STR_PTR(dtype), &len_dtype, dims,
00192 dvals, ier);
00193 }
00194
00195 CGNSDLL void FMNAME(adfpnam, ADFPNAM) (double *PID, double *ID, STR_PSTR(name),
00196 int *ier STR_PLEN(name)) {
00197 int len_name = (int)STR_LEN(name);
00198 FMCALL(adfpna2, ADFPNA2)(PID, ID, STR_PTR(name), &len_name, ier);
00199 }
00200
00201 CGNSDLL void FMNAME(adfses, ADFSES) (int *estate, int *ier) {
00202 FMCALL(adfses2, ADFSES2)(estate, ier);
00203 }
00204
00205 CGNSDLL void FMNAME(adfslb, ADFSLB) (double *ID, STR_PSTR(label),
00206 int *ier STR_PLEN(label)) {
00207 int len_label = (int)STR_LEN(label);
00208 FMCALL(adfslb2, ADFSLB2)(ID, STR_PTR(label), &len_label, ier);
00209 }
00210
00211
00212
00213 CGNSDLL void FMNAME(adfreadc, ADFREADC) (double *ID, int *s_start, int *s_end,
00214 int *s_stride, int *m_num_dims, int *m_dims, int *m_start, int *m_end,
00215 int *m_stride, STR_PSTR(data), int *ier STR_PLEN(data)) {
00216 FMCALL(adfread,ADFREAD)(ID, s_start, s_end, s_stride, m_num_dims,
00217 m_dims, m_start, m_end, m_stride, STR_PTR(data), ier);
00218 }
00219
00220 CGNSDLL void FMNAME(adfrallc, ADFRALLC) (double *ID, STR_PSTR(data),
00221 int *ier STR_PLEN(data)) {
00222 FMCALL(adfrall, ADFRALL)(ID, STR_PTR(data), ier);
00223 }
00224
00225 CGNSDLL void FMNAME(adfrblkc, ADFRBLKC) (double *ID, int *b_start, int *b_end,
00226 STR_PSTR(data), int *ier STR_PLEN(data)) {
00227 FMCALL(adfrblk, ADFRBLK)(ID, b_start, b_end, STR_PTR(data), ier);
00228 }
00229
00230 CGNSDLL void FMNAME(adfwritc, ADFWRITC) (double *ID, int *s_start, int *s_end,
00231 int *s_stride, int *m_num_dims, int *m_dims, int *m_start, int *m_end,
00232 int *m_stride, STR_PSTR(data), int *ier STR_PLEN(data)) {
00233 FMCALL(adfwrit,ADFWRIT)(ID, s_start, s_end, s_stride, m_num_dims,
00234 m_dims, m_start, m_end, m_stride, STR_PTR(data), ier);
00235 }
00236
00237 CGNSDLL void FMNAME(adfwallc, ADFWALLC) (double *ID, STR_PSTR(data),
00238 int *ier STR_PLEN(data)) {
00239 FMCALL(adfwall, ADFWALL)(ID, STR_PTR(data), ier);
00240 }
00241
00242 CGNSDLL void FMNAME(adfwblkc, ADFWBLKC) (double *ID, int *b_start, int *b_end,
00243 STR_PSTR(data), int *ier STR_PLEN(data)) {
00244 FMCALL(adfwblk, ADFWBLK)(ID, b_start, b_end, STR_PTR(data), ier);
00245 }
00246