Actual source code: viewerimpl.h
2: #ifndef _VIEWERIMPL
3: #define _VIEWERIMPL
5: #include <petsc/private/petscimpl.h>
6: #include <petscviewer.h>
8: PETSC_EXTERN PetscBool PetscViewerRegisterAllCalled;
9: PETSC_EXTERN PetscErrorCode PetscViewerRegisterAll(void);
11: struct _PetscViewerOps {
12: PetscErrorCode (*destroy)(PetscViewer);
13: PetscErrorCode (*view)(PetscViewer,PetscViewer);
14: PetscErrorCode (*flush)(PetscViewer);
15: PetscErrorCode (*getsubviewer)(PetscViewer,MPI_Comm,PetscViewer*);
16: PetscErrorCode (*restoresubviewer)(PetscViewer,MPI_Comm,PetscViewer*);
17: PetscErrorCode (*read)(PetscViewer,void*,PetscInt,PetscInt*,PetscDataType);
18: PetscErrorCode (*setfromoptions)(PetscOptionItems*,PetscViewer);
19: PetscErrorCode (*setup)(PetscViewer);
20: };
22: #define PETSCVIEWERGETVIEWEROFFPUSHESMAX 25
24: #define PETSCVIEWERFORMATPUSHESMAX 25
25: /*
26: Defines the viewer data structure.
27: */
28: struct _p_PetscViewer {
29: PETSCHEADER(struct _PetscViewerOps);
30: PetscViewerFormat format,formats[PETSCVIEWERFORMATPUSHESMAX];
31: int iformat; /* number of formats that have been pushed on formats[] stack */
32: void *data;
33: PetscBool setupcalled;
34: };
36: PETSC_EXTERN PetscMPIInt Petsc_Viewer_keyval;
37: PETSC_EXTERN PetscMPIInt Petsc_Viewer_Stdout_keyval;
38: PETSC_EXTERN PetscMPIInt Petsc_Viewer_Stderr_keyval;
39: PETSC_EXTERN PetscMPIInt Petsc_Viewer_Binary_keyval;
40: PETSC_EXTERN PetscMPIInt Petsc_Viewer_Draw_keyval;
41: #if defined(PETSC_HAVE_HDF5)
42: PETSC_EXTERN PetscMPIInt Petsc_Viewer_HDF5_keyval;
43: #endif
44: #if defined(PETSC_USE_SOCKETVIEWER)
45: PETSC_EXTERN PetscMPIInt Petsc_Viewer_Socket_keyval;
46: #endif
48: #endif