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