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 1118d1adefSBarry Smith #if defined(__cplusplus) 1218d1adefSBarry Smith extern "C" { 1318d1adefSBarry Smith #endif 1418d1adefSBarry Smith 15*19caf8f3SSatish Balay PETSC_EXTERN void petscfopen_(MPI_Comm *comm,char* fname,char* fmode, 16*19caf8f3SSatish Balay FILE **file,PetscErrorCode *ierr,PETSC_FORTRAN_CHARLEN_T len1,PETSC_FORTRAN_CHARLEN_T len2) 1755fcb7f5SSatish Balay { 1855fcb7f5SSatish Balay char *c1,*c2; 1955fcb7f5SSatish Balay 2055fcb7f5SSatish Balay FIXCHAR(fname,len1,c1); 2155fcb7f5SSatish Balay FIXCHAR(fmode,len2,c2); 22d49bb8f9SBarry Smith *ierr = PetscFOpen(MPI_Comm_f2c(*(MPI_Fint*)&*comm),c1,c2,file);if (*ierr) return; 2355fcb7f5SSatish Balay FREECHAR(fname,c1); 2455fcb7f5SSatish Balay FREECHAR(fmode,c2); 2555fcb7f5SSatish Balay } 2655fcb7f5SSatish Balay 27*19caf8f3SSatish Balay PETSC_EXTERN void petscfclose_(MPI_Comm *comm,FILE **file,PetscErrorCode *ierr) 28e8976759SBarry Smith { 29e8976759SBarry Smith *ierr = PetscFClose(MPI_Comm_f2c(*(MPI_Fint*)&*comm),*file); 30e8976759SBarry Smith } 31e8976759SBarry Smith 3218d1adefSBarry Smith #if defined(__cplusplus) 3318d1adefSBarry Smith } 3418d1adefSBarry Smith #endif 35