xref: /petsc/src/sys/classes/bag/ftn-custom/zbagf.c (revision 03047865b8d8757cf1cf9cda45785c1537b01dc1)
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 
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)105975b3b6SBarry 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)
115c6c1daeSBarry Smith {
125c6c1daeSBarry Smith   char *c1, *c2;
135c6c1daeSBarry Smith 
145c6c1daeSBarry Smith   FIXCHAR(name, len1, c1);
155c6c1daeSBarry Smith   FIXCHAR(help, len2, c2);
165975b3b6SBarry Smith   *ierr = PetscBagRegisterEnum(*bag, addr, list, *def, c1, c2);
175975b3b6SBarry Smith   if (*ierr) return;
185c6c1daeSBarry Smith   FREECHAR(name, c1);
195c6c1daeSBarry Smith   FREECHAR(help, c2);
205c6c1daeSBarry Smith }
21