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