xref: /phasta/phSolver/common/phIO.f (revision fe88b52d35537d3736cc3d33d9db7e51353aba7d)
1      module phio
2      use :: iso_c_binding
3      type(c_ptr) :: fhandle
4      interface
5        subroutine phio_openfile_read(fname, nfiles, handle)
6     &   bind(C, NAME='phio_openfile_read')
7        use :: iso_c_binding
8          character(c_char), intent(in) :: fname(*)
9          integer(c_int), intent(in) :: nfiles
10          type(c_ptr) :: handle
11        end subroutine
12      end interface
13      interface
14        subroutine phio_openfile_write(fname, nfiles, nfields,
15     &   nppf, handle)
16     &   bind(C, NAME='phio_openfile_write')
17        use :: iso_c_binding
18          character(c_char), intent(in) :: fname(*)
19          integer(c_int), intent(in) :: nfiles
20          integer(c_int), intent(in) :: nfields
21          integer(c_int), intent(in) :: nppf
22          type(c_ptr) :: handle
23        end subroutine
24      end interface
25      interface
26        subroutine phio_closefile_read(handle)
27     &   bind(C, NAME='phio_closefile_read')
28        use :: iso_c_binding
29          type(c_ptr), value :: handle
30        end subroutine
31      end interface
32      interface
33        subroutine phio_closefile_write(handle)
34     &   bind(C, NAME='phio_closefile_write')
35        use :: iso_c_binding
36          type(c_ptr), value :: handle
37        end subroutine
38      end interface
39      interface
40        subroutine phio_readheader(handle, phrase, vals, nvals,
41     &                             datatype, iotype)
42     &   bind(C, NAME='phio_readheader')
43        use :: iso_c_binding
44          type(c_ptr), value :: handle
45          character(c_char), intent(in) :: phrase(*)
46          type(c_ptr), value :: vals
47          integer(c_int), intent(in) :: nvals
48          character(c_char), intent(in) :: datatype(*)
49          character(c_char), intent(in) :: iotype(*)
50        end subroutine
51      end interface
52      interface
53        subroutine phio_writeheader(handle, phrase, vals, nitems, ndata,
54     &                             datatype, iotype)
55     &   bind(C, NAME='phio_writeheader')
56        use :: iso_c_binding
57          type(c_ptr), value :: handle
58          character(c_char), intent(in) :: phrase(*)
59          type(c_ptr), value :: vals
60          integer(c_int), intent(in) :: nitems
61          integer(c_int), intent(in) :: ndata
62          character(c_char), intent(in) :: datatype(*)
63          character(c_char), intent(in) :: iotype(*)
64        end subroutine
65      end interface
66      interface
67        subroutine phio_readdatablock(handle, phrase, vals, nvals,
68     &                                datatype, iotype)
69     &   bind(C, NAME='phio_readdatablock')
70        use :: iso_c_binding
71          type(c_ptr), value :: handle
72          character(c_char), intent(in) :: phrase(*)
73          type(c_ptr), value :: vals
74          integer(c_int), intent(in) :: nvals
75          character(c_char), intent(in) :: datatype(*)
76          character(c_char), intent(in) :: iotype(*)
77        end subroutine
78      end interface
79      interface
80        subroutine phio_writedatablock(handle, phrase, vals, nvals,
81     &                                datatype, iotype)
82     &   bind(C, NAME='phio_writedatablock')
83        use :: iso_c_binding
84          type(c_ptr), value :: handle
85          character(c_char), intent(in) :: phrase(*)
86          type(c_ptr), value :: vals
87          integer(c_int), intent(in) :: nvals
88          character(c_char), intent(in) :: datatype(*)
89          character(c_char), intent(in) :: iotype(*)
90        end subroutine
91      end interface
92      interface
93        subroutine phio_appendStep(str, val)
94     &   bind(C, NAME='phio_appendStep')
95        use :: iso_c_binding
96          character(c_char) :: str(*)
97          integer(c_int), value, intent(in) :: val
98        end subroutine
99      end interface
100      end module
101