1af0996ceSBarry Smith #include <petsc/private/fortranimpl.h> 255fcb7f5SSatish Balay 355fcb7f5SSatish Balay #if defined(PETSC_HAVE_FORTRAN_CAPS) 455fcb7f5SSatish Balay #define petscfopen_ PETSCFOPEN 5e8976759SBarry Smith #define petscfclose_ PETSCFCLOSE 655fcb7f5SSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 755fcb7f5SSatish Balay #define petscfopen_ petscfopen 8e8976759SBarry Smith #define petscfclose_ petscfclose 955fcb7f5SSatish Balay #endif 1055fcb7f5SSatish Balay 11*390e1bf2SBarry Smith PETSC_EXTERN void PETSC_STDCALL petscfopen_(MPI_Comm *comm,char* fname PETSC_MIXED_LEN(len1),char* fmode PETSC_MIXED_LEN(len2), 1255fcb7f5SSatish Balay FILE **file,PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2)) 1355fcb7f5SSatish Balay { 1455fcb7f5SSatish Balay char *c1,*c2; 1555fcb7f5SSatish Balay 1655fcb7f5SSatish Balay FIXCHAR(fname,len1,c1); 1755fcb7f5SSatish Balay FIXCHAR(fmode,len2,c2); 18a542b6e8SBarry Smith *ierr = PetscFOpen(MPI_Comm_f2c(*(MPI_Fint*)&*comm),c1,c2,file); 1955fcb7f5SSatish Balay FREECHAR(fname,c1); 2055fcb7f5SSatish Balay FREECHAR(fmode,c2); 2155fcb7f5SSatish Balay } 2255fcb7f5SSatish Balay 23e8976759SBarry Smith PETSC_EXTERN void PETSC_STDCALL petscfclose_(MPI_Comm *comm,FILE **file,PetscErrorCode *ierr) 24e8976759SBarry Smith { 25e8976759SBarry Smith *ierr = PetscFClose(MPI_Comm_f2c(*(MPI_Fint*)&*comm),*file); 26e8976759SBarry Smith } 27e8976759SBarry Smith 28