xref: /petsc/src/sys/objects/ftn-custom/zinheritf.c (revision b41ce5d507ea9a58bfa83cf403107a702e77a67d)
1 /*
2   This file contains Fortran stubs for Options routines.
3   These are not generated automatically since they require passing strings
4   between Fortran and C.
5 */
6 
7 #include <petsc/private/fortranimpl.h>
8 
9 #if defined(PETSC_HAVE_FORTRAN_CAPS)
10 #define petscobjectcompose_        PETSCOBJECTCOMPOSE
11 #define petscobjectquery_          PETSCOBJECTQUERY
12 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
13 #define petscobjectcompose_        petscobjectcompose
14 #define petscobjectquery_          petscobjectquery
15 #endif
16 
17 /* ---------------------------------------------------------------------*/
18 
19 PETSC_EXTERN void PETSC_STDCALL petscobjectcompose_(PetscObject *obj, char *name PETSC_MIXED_LEN(len), PetscObject *ptr, PetscErrorCode *ierr PETSC_END_LEN(len))
20 {
21   char *n1;
22 
23   FIXCHAR(name,len,n1);
24   CHKFORTRANNULLOBJECTDEREFERENCE(ptr);
25   *ierr = PetscObjectCompose(*obj, n1, *ptr);
26   FREECHAR(name,n1);
27 }
28 
29 PETSC_EXTERN void PETSC_STDCALL petscobjectquery_(PetscObject *obj, char *name PETSC_MIXED_LEN(len), PetscObject *ptr, PetscErrorCode *ierr PETSC_END_LEN(len))
30 {
31   char *n1;
32 
33   FIXCHAR(name,len,n1);
34   *ierr = PetscObjectQuery(*obj, n1, ptr);
35   FREECHAR(name,n1);
36 }
37