xref: /petsc/src/sys/classes/bag/ftn-custom/zbagf.c (revision 5975b3b6e3931510e2a64a701673cbe1930c6f42)
15c6c1daeSBarry Smith 
2af0996ceSBarry Smith #include <petsc/private/fortranimpl.h>
35c6c1daeSBarry Smith #include <petscbag.h>
45c6c1daeSBarry Smith 
5519f805aSKarl Rupp #if defined(PETSC_HAVE_FORTRAN_CAPS)
65c6c1daeSBarry Smith   #define petscbagregisterenumprivate_ PETSCBAGREGISTERENUMPRIVATE
75c6c1daeSBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
85c6c1daeSBarry Smith   #define petscbagregisterenumprivate_ petscbagregisterenumprivate
95c6c1daeSBarry Smith #endif
105c6c1daeSBarry Smith 
115c6c1daeSBarry Smith /* ---------------------------------------------------------------------*/
125c6c1daeSBarry Smith 
13*5975b3b6SBarry Smith PETSC_EXTERN void petscbagregisterenumprivate_(PetscBag *bag, void *addr, const char *const *list, PetscEnum *def, char *name, char *help, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len1, PETSC_FORTRAN_CHARLEN_T len2)
145c6c1daeSBarry Smith {
155c6c1daeSBarry Smith   char *c1, *c2;
165c6c1daeSBarry Smith 
175c6c1daeSBarry Smith   FIXCHAR(name, len1, c1);
185c6c1daeSBarry Smith   FIXCHAR(help, len2, c2);
19*5975b3b6SBarry Smith   *ierr = PetscBagRegisterEnum(*bag, addr, list, *def, c1, c2);
20*5975b3b6SBarry Smith   if (*ierr) return;
215c6c1daeSBarry Smith   FREECHAR(name, c1);
225c6c1daeSBarry Smith   FREECHAR(help, c2);
235c6c1daeSBarry Smith }
24