1 #pragma once 2 3 #include <petsc/private/viewerimpl.h> /*I "petscsys.h" I*/ 4 #include <../src/sys/fileio/mprint.h> /* defines the queue datastructures and variables */ 5 6 typedef struct { 7 FILE *fd; 8 PetscFileMode mode; /* The mode in which to open the file */ 9 PetscInt tab; /* how many times text is tabbed in from left */ 10 PetscInt tab_store; /* store tabs value while tabs are turned off */ 11 PetscViewer bviewer; /* if PetscViewer is a singleton, this points to mother */ 12 PetscViewer sviewer; /* if PetscViewer has a singleton, this points to singleton */ 13 PetscViewer subviewer; /* used with PetscViewerGetSubViewer() */ 14 char *filename; 15 PetscBool storecompressed; 16 PetscBool closefile; 17 PetscInt allowsynchronized; /* allow synchronized writes from any process to the viewer */ 18 19 PrintfQueue petsc_printfqueue, petsc_printfqueuebase; 20 int petsc_printfqueuelength; 21 22 PetscInt fileunit; /* indicates the output is printed with Fortran IO */ 23 } PetscViewer_ASCII; 24 25 typedef struct PetscViewerLink_t PetscViewerLink; 26 struct PetscViewerLink_t { 27 PetscViewer viewer; 28 struct PetscViewerLink_t *next; 29 }; 30 31 PETSC_EXTERN PetscMPIInt MPIAPI Petsc_DelViewer(MPI_Comm, PetscMPIInt, void *, void *); 32