xref: /petsc/include/petsc/private/bagimpl.h (revision 9dd11ecf0918283bb567d8b33a92f53ac4ea7840)
1 #pragma once
2 
3 #include <petscbag.h>
4 
5 #define PETSC_BAG_NAME_LENGTH 64
6 #define PETSC_BAG_HELP_LENGTH 128
7 
8 struct _n_PetscBagItem {
9   PetscDataType dtype;
10   PetscInt      offset;
11   PetscInt      msize;
12   char          name[PETSC_BAG_NAME_LENGTH], help[PETSC_BAG_HELP_LENGTH];
13   char        **list;
14   PetscBool     freelist;
15   PetscBagItem  next;
16 };
17 
18 struct _n_PetscBag {
19   MPI_Comm     bagcomm;
20   PetscInt     bagsize;
21   void        *structlocation;
22   PetscInt     count;
23   char         bagname[PETSC_BAG_NAME_LENGTH];
24   char         baghelp[PETSC_BAG_HELP_LENGTH];
25   char        *bagprefix;
26   PetscBagItem bagitems;
27 };
28