1e5afe575SCameron Smith module phio 2*d5d2f64dSCameron Smith use :: iso_c_binding 3*d5d2f64dSCameron Smith type(c_ptr) :: fhandle 4e5afe575SCameron Smith interface 5e5afe575SCameron Smith subroutine phio_openfile_read(fname, nfiles, handle) 6e5afe575SCameron Smith & bind(C, NAME='phio_openfile_read') 7e5afe575SCameron Smith use :: iso_c_binding 8e5afe575SCameron Smith character(c_char), intent(in) :: fname(*) 9e5afe575SCameron Smith integer(c_int), intent(in) :: nfiles 10e5afe575SCameron Smith type(c_ptr) :: handle 11e5afe575SCameron Smith end subroutine 12e5afe575SCameron Smith end interface 13e5afe575SCameron Smith interface 145be7d1a3SCameron Smith subroutine phio_openfile_write(fname, nfiles, nfields, 155be7d1a3SCameron Smith & nppf, handle) 165be7d1a3SCameron Smith & bind(C, NAME='phio_openfile_write') 175be7d1a3SCameron Smith use :: iso_c_binding 185be7d1a3SCameron Smith character(c_char), intent(in) :: fname(*) 195be7d1a3SCameron Smith integer(c_int), intent(in) :: nfiles 205be7d1a3SCameron Smith integer(c_int), intent(in) :: nfields 215be7d1a3SCameron Smith integer(c_int), intent(in) :: nppf 225be7d1a3SCameron Smith type(c_ptr) :: handle 235be7d1a3SCameron Smith end subroutine 245be7d1a3SCameron Smith end interface 255be7d1a3SCameron Smith interface 26e5afe575SCameron Smith subroutine phio_closefile_read(handle) 27e5afe575SCameron Smith & bind(C, NAME='phio_closefile_read') 28e5afe575SCameron Smith use :: iso_c_binding 29e5afe575SCameron Smith type(c_ptr), value :: handle 30e5afe575SCameron Smith end subroutine 31e5afe575SCameron Smith end interface 32e5afe575SCameron Smith interface 335be7d1a3SCameron Smith subroutine phio_closefile_write(handle) 345be7d1a3SCameron Smith & bind(C, NAME='phio_closefile_write') 355be7d1a3SCameron Smith use :: iso_c_binding 365be7d1a3SCameron Smith type(c_ptr), value :: handle 375be7d1a3SCameron Smith end subroutine 385be7d1a3SCameron Smith end interface 395be7d1a3SCameron Smith interface 40e5afe575SCameron Smith subroutine phio_readheader(handle, phrase, vals, nvals, 41e5afe575SCameron Smith & datatype, iotype) 42e5afe575SCameron Smith & bind(C, NAME='phio_readheader') 43e5afe575SCameron Smith use :: iso_c_binding 44e5afe575SCameron Smith type(c_ptr), value :: handle 45e5afe575SCameron Smith character(c_char), intent(in) :: phrase(*) 46e5afe575SCameron Smith type(c_ptr), value :: vals 47e5afe575SCameron Smith integer(c_int), intent(in) :: nvals 48e5afe575SCameron Smith character(c_char), intent(in) :: datatype(*) 49e5afe575SCameron Smith character(c_char), intent(in) :: iotype(*) 50e5afe575SCameron Smith end subroutine 51e5afe575SCameron Smith end interface 52bc62cfd4SCameron Smith interface 535be7d1a3SCameron Smith subroutine phio_writeheader(handle, phrase, vals, nitems, ndata, 545be7d1a3SCameron Smith & datatype, iotype) 555be7d1a3SCameron Smith & bind(C, NAME='phio_writeheader') 565be7d1a3SCameron Smith use :: iso_c_binding 575be7d1a3SCameron Smith type(c_ptr), value :: handle 585be7d1a3SCameron Smith character(c_char), intent(in) :: phrase(*) 595be7d1a3SCameron Smith type(c_ptr), value :: vals 605be7d1a3SCameron Smith integer(c_int), intent(in) :: nitems 615be7d1a3SCameron Smith integer(c_int), intent(in) :: ndata 625be7d1a3SCameron Smith character(c_char), intent(in) :: datatype(*) 635be7d1a3SCameron Smith character(c_char), intent(in) :: iotype(*) 645be7d1a3SCameron Smith end subroutine 655be7d1a3SCameron Smith end interface 665be7d1a3SCameron Smith interface 67bc62cfd4SCameron Smith subroutine phio_readdatablock(handle, phrase, vals, nvals, 68bc62cfd4SCameron Smith & datatype, iotype) 69bc62cfd4SCameron Smith & bind(C, NAME='phio_readdatablock') 70bc62cfd4SCameron Smith use :: iso_c_binding 71bc62cfd4SCameron Smith type(c_ptr), value :: handle 72bc62cfd4SCameron Smith character(c_char), intent(in) :: phrase(*) 73bc62cfd4SCameron Smith type(c_ptr), value :: vals 74bc62cfd4SCameron Smith integer(c_int), intent(in) :: nvals 75bc62cfd4SCameron Smith character(c_char), intent(in) :: datatype(*) 76bc62cfd4SCameron Smith character(c_char), intent(in) :: iotype(*) 77bc62cfd4SCameron Smith end subroutine 78bc62cfd4SCameron Smith end interface 795be7d1a3SCameron Smith interface 805be7d1a3SCameron Smith subroutine phio_writedatablock(handle, phrase, vals, nvals, 815be7d1a3SCameron Smith & datatype, iotype) 825be7d1a3SCameron Smith & bind(C, NAME='phio_writedatablock') 835be7d1a3SCameron Smith use :: iso_c_binding 845be7d1a3SCameron Smith type(c_ptr), value :: handle 855be7d1a3SCameron Smith character(c_char), intent(in) :: phrase(*) 865be7d1a3SCameron Smith type(c_ptr), value :: vals 875be7d1a3SCameron Smith integer(c_int), intent(in) :: nvals 885be7d1a3SCameron Smith character(c_char), intent(in) :: datatype(*) 895be7d1a3SCameron Smith character(c_char), intent(in) :: iotype(*) 905be7d1a3SCameron Smith end subroutine 915be7d1a3SCameron Smith end interface 92e5afe575SCameron Smith end module 93