1C*  This file is part of MED.
2C*
3C*  COPYRIGHT (C) 1999 - 2019  EDF R&D, CEA/DEN
4C*  MED is free software: you can redistribute it and/or modify
5C*  it under the terms of the GNU Lesser General Public License as published by
6C*  the Free Software Foundation, either version 3 of the License, or
7C*  (at your option) any later version.
8C*
9C*  MED is distributed in the hope that it will be useful,
10C*  but WITHOUT ANY WARRANTY; without even the implied warranty of
11C*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12C*  GNU Lesser General Public License for more details.
13C*
14C*  You should have received a copy of the GNU Lesser General Public License
15C*  along with MED.  If not, see <http://www.gnu.org/licenses/>.
16C*
17c
18c
19c
20      subroutine mfdcre(fid,fname,ftype,ncomp,cname,cunit,
21     &                  dtunit,mname,cret)
22c     DEC$ ATTRIBUTES DLLEXPORT :: mfdcre
23c
24      implicit none
25      save
26      character*(*) fname,cname,cunit,dtunit,mname
27      integer*8 fid
28      integer ncomp,cret,ftype
29      integer mfdfcre
30c
31      cret = mfdfcre(fid,fname,len(fname),ftype,
32     &               ncomp,cname,16*ncomp,cunit,16*ncomp,
33     &               dtunit,len(dtunit),mname,len(mname))
34c
35      return
36      end
37c
38c
39c
40      subroutine mfdrvw(fid,fname,numdt,numit,dt,
41     &                  etype,gtype,swm,cs,n,val,cret)
42c     DEC$ ATTRIBUTES DLLEXPORT :: mfdrvw
43c
44      implicit none
45      save
46      character*(*) fname
47      integer numdt,numit
48      real*8 dt,val(*)
49      integer*8 fid
50      integer cret,etype,gtype,swm,cs,n
51      integer mfdfrvw
52c
53      cret = mfdfrvw(fid,fname,len(fname),numdt,numit,dt,
54     &               etype,gtype,swm,cs,n,val)
55c
56      return
57      end
58c
59c
60c
61      subroutine mfdivw(fid,fname,numdt,numit,dt,
62     &                  etype,gtype,swm,cs,n,val,cret)
63c     DEC$ ATTRIBUTES DLLEXPORT :: mfdivw
64c
65      implicit none
66      save
67      character*(*) fname
68      integer numdt,numit
69      real*8 dt
70      integer val(*)
71      integer*8 fid
72      integer cret,etype,gtype,swm,cs,n
73      integer mfdfivw
74c
75      cret = mfdfivw(fid,fname,len(fname),numdt,numit,dt,
76     &               etype,gtype,swm,cs,n,val)
77c
78      return
79      end
80c
81c
82c
83      subroutine mfdrpw(fid,fname,numdt,numit,dt,
84     &                  etype,gtype,
85     &                  stm,pname,lname,
86     &                  swm,cs,n,val,cret)
87c     DEC$ ATTRIBUTES DLLEXPORT :: mfdrpw
88c
89      implicit none
90      save
91      character*(*) fname,pname,lname
92      integer numdt,numit
93      real*8 dt,val(*)
94      integer*8 fid
95      integer cret,etype,gtype,swm,cs,n,stm
96      integer mfdfrpw
97c
98      cret = mfdfrpw(fid,fname,len(fname),numdt,numit,dt,
99     &               etype,gtype,stm,pname,len(pname),
100     &               lname,len(lname),swm,cs,n,val)
101c
102      return
103      end
104c
105c
106c
107      subroutine mfdipw(fid,fname,numdt,numit,dt,
108     &                  etype,gtype,
109     &                  stm,pname,lname,
110     &                  swm,cs,n,val,cret)
111c     DEC$ ATTRIBUTES DLLEXPORT :: mfdipw
112c
113      implicit none
114      save
115      character*(*) fname,pname,lname
116      integer numdt,numit
117      real*8 dt
118      integer val(*)
119      integer*8 fid
120      integer cret,etype,gtype,swm,cs,n,stm
121      integer mfdfipw
122c
123      cret = mfdfipw(fid,fname,len(fname),numdt,numit,dt,
124     &               etype,gtype,stm,pname,len(pname),
125     &               lname,len(lname),swm,cs,n,val,cret)
126c
127      return
128      end
129c
130c
131c
132      subroutine mfdraw(fid,fname,numdt,numit,dt,
133     &                  etype,gtype,lname,flt,
134     &                  val,cret)
135c     DEC$ ATTRIBUTES DLLEXPORT :: mfdraw
136c
137      implicit none
138      save
139      character*(*) fname,lname
140      integer numdt,numit
141      real*8 dt,val(*)
142      integer*8 flt(*)
143      integer*8 fid
144      integer cret,etype,gtype
145      integer mfdfraw
146c
147      cret = mfdfraw(fid,fname,len(fname),numdt,numit,dt,
148     &               etype,gtype,lname,len(lname),flt,val)
149c
150      return
151      end
152c
153c
154c
155      subroutine mfdiaw(fid,fname,numdt,numit,dt,
156     &                  etype,gtype,lname,flt,
157     &                  val,cret)
158c     DEC$ ATTRIBUTES DLLEXPORT :: mfdiaw
159c
160      implicit none
161      save
162      character*(*) fname,lname
163      integer numdt,numit
164      real*8 dt
165      integer val(*)
166      integer*8 flt(*)
167      integer*8 fid
168      integer cret,etype,gtype
169      integer mfdfiaw
170c
171      cret = mfdfiaw(fid,fname,len(fname),numdt,numit,dt,
172     &               etype,gtype,lname,len(lname),flt,val)
173c
174      return
175      end
176c
177c
178c
179      subroutine mfdnfd(fid,n,cret)
180c     DEC$ ATTRIBUTES DLLEXPORT :: mfdnfd
181c
182      implicit none
183      save
184      integer*8 fid
185      integer n,cret
186      integer mfdfnfd
187c
188      n = mfdfnfd(fid)
189c
190      if (n.lt.0) then
191         cret = -1
192      else
193         cret = 0
194      endif
195c
196      return
197      end
198c
199c
200c
201      subroutine mfdnfc(fid,ind,n,cret)
202c     DEC$ ATTRIBUTES DLLEXPORT :: mfdnfc
203c
204      implicit none
205      save
206      integer*8 fid
207      integer n,cret,ind
208      integer mfdfnfc
209c
210      n = mfdfnfc(fid,ind)
211c
212      if (n.lt.0) then
213         cret = -1
214      else
215         cret = 0
216      endif
217c
218      return
219      end
220c
221c
222c
223      subroutine mfdncn(fid,fname,n,cret)
224c     DEC$ ATTRIBUTES DLLEXPORT :: mfdncn
225c
226      implicit none
227      save
228      integer*8 fid
229      integer n,cret
230      character *(*) fname
231      integer mfdfncn
232c
233      n = mfdfncn(fid,fname,len(fname))
234c
235      if (n.lt.0) then
236         cret = -1
237      else
238         cret = 0
239      endif
240c
241      return
242      end
243c
244c
245c
246      subroutine mfdfdi(fid, it, fname, mname, lmesh, type,
247     &                  cname, cunit, dtunit, nc, cret)
248c     DEC$ ATTRIBUTES DLLEXPORT :: mfdfdi
249c
250      implicit none
251      save
252c
253      character *(*) fname, mname, dtunit, cname, cunit
254      integer lmesh, cret
255      integer*8 fid
256      integer  type, it, nc
257      integer mfdffdi
258c
259      cret = mfdffdi(fid, it, fname, mname, lmesh, type,
260     &               cname, cunit, dtunit, nc)
261c     DEC$ ATTRIBUTES DLLEXPORT :: mfdffdi
262c
263      return
264      end
265c
266c
267c
268      subroutine mfdfin(fid, fname, mname, lmesh, type,
269     &                  cname, cunit, dtunit, nc, cret)
270c     DEC$ ATTRIBUTES DLLEXPORT :: mfdfin
271c
272      implicit none
273      save
274c
275      character *(*) fname, mname, dtunit, cname, cunit
276      integer lmesh, cret
277      integer*8 fid
278      integer  type, nc
279      integer mfdffin
280c
281      cret = mfdffin(fid, fname, len(fname), mname, lmesh, type,
282     &               cname, cunit, dtunit, nc)
283c
284      return
285      end
286c
287c
288c
289      subroutine mfdcsi(fid, fname, it, numdt, numit, dt, cret)
290c     DEC$ ATTRIBUTES DLLEXPORT :: mfdcsi
291c
292      implicit none
293      save
294c
295      character*(*) fname
296      integer cret
297      integer*8 fid
298      integer  it, numdt, numit
299      real*8  dt
300      integer mfdfcsi
301c
302      cret = mfdfcsi(fid,fname,len(fname),it,numdt,numit,dt)
303c
304      return
305      end
306c
307c
308c
309      subroutine mfdcmi(fid, fname, it, numdt, numit, dt,
310     &     mnumdt, mnumit, cret)
311c     DEC$ ATTRIBUTES DLLEXPORT :: mfdcmi
312c
313      implicit none
314      save
315c
316      character*(*) fname
317      integer cret
318      integer*8 fid
319      integer  it, numdt, numit, mnumdt, mnumit
320      real*8  dt
321      integer mfdfcmi
322c
323      cret = mfdfcmi(fid,fname,len(fname),it,numdt,numit,dt,
324     &     mnumdt,mnumit)
325c
326      return
327      end
328c
329c
330c
331      subroutine mfdcmw(fid, fname, numdt, numit,
332     &     mnumdt, mnumit, cret)
333c     DEC$ ATTRIBUTES DLLEXPORT :: mfdcmw
334c
335      implicit none
336      save
337c
338      character*(*) fname
339      integer cret
340      integer*8 fid
341      integer  numdt, numit, mnumdt, mnumit
342      integer mfdfcmw
343c
344      cret = mfdfcmw(fid,fname,len(fname),numdt,numit,
345     &     mnumdt,mnumit)
346c
347      return
348      end
349c
350c
351c
352      subroutine mfdnpf(fid,fname,numdt,numit,etype,gtype,
353     &                  dpname, dlname, n,cret)
354c     DEC$ ATTRIBUTES DLLEXPORT :: mfdnpf
355c
356      implicit none
357      save
358      integer*8 fid
359      integer n,cret
360      integer numdt,numit,etype,gtype
361      character*(*) fname,dpname,dlname
362
363      integer mfdfnpf
364c
365      n = mfdfnpf(fid,fname,len(fname),numdt,numit,etype,
366     &            gtype,dpname,dlname)
367c
368      if (n.lt.0) then
369         cret = -1
370      else
371         cret = 0
372      endif
373c
374      return
375      end
376c
377c
378c
379      subroutine mfdnva(fid,fname,numdt,numit,etype,gtype,n,cret)
380c     DEC$ ATTRIBUTES DLLEXPORT :: mfdnva
381c
382      implicit none
383      save
384      character*(*) fname
385      integer*8 fid
386      integer n,cret,numdt,numit,etype,gtype
387      integer mfdfnva
388c
389      n = mfdfnva(fid,fname,len(fname),numdt,numit,
390     &            etype,gtype,cret)
391c
392      if (n.lt.0) then
393         cret = -1
394      else
395         cret = 0
396      endif
397c
398      return
399      end
400c
401c
402c
403      subroutine mfdnvp(fid,fname,numdt,numit,etype,gtype,
404     &                  pit,stm,pname,psize,lname,nip,
405     &                  n,cret)
406c     DEC$ ATTRIBUTES DLLEXPORT :: mfdnvp
407c
408      implicit none
409      save
410      character*(*) fname, pname, lname
411      integer pit,stm,psize
412      integer*8 fid
413      integer n,cret,numdt,numit,etype,gtype,nip
414      integer mfdfnvp
415c
416      n = mfdfnvp(fid,fname,len(fname),numdt,numit,
417     &            etype,gtype,pit,stm,pname,psize,lname,
418     &            nip,cret)
419c
420      if (n.lt.0) then
421         cret = -1
422      else
423         cret = 0
424      endif
425c
426      return
427      end
428c
429c
430c
431      subroutine mfdnpn(fid,fname,numdt,numit,etype,gtype,
432     &                  pname,stm,psize,lname,nip,
433     &                  n,cret)
434c     DEC$ ATTRIBUTES DLLEXPORT :: mfdnpn
435c
436      implicit none
437      save
438      character*(*) fname, pname, lname
439      integer stm,psize
440      integer*8 fid
441      integer n,cret,numdt,numit,etype,gtype,nip
442      integer mfdfnpn
443c
444      n = mfdfnpn(fid,fname,len(fname),numdt,numit,
445     &            etype,gtype,pname,len(pname),stm,
446     &            psize,lname,nip,cret)
447c
448      if (n.lt.0) then
449         cret = -1
450      else
451         cret = 0
452      endif
453c
454      return
455      end
456c
457c
458c
459      subroutine mfdrvr(fid,fname,numdt,numit,
460     &                  etype,gtype,swm,cs,val,cret)
461c     DEC$ ATTRIBUTES DLLEXPORT :: mfdrvr
462c
463      implicit none
464      save
465      character*(*) fname
466      integer numdt,numit
467      real*8 val(*)
468      integer*8 fid
469      integer cret,etype,gtype,swm,cs
470      integer mfdfrvr
471c
472      cret = mfdfrvr(fid,fname,len(fname),numdt,numit,
473     &               etype,gtype,swm,cs,val)
474c
475      return
476      end
477c
478c
479c
480      subroutine mfdivr(fid,fname,numdt,numit,
481     &                  etype,gtype,swm,cs,val,cret)
482c     DEC$ ATTRIBUTES DLLEXPORT :: mfdivr
483c
484      implicit none
485      save
486      character*(*) fname
487      integer numdt,numit
488      integer val(*)
489      integer*8 fid
490      integer cret,etype,gtype,swm,cs
491      integer mfdfivr
492c
493      cret = mfdfivr(fid,fname,len(fname),numdt,numit,
494     &               etype,gtype,swm,cs,val)
495c
496      return
497      end
498c
499c
500c
501      subroutine mfdrpr(fid,fname,numdt,numit,
502     &                  etype,gtype,
503     &                  stm,pname,
504     &                  swm,cs,val,cret)
505c     DEC$ ATTRIBUTES DLLEXPORT :: mfdrpr
506c
507      implicit none
508      save
509      character*(*) fname,pname
510      integer numdt,numit
511      real*8 val(*)
512      integer*8 fid
513      integer cret,etype,gtype,swm,cs,stm
514      integer mfdfrpr
515c
516      cret = mfdfrpr(fid,fname,len(fname),numdt,numit,
517     &               etype,gtype,stm,pname,len(pname),swm,cs,val)
518c
519      return
520      end
521c
522c
523c
524      subroutine mfdipr(fid,fname,numdt,numit,
525     &                  etype,gtype,
526     &                  stm,pname,
527     &                  swm,cs,val,cret)
528c     DEC$ ATTRIBUTES DLLEXPORT :: mfdipr
529c
530      implicit none
531      save
532      character*(*) fname,pname
533      integer numdt,numit
534      integer val(*)
535      integer*8 fid
536      integer cret,etype,gtype,swm,cs,n,stm
537      integer mfdfipr
538c
539      cret = mfdfipr(fid,fname,len(fname),numdt,numit,
540     &               etype,gtype,stm,pname,len(pname),swm,cs,val,cret)
541c
542      return
543      end
544c
545c
546c
547      subroutine mfdrar(fid,fname,numdt,numit,
548     &                  etype,gtype,flt,
549     &                  val,cret)
550c     DEC$ ATTRIBUTES DLLEXPORT :: mfdrar
551c
552      implicit none
553      save
554      character*(*) fname
555      integer numdt,numit
556      real*8 val(*)
557      integer*8 flt(*)
558      integer*8 fid
559      integer cret,etype,gtype
560      integer mfdfrar
561c
562      cret = mfdfrar(fid,fname,len(fname),numdt,numit,
563     &               etype,gtype,flt,val)
564c
565      return
566      end
567c
568c
569c
570      subroutine mfdiar(fid,fname,numdt,numit,
571     &                  etype,gtype,flt,
572     &                  val,cret)
573c     DEC$ ATTRIBUTES DLLEXPORT :: mfdiar
574c
575      implicit none
576      save
577      character*(*) fname
578      integer numdt,numit
579      integer val(*)
580      integer*8 flt(*)
581      integer*8 fid
582      integer cret,etype,gtype
583      integer mfdfiar
584c
585      cret = mfdfiar(fid,fname,len(fname),numdt,numit,
586     &               etype,gtype,flt,val)
587c
588      return
589      end
590c
591c
592c
593      subroutine mfdinw(fid,fname,iname,cret)
594c     DEC$ ATTRIBUTES DLLEXPORT :: mfdinw
595c
596      implicit none
597      save
598      character*(*) fname,iname
599      integer*8 fid
600      integer cret
601      integer mfdfinw
602c
603      cret = mfdfinw(fid,fname,len(fname),iname,len(iname),cret)
604c
605      return
606      end
607c
608c
609c
610      subroutine mfdnin(fid,fname,n,cret)
611c     DEC$ ATTRIBUTES DLLEXPORT :: mfdnin
612c
613      implicit none
614      save
615      integer*8 fid
616      integer n,cret
617      character*(*) fname
618      integer mfdfnin
619c
620      n = mfdfnin(fid,fname,len(fname))
621c
622      if (n.lt.0) then
623         cret = -1
624      else
625         cret = 0
626      endif
627c
628      return
629      end
630c
631c
632c
633      subroutine mfdini(fid,fname,it,iname,cret)
634c     DEC$ ATTRIBUTES DLLEXPORT :: mfdini
635c
636      implicit none
637      save
638      character*(*) fname,iname
639      integer*8 fid
640      integer cret,it
641      integer mfdfini
642c
643      cret = mfdfini(fid,fname,len(fname),it,iname,cret)
644c
645      return
646      end
647c
648c
649c
650      subroutine mfdoci(fid, fname, it, numdt, numit, dt,
651     &                  nmesh, mname, lmesh,
652     &                  mnumdt, mnumit, cret)
653c     DEC$ ATTRIBUTES DLLEXPORT :: mfdoci
654c
655      implicit none
656      save
657c
658      character*(*) fname,mname
659      integer cret
660      integer*8 fid
661      integer it,numdt,numit,nmesh,lmesh
662      integer mnumdt,mnumit
663      real*8  dt
664      integer mfdfoci
665c
666      cret = mfdfoci(fid,fname,len(fname),it,
667     &               numdt,numit,dt,
668     &               nmesh, mname, lmesh,
669     &               mnumdt, mnumit)
670c
671      return
672      end
673c
674c
675c
676      subroutine mfdonp(fid,fname,numdt,numit,etype,gtype,
677     &                  it,mname, dpname, dlname, n, cret)
678c     DEC$ ATTRIBUTES DLLEXPORT :: mfdonp
679c
680      implicit none
681      save
682      integer*8 fid
683      integer n,cret
684      integer numdt,numit,etype,gtype,it
685      character*(*) fname,dpname,dlname,mname
686
687      integer mfdfonp
688c
689      n = mfdfonp(fid,fname,len(fname),numdt,numit,etype,
690     &            gtype,it,mname,dpname,dlname)
691c
692      if (n.lt.0) then
693         cret = -1
694      else
695         cret = 0
696      endif
697c
698      return
699      end
700c
701c
702c
703      subroutine mfdonv(fid,fname,numdt,numit,etype,gtype,
704     &                  mname,pit,stm,pname,psize,lname,
705     &                  nip,n,cret)
706c     DEC$ ATTRIBUTES DLLEXPORT :: mfdonv
707c
708      implicit none
709      save
710      character*(*) fname, pname, lname, mname
711      integer pit,stm,psize
712      integer*8 fid
713      integer n,cret,numdt,numit,etype,gtype,nip
714      integer mfdfonv
715c
716      n = mfdfonv(fid,fname,len(fname),numdt,numit,
717     &            etype,gtype,
718     &            mname,len(mname),
719     &            pit,stm,pname,psize,lname,
720     &            nip,cret)
721c
722      if (n.lt.0) then
723         cret = -1
724      else
725         cret = 0
726      endif
727c
728      return
729      end
730c
731c
732c
733      subroutine mfdorr(fid,fname,numdt,numit,
734     &                  etype,gtype,
735     &                  mname,
736     &                  stm,pname,
737     &                  swm,cs,val,cret)
738c     DEC$ ATTRIBUTES DLLEXPORT :: mfdorr
739c
740      implicit none
741      save
742      character*(*) fname,pname,mname
743      integer numdt,numit
744      real*8 val(*)
745      integer*8 fid
746      integer cret,etype,gtype,swm,cs,stm
747      integer mfdforr
748c
749      cret = mfdforr(fid,fname,len(fname),numdt,numit,
750     &               etype,gtype,mname,len(mname),
751     &               stm,pname,len(pname),swm,cs,val)
752c
753      return
754      end
755c
756c
757c
758      subroutine mfdoir(fid,fname,numdt,numit,
759     &                  etype,gtype,
760     &                  mname,
761     &                  stm,pname,
762     &                  swm,cs,val,cret)
763c     DEC$ ATTRIBUTES DLLEXPORT :: mfdoir
764c
765      implicit none
766      save
767      character*(*) fname,pname,mname
768      integer numdt,numit
769      integer val(*)
770      integer*8 fid
771      integer cret,etype,gtype,swm,cs,n,stm
772      integer mfdfoir
773c
774      cret = mfdfoir(fid,fname,len(fname),numdt,numit,
775     &               etype,gtype,mname,len(mname),
776     &               stm,pname,len(pname),swm,cs,val,cret)
777c
778      return
779      end
780