xref: /petsc/src/sys/classes/viewer/interface/ftn-custom/zviewaf.c (revision 8cbdbec6f8317ddf7886f91eb9c6bd083b543c50)
1 #include <petsc-private/fortranimpl.h>
2 
3 #if defined(PETSC_HAVE_FORTRAN_CAPS)
4 #define petscviewersetformat_      PETSCVIEWERSETFORMAT
5 #define petscviewersettype_        PETSCVIEWERSETTYPE
6 #define petscviewerpushformat_     PETSCVIEWERPUSHFORMAT
7 #define petscviewerpopformat_      PETSCVIEWERPOPFORMAT
8 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
9 #define petscviewersetformat_      petscviewersetformat
10 #define petscviewersettype_        petscviewersettype
11 #define petscviewerpushformat_     petscviewerpushformat
12 #define petscviewerpopformat_      petscviewerpopformat
13 #endif
14 
15 EXTERN_C_BEGIN
16 
17 void PETSC_STDCALL petscviewersettype_(PetscViewer *x,CHAR type_name PETSC_MIXED_LEN(len),PetscErrorCode *ierr PETSC_END_LEN(len))
18 {
19   char *t;
20 
21   FIXCHAR(type_name,len,t);
22   *ierr = PetscViewerSetType(*x,t);
23   FREECHAR(type_name,t);
24 }
25 
26 void PETSC_STDCALL petscviewersetformat_(PetscViewer *vin,PetscViewerFormat *format,PetscErrorCode *ierr)
27 {
28   PetscViewer v;
29   PetscPatchDefaultViewers_Fortran(vin,v);
30   *ierr = PetscViewerSetFormat(v,*format);
31 }
32 
33 void PETSC_STDCALL petscviewerpushformat_(PetscViewer *vin,PetscViewerFormat *format,PetscErrorCode *ierr)
34 {
35   PetscViewer v;
36   PetscPatchDefaultViewers_Fortran(vin,v);
37   *ierr = PetscViewerPushFormat(v,*format);
38 }
39 
40 void PETSC_STDCALL petscviewerpopformat_(PetscViewer *vin,PetscErrorCode *ierr)
41 {
42   PetscViewer v;
43   PetscPatchDefaultViewers_Fortran(vin,v);
44   *ierr = PetscViewerPopFormat(v);
45 }
46 
47 EXTERN_C_END
48