xref: /petsc/src/sys/fileio/ftn-custom/zmpiuopenf.c (revision 390e1bf27627d887df99a9f4d0d0ad68037f55ec)
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