#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
      Interface
       subroutine PetscSFBcastBegin(sf,unit,rarray,larray,op,ierr)
          import tPetscSF
          PetscSF :: sf
          PetscMPIInt :: unit,op
          type(*) :: rarray(:)
          type(*) :: larray(:)
          PetscErrorCode :: ierr
        end Subroutine PetscSFBcastBegin

      subroutine PetscSFBcastEnd(sf,unit,rarray,larray,op,ierr)
          import tPetscSF
          PetscSF :: sf
          PetscMPIInt :: unit,op
          type(*) :: rarray(:)
          type(*) :: larray(:)
          PetscErrorCode :: ierr
        end Subroutine PetscSFBcastEnd

      subroutine PetscSFReduceBegin(sf,unit,larray,rarray,op,ierr)
          import tPetscSF
          PetscSF :: sf
          PetscMPIInt :: unit,op
          type(*) :: larray(:)
          type(*) :: rarray(:)
          PetscErrorCode :: ierr
        end Subroutine PetscSFReduceBegin

      subroutine PetscSFReduceEnd(sf,unit,larray,rarray,op,ierr)
          import tPetscSF
          PetscSF :: sf
          PetscMPIInt :: unit,op
          type(*) :: larray(:)
          type(*) :: rarray(:)
          PetscErrorCode :: ierr
        end Subroutine PetscSFReduceEnd
      end Interface
#endif

      interface
      subroutine VecRestoreOwnershipRanges(v, ptr, ierr)
      import tVec
      Vec :: v
      PetscInt, pointer :: ptr(:)
      PetscErrorCode, intent(out) :: ierr
      end subroutine VecRestoreOwnershipRanges

      subroutine PetscSFRestoreGraph(sf,nroots,nleaves,ilocal,iremote,ierr)
          import tPetscSF,sPetscSFNode
          PetscSF :: sf
          PetscInt :: nroots,nleaves
          PetscInt, pointer :: ilocal(:)
          type(sPetscSFNode), pointer :: iremote(:)
          PetscErrorCode :: ierr
      end Subroutine PetscSFRestoreGraph

        Subroutine VecRestoreValuesSection(v,s,p,va,ierr)
          import tVec,tPetscSection
          PetscScalar, pointer :: va(:)
          PetscErrorCode ierr
          Vec     v
          PetscSection s
          PetscInt p
        End Subroutine
      End Interface
