1 #include <petsc-private/fortranimpl.h> 2 3 #if defined(PETSC_HAVE_FORTRAN_CAPS) 4 #define petscfopen_ PETSCFOPEN 5 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 6 #define petscfopen_ petscfopen 7 #endif 8 9 EXTERN_C_BEGIN 10 void PETSC_STDCALL petscfopen_(MPI_Comm *comm,CHAR fname PETSC_MIXED_LEN(len1),CHAR fmode PETSC_MIXED_LEN(len2), 11 FILE **file,PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2)) 12 { 13 char *c1,*c2; 14 15 FIXCHAR(fname,len1,c1); 16 FIXCHAR(fmode,len2,c2); 17 *ierr = PetscFOpen(MPI_Comm_f2c(*(MPI_Fint*)&*comm),c1,c2,file); 18 FREECHAR(fname,c1); 19 FREECHAR(fmode,c2); 20 } 21 22 EXTERN_C_END 23