15c6c1daeSBarry Smith #include <petsc-private/fortranimpl.h> 2d70abbfaSBarry Smith #include <petscviewerhdf5.h> 35c6c1daeSBarry Smith 45c6c1daeSBarry Smith #if defined(PETSC_HAVE_FORTRAN_CAPS) 55c6c1daeSBarry Smith #define petscviewerhdf5open_ PETSCVIEWERHDF5OPEN 6*3ef9c667SSatish Balay #define petscviewerhdf5pushgroup_ PETSCVIEWERHDF5PUSHGROUP 7*3ef9c667SSatish Balay #define petscviewerhdf5getgroup_ PETSCVIEWERHDF5GETGROUP 85c6c1daeSBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 95c6c1daeSBarry Smith #define petscviewerhdf5open_ petscviewerhdf5open 10*3ef9c667SSatish Balay #define petscviewerhdf5pushgroup_ petscviewerhdf5pushgroup 11*3ef9c667SSatish Balay #define petscviewerhdf5getgroup_ petscviewerhdf5getgroup 125c6c1daeSBarry Smith #endif 135c6c1daeSBarry Smith 148cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL petscviewerhdf5open_(MPI_Comm *comm,CHAR name PETSC_MIXED_LEN(len),PetscFileMode *type, 155c6c1daeSBarry Smith PetscViewer *binv,PetscErrorCode *ierr PETSC_END_LEN(len)) 165c6c1daeSBarry Smith { 175c6c1daeSBarry Smith char *c1; 185c6c1daeSBarry Smith FIXCHAR(name,len,c1); 195c6c1daeSBarry Smith *ierr = PetscViewerHDF5Open(MPI_Comm_f2c(*(MPI_Fint*)&*comm),c1,*type,binv); 205c6c1daeSBarry Smith FREECHAR(name,c1); 215c6c1daeSBarry Smith } 225c6c1daeSBarry Smith 23*3ef9c667SSatish Balay PETSC_EXTERN void PETSC_STDCALL petscviewerhdf5pushgroup_(PetscViewer *viewer, CHAR name PETSC_MIXED_LEN(len), 24*3ef9c667SSatish Balay PetscErrorCode *ierr PETSC_END_LEN(len)) 25*3ef9c667SSatish Balay { 26*3ef9c667SSatish Balay char *c1; 27*3ef9c667SSatish Balay FIXCHAR(name,len,c1); 28*3ef9c667SSatish Balay *ierr = PetscViewerHDF5PushGroup(*viewer,c1); 29*3ef9c667SSatish Balay FREECHAR(name,c1); 30*3ef9c667SSatish Balay } 31*3ef9c667SSatish Balay 32*3ef9c667SSatish Balay PETSC_EXTERN void PETSC_STDCALL petscviewerhdf5getgroup_(PetscViewer *viewer, CHAR name PETSC_MIXED_LEN(len), 33*3ef9c667SSatish Balay PetscErrorCode *ierr PETSC_END_LEN(len)) 34*3ef9c667SSatish Balay { 35*3ef9c667SSatish Balay const char *c1; 36*3ef9c667SSatish Balay *ierr = PetscViewerHDF5GetGroup(*viewer,&c1); 37*3ef9c667SSatish Balay *ierr = PetscStrncpy(name,c1,len); 38*3ef9c667SSatish Balay FIXRETURNCHAR(PETSC_TRUE,name,len); 39*3ef9c667SSatish Balay } 40