#if !defined(PETSC_USE_FORTRAN_MODULES)
#include "petsc/finclude/ftn-custom/petscviewerdef.h90"
#endif
#include "petsc/finclude/ftn-custom/petscviewerhide.h90"

      Interface PetscViewerBinaryWrite
        Subroutine PetscViewerBinaryWriteInt(v,a,cnt,tmp,ierr)
          USE_PETSC_HIDE
          PETSCVIEWER_HIDE v
          PetscInt a(*)
          PetscInt cnt
          PetscBool  tmp
          PetscErrorCode ierr
        End Subroutine

        Subroutine PetscViewerBinaryWriteScalar(v,a,cnt,tmp,ierr)
          USE_PETSC_HIDE
          PETSCVIEWER_HIDE v
          PetscScalar a(*)
          PetscInt cnt
          PetscBool  tmp
          PetscErrorCode ierr
        End Subroutine

#if defined(PETSC_USE_COMPLEX)
        Subroutine PetscViewerBinaryWriteReal(v,a,cnt,tmp,ierr)
          USE_PETSC_HIDE
          PETSCVIEWER_HIDE v
          PetscReal a(*)
          PetscInt cnt
          PetscBool  tmp
          PetscErrorCode ierr
        End Subroutine
#endif

        Subroutine PetscViewerBinaryReadInt(v,a,cnt,ierr)
          USE_PETSC_HIDE
          PETSCVIEWER_HIDE v
          PetscInt a(*)
          PetscInt cnt
          PetscErrorCode ierr
        End Subroutine

        Subroutine PetscViewerBinaryReadScalar(v,a,cnt,ierr)
          USE_PETSC_HIDE
          PETSCVIEWER_HIDE v
          PetscScalar a(*)
          PetscInt cnt
          PetscErrorCode ierr
        End Subroutine

#if defined(PETSC_USE_COMPLEX)
        Subroutine PetscViewerBinaryReadReal(v,a,cnt,ierr)
          USE_PETSC_HIDE
          PETSCVIEWER_HIDE v
          PetscReal a(*)
          PetscInt cnt
          PetscErrorCode ierr
        End Subroutine
#endif

      End Interface

