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