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