xref: /petsc/src/sys/classes/bag/ftn-custom/zbagf.c (revision 6dd63270497ad23dcf16ae500a87ff2b2a0b7474)
1*6dd63270SBarry Smith #include <petsc/private/ftnimpl.h>
25c6c1daeSBarry Smith #include <petscbag.h>
35c6c1daeSBarry Smith 
4519f805aSKarl Rupp #if defined(PETSC_HAVE_FORTRAN_CAPS)
55c6c1daeSBarry Smith   #define petscbagregisterenumprivate_ PETSCBAGREGISTERENUMPRIVATE
65c6c1daeSBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
75c6c1daeSBarry Smith   #define petscbagregisterenumprivate_ petscbagregisterenumprivate
85c6c1daeSBarry Smith #endif
95c6c1daeSBarry Smith 
105c6c1daeSBarry Smith /* ---------------------------------------------------------------------*/
115c6c1daeSBarry Smith 
125975b3b6SBarry 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)
135c6c1daeSBarry Smith {
145c6c1daeSBarry Smith   char *c1, *c2;
155c6c1daeSBarry Smith 
165c6c1daeSBarry Smith   FIXCHAR(name, len1, c1);
175c6c1daeSBarry Smith   FIXCHAR(help, len2, c2);
185975b3b6SBarry Smith   *ierr = PetscBagRegisterEnum(*bag, addr, list, *def, c1, c2);
195975b3b6SBarry Smith   if (*ierr) return;
205c6c1daeSBarry Smith   FREECHAR(name, c1);
215c6c1daeSBarry Smith   FREECHAR(help, c2);
225c6c1daeSBarry Smith }
23