!
!  These are Fortran interfaces that are custom hand coded because
!  they cannot currently be generated automatically
!

      Interface
        Subroutine PetscLayoutRestoreRanges(a, b, z)
          use, intrinsic :: ISO_C_binding
          import tPetscLayout
          PetscLayout a
          PetscInt, pointer :: b(:)
          PetscErrorCode z
        End Subroutine
      End Interface

      Interface
        Subroutine PetscSectionRestoreConstraintIndices(s, p, a, ierr)
          use, intrinsic :: ISO_C_binding
          import tPetscSection
          PetscInt p
          PetscInt, pointer :: a(:)
          PetscErrorCode ierr
          PetscSection s
        End Subroutine
      End Interface

      Interface
        Subroutine PetscSectionRestoreFieldConstraintIndices(s, p, f, a, ierr)
          use, intrinsic :: ISO_C_binding
          import tPetscSection
          PetscSection      :: s
          PetscInt          :: p
          PetscInt          :: f
          PetscInt, pointer :: a(:)
          PetscErrorCode    :: ierr
        End Subroutine
      End Interface
