xref: /petsc/src/sys/classes/viewer/impls/ascii/asciiimpl.h (revision a02648fdf9ec0d41d7b5ca02cb70ddcfa0e65728)
1a4963045SJacob Faibussowitsch #pragma once
25c6c1daeSBarry Smith 
3af0996ceSBarry Smith #include <petsc/private/viewerimpl.h> /*I     "petscsys.h"   I*/
43f08860eSBarry Smith #include <../src/sys/fileio/mprint.h> /* defines the queue datastructures and variables */
55c6c1daeSBarry Smith 
65c6c1daeSBarry Smith typedef struct {
75c6c1daeSBarry Smith   FILE         *fd;
85c6c1daeSBarry Smith   PetscFileMode mode;      /* The mode in which to open the file */
95c6c1daeSBarry Smith   PetscInt      tab;       /* how many times text is tabbed in from left */
105c6c1daeSBarry Smith   PetscInt      tab_store; /* store tabs value while tabs are turned off */
115c6c1daeSBarry Smith   PetscViewer   bviewer;   /* if PetscViewer is a singleton, this points to mother */
125c6c1daeSBarry Smith   PetscViewer   sviewer;   /* if PetscViewer has a singleton, this points to singleton */
133f08860eSBarry Smith   PetscViewer   subviewer; /* used with PetscViewerGetSubViewer() */
145c6c1daeSBarry Smith   char         *filename;
155c6c1daeSBarry Smith   PetscBool     storecompressed;
165c6c1daeSBarry Smith   PetscBool     closefile;
171575c14dSBarry Smith   PetscInt      allowsynchronized; /* allow synchronized writes from any process to the viewer */
183f08860eSBarry Smith 
193f08860eSBarry Smith   PrintfQueue petsc_printfqueue, petsc_printfqueuebase;
203f08860eSBarry Smith   int         petsc_printfqueuelength;
21e4096674SBarry Smith 
229f0612e4SBarry Smith   int fileunit; /* indicates the output is printed with Fortran IO */
235c6c1daeSBarry Smith } PetscViewer_ASCII;
245c6c1daeSBarry Smith 
255c6c1daeSBarry Smith typedef struct PetscViewerLink_t PetscViewerLink;
265c6c1daeSBarry Smith struct PetscViewerLink_t {
275c6c1daeSBarry Smith   PetscViewer               viewer;
285c6c1daeSBarry Smith   struct PetscViewerLink_t *next;
295c6c1daeSBarry Smith };
305c6c1daeSBarry Smith 
31*d6acfc2dSPierre Jolivet PETSC_INTERN PetscMPIInt MPIAPI Petsc_DelViewer(MPI_Comm, PetscMPIInt, void *, void *);
32