1*6dd63270SBarry Smith #include <petsc/private/ftnimpl.h> 2*6dd63270SBarry Smith #include <petscbag.h> 3*6dd63270SBarry Smith #include <petsc/private/bagimpl.h> 4*6dd63270SBarry Smith #include <petscviewer.h> 5*6dd63270SBarry Smith 6*6dd63270SBarry Smith #if defined(PETSC_HAVE_FORTRAN_CAPS) 7*6dd63270SBarry Smith #define petscbagregisterstring_ PETSCBAGREGISTERSTRING 8*6dd63270SBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 9*6dd63270SBarry Smith #define petscbagregisterstring_ petscbagregisterstring 10*6dd63270SBarry Smith #endif 11*6dd63270SBarry Smith 12*6dd63270SBarry Smith PETSC_EXTERN void petscbagregisterstring_(PetscBag *bag, char *p, char *cs1, char *s1, char *s2, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T pl, PETSC_FORTRAN_CHARLEN_T cl1, PETSC_FORTRAN_CHARLEN_T l1, PETSC_FORTRAN_CHARLEN_T l2) 13*6dd63270SBarry Smith { 14*6dd63270SBarry Smith char *t1, *t2, *ct1; 15*6dd63270SBarry Smith FIXCHAR(s1, l1, t1); 16*6dd63270SBarry Smith FIXCHAR(cs1, cl1, ct1); 17*6dd63270SBarry Smith FIXCHAR(s2, l2, t2); 18*6dd63270SBarry Smith *ierr = PetscBagRegisterString(*bag, (void *)p, (PetscInt)pl, ct1, t1, t2); 19*6dd63270SBarry Smith if (*ierr) return; 20*6dd63270SBarry Smith FREECHAR(cs1, ct1); 21*6dd63270SBarry Smith FREECHAR(s1, t1); 22*6dd63270SBarry Smith FREECHAR(s2, t2); 23*6dd63270SBarry Smith } 24