

     Interface
      subroutine KSPRestoreConvergenceHistory(ksp,r,na,ierr)
      use, intrinsic :: ISO_C_binding
      import tKSP
       KSP ksp
       PetscInt na
       PetscReal, pointer :: r(:)
       PetscErrorCode, intent(out) :: ierr
      end subroutine
      end Interface

  interface
  subroutine PCBJacobiRestoreSubKSP(a,b,c,d, z)
  use, intrinsic :: ISO_C_binding
  import tPC,tKSP
  PC :: a
  PetscInt :: b
  PetscInt :: c
  KSP, pointer :: d(:)
  PetscErrorCode z
  end subroutine
  end interface
#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
!DEC$ ATTRIBUTES DLLEXPORT::PCBJacobiRestoreSubKSP
#endif

  interface
  subroutine PCASMRestoreSubKSP(a,b,c,d, z)
  use, intrinsic :: ISO_C_binding
  import tPC,tKSP
  PC :: a
  PetscInt :: b
  PetscInt :: c
  KSP, pointer :: d(:)
  PetscErrorCode z
  end subroutine
  end interface
#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
!DEC$ ATTRIBUTES DLLEXPORT::PCASMRestoreSubKSP
#endif

  interface
  subroutine PCGASMRestoreSubKSP(a,b,c,d, z)
  use, intrinsic :: ISO_C_binding
  import tPC,tKSP
  PC :: a
  PetscInt :: b
  PetscInt :: c
  KSP, pointer :: d(:)
  PetscErrorCode z
  end subroutine
  end interface
#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
!DEC$ ATTRIBUTES DLLEXPORT::PCGASMRestoreSubKSP
#endif

  interface
  subroutine PCFieldsplitRestoreSubKSP(a,b,d, z)
  use, intrinsic :: ISO_C_binding
  import tPC,tKSP
  PC :: a
  PetscInt :: b
  KSP, pointer :: d(:)
  PetscErrorCode z
  end subroutine
  end interface
#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
!DEC$ ATTRIBUTES DLLEXPORT::PCFieldSplitRestoreSubKSP
#endif


  interface
  subroutine PCFieldSplitSchurRestoreSubKSP(a,b,d, z)
  use, intrinsic :: ISO_C_binding
  import tPC,tKSP
  PC :: a
  PetscInt :: b
  KSP, pointer :: d(:)
  PetscErrorCode z
  end subroutine
  end interface
#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
!DEC$ ATTRIBUTES DLLEXPORT::PCFieldSplitSchurRestoreSubKSP
#endif

