1e5afe575SCameron Smith module phio 2d5d2f64dSCameron Smith use :: iso_c_binding 3d5d2f64dSCameron Smith type(c_ptr) :: fhandle 4e5afe575SCameron Smith interface 5ab645d52SCameron Smith subroutine phio_openfile(fname, handle) 6ab645d52SCameron Smith & bind(C, NAME='phio_openfile') 7e5afe575SCameron Smith use :: iso_c_binding 8e5afe575SCameron Smith character(c_char), intent(in) :: fname(*) 9e5afe575SCameron Smith type(c_ptr), value :: handle 10e5afe575SCameron Smith end subroutine 11e5afe575SCameron Smith end interface 12e5afe575SCameron Smith interface 13ab645d52SCameron Smith subroutine phio_closefile(handle) 14ab645d52SCameron Smith & bind(C, NAME='phio_closefile') 155be7d1a3SCameron Smith use :: iso_c_binding 165be7d1a3SCameron Smith type(c_ptr), value :: handle 175be7d1a3SCameron Smith end subroutine 185be7d1a3SCameron Smith end interface 195be7d1a3SCameron Smith interface 20e5afe575SCameron Smith subroutine phio_readheader(handle, phrase, vals, nvals, 21e5afe575SCameron Smith & datatype, iotype) 22e5afe575SCameron Smith & bind(C, NAME='phio_readheader') 23e5afe575SCameron Smith use :: iso_c_binding 24e5afe575SCameron Smith type(c_ptr), value :: handle 25e5afe575SCameron Smith character(c_char), intent(in) :: phrase(*) 26e5afe575SCameron Smith type(c_ptr), value :: vals 27e5afe575SCameron Smith integer(c_int), intent(in) :: nvals 28e5afe575SCameron Smith character(c_char), intent(in) :: datatype(*) 29e5afe575SCameron Smith character(c_char), intent(in) :: iotype(*) 30e5afe575SCameron Smith end subroutine 31e5afe575SCameron Smith end interface 32bc62cfd4SCameron Smith interface 335be7d1a3SCameron Smith subroutine phio_writeheader(handle, phrase, vals, nitems, ndata, 345be7d1a3SCameron Smith & datatype, iotype) 355be7d1a3SCameron Smith & bind(C, NAME='phio_writeheader') 365be7d1a3SCameron Smith use :: iso_c_binding 375be7d1a3SCameron Smith type(c_ptr), value :: handle 385be7d1a3SCameron Smith character(c_char), intent(in) :: phrase(*) 395be7d1a3SCameron Smith type(c_ptr), value :: vals 405be7d1a3SCameron Smith integer(c_int), intent(in) :: nitems 415be7d1a3SCameron Smith integer(c_int), intent(in) :: ndata 425be7d1a3SCameron Smith character(c_char), intent(in) :: datatype(*) 435be7d1a3SCameron Smith character(c_char), intent(in) :: iotype(*) 445be7d1a3SCameron Smith end subroutine 455be7d1a3SCameron Smith end interface 465be7d1a3SCameron Smith interface 47bc62cfd4SCameron Smith subroutine phio_readdatablock(handle, phrase, vals, nvals, 48bc62cfd4SCameron Smith & datatype, iotype) 49bc62cfd4SCameron Smith & bind(C, NAME='phio_readdatablock') 50bc62cfd4SCameron Smith use :: iso_c_binding 51bc62cfd4SCameron Smith type(c_ptr), value :: handle 52bc62cfd4SCameron Smith character(c_char), intent(in) :: phrase(*) 53bc62cfd4SCameron Smith type(c_ptr), value :: vals 54bc62cfd4SCameron Smith integer(c_int), intent(in) :: nvals 55bc62cfd4SCameron Smith character(c_char), intent(in) :: datatype(*) 56bc62cfd4SCameron Smith character(c_char), intent(in) :: iotype(*) 57bc62cfd4SCameron Smith end subroutine 58bc62cfd4SCameron Smith end interface 595be7d1a3SCameron Smith interface 605be7d1a3SCameron Smith subroutine phio_writedatablock(handle, phrase, vals, nvals, 615be7d1a3SCameron Smith & datatype, iotype) 625be7d1a3SCameron Smith & bind(C, NAME='phio_writedatablock') 635be7d1a3SCameron Smith use :: iso_c_binding 645be7d1a3SCameron Smith type(c_ptr), value :: handle 655be7d1a3SCameron Smith character(c_char), intent(in) :: phrase(*) 665be7d1a3SCameron Smith type(c_ptr), value :: vals 675be7d1a3SCameron Smith integer(c_int), intent(in) :: nvals 685be7d1a3SCameron Smith character(c_char), intent(in) :: datatype(*) 695be7d1a3SCameron Smith character(c_char), intent(in) :: iotype(*) 705be7d1a3SCameron Smith end subroutine 715be7d1a3SCameron Smith end interface 7236adee64SCameron Smith interface 73e81a6dc1SCameron Smith subroutine phio_appendInt(str, val) 74e81a6dc1SCameron Smith & bind(C, NAME='phio_appendInt') 7536adee64SCameron Smith use :: iso_c_binding 7636adee64SCameron Smith character(c_char) :: str(*) 7736adee64SCameron Smith integer(c_int), value, intent(in) :: val 7836adee64SCameron Smith end subroutine 7936adee64SCameron Smith end interface 80d7abaf6cSCameron Smith interface 81*a93de25bSCameron Smith subroutine phio_constructName(handle, inName, outName) 82d7abaf6cSCameron Smith & bind(C, NAME='phio_constructName') 83d7abaf6cSCameron Smith use :: iso_c_binding 84*a93de25bSCameron Smith type(c_ptr), value :: handle 85d7abaf6cSCameron Smith character(c_char) :: inName(*) 86d7abaf6cSCameron Smith character(c_char) :: outName(*) 87d7abaf6cSCameron Smith end subroutine 88d7abaf6cSCameron Smith end interface 89d7abaf6cSCameron Smith 90e5afe575SCameron Smith end module 91