
        Interface DMCompositeGetEntries
        Subroutine DMCompositeGetEntries1(dm1, d1,ierr)
      use, intrinsic :: ISO_C_binding
          import tDM
          DM dm1
          DM d1
          PetscErrorCode ierr
        End Subroutine

        Subroutine DMCompositeGetEntries2(dm1, d1,d2,ierr)
      use, intrinsic :: ISO_C_binding
          import tDM
          DM dm1
          DM d1,d2
          PetscErrorCode ierr
        End Subroutine

        Subroutine DMCompositeGetEntries3(dm1, d1,d2,d3,ierr)
      use, intrinsic :: ISO_C_binding
          import tDM
          DM dm1
          DM d1,d2,d3
          PetscErrorCode ierr
        End Subroutine

        Subroutine DMCompositeGetEntries4(dm1, d1,d2,d3,d4,ierr)
      use, intrinsic :: ISO_C_binding
          import tDM
          DM dm1
          PetscInt d2,d4
          DM d1,d3
          PetscErrorCode ierr
        End Subroutine
      End Interface

      Interface DMCompositeRestoreGlobalISs
        Subroutine DMCompositeRestoreGlobalISs(dm, iss, ierr)
      use, intrinsic :: ISO_C_binding
          import tDM,tIS
          DM dm
          IS, pointer :: iss(:)
          PetscErrorCode ierr
        End Subroutine
      End Interface

      Interface DMCompositeRestoreLocalISs
        Subroutine DMCompositeRestoreLocalISs(dm, iss, ierr)
      use, intrinsic :: ISO_C_binding
          import tDM,tIS
          DM dm
          IS, pointer :: iss(:)
          PetscErrorCode ierr
        End Subroutine
      End Interface
