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