!*************************************************************************************
!*    M A R I T I M E  R E S E A R C H  I N S T I T U T E  N E T H E R L A N D S     *
!*************************************************************************************
!*    authors: Bas van 't Hof, Koos Huijssen, Christiaan M. Klaij                    *
!*************************************************************************************
!*    content: Support for nested PetscTimers                                        *
!*************************************************************************************

module petsc_MPIadminF
use iso_c_binding
   interface 
     function PetscAdminSend(count, datatype) bind(c,name='PetscAdminSend') result(ierr)
     use iso_c_binding
     implicit none
     integer(c_int), value :: count
     integer(c_int), value :: datatype
     integer(c_int)        :: ierr
     end function PetscAdminSend

     function PetscAdminRecv(count, datatype) bind(c,name='PetscAdminRecv') result(ierr)
     use iso_c_binding
     implicit none
     integer(c_int), value :: count
     integer(c_int), value :: datatype
     integer(c_int)        :: ierr
     end function PetscAdminRecv

     function PetscAdminReduce() bind(c,name='PetscAdminReduce') result(ierr)
     use iso_c_binding
     implicit none
     integer(c_int)        :: ierr
     end function PetscAdminReduce

   end interface 
end module petsc_MPIadminF

