xref: /petsc/src/sys/fileio/ftn-custom/zmpiuopenf.c (revision e8976759b7b43be2087cb81f53885e86f269ef17)
1af0996ceSBarry Smith #include <petsc/private/fortranimpl.h>
255fcb7f5SSatish Balay 
355fcb7f5SSatish Balay #if defined(PETSC_HAVE_FORTRAN_CAPS)
455fcb7f5SSatish Balay #define petscfopen_                PETSCFOPEN
5*e8976759SBarry Smith #define petscfclose_               PETSCFCLOSE
655fcb7f5SSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
755fcb7f5SSatish Balay #define petscfopen_                petscfopen
8*e8976759SBarry Smith #define petscfclose_               petscfclose
955fcb7f5SSatish Balay #endif
1055fcb7f5SSatish Balay 
118cc058d9SJed Brown 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 
23*e8976759SBarry Smith PETSC_EXTERN void PETSC_STDCALL petscfclose_(MPI_Comm *comm,FILE **file,PetscErrorCode *ierr)
24*e8976759SBarry Smith {
25*e8976759SBarry Smith   *ierr = PetscFClose(MPI_Comm_f2c(*(MPI_Fint*)&*comm),*file);
26*e8976759SBarry Smith }
27*e8976759SBarry Smith 
28