Actual source code: zinheritf.c
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: */
7: #include <petsc/private/fortranimpl.h>
9: #if defined(PETSC_HAVE_FORTRAN_CAPS)
10: #define petscobjectcompose_ PETSCOBJECTCOMPOSE
11: #define petscobjectquery_ PETSCOBJECTQUERY
12: #define petscobjectreference_ PETSCOBJECTREFERENCE
13: #define petscobjectdereference_ PETSCOBJECTDEREFERENCE
14: #define petscobjectgetreference_ PETSCOBJECTGETREFERENCE
15: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
16: #define petscobjectcompose_ petscobjectcompose
17: #define petscobjectquery_ petscobjectquery
18: #define petscobjectreference_ petscobjectreference
19: #define petscobjectdereference_ petscobjectdereference
20: #define petscobjectgetreference_ petscobjectgetreference
21: #endif
23: /* ---------------------------------------------------------------------*/
25: PETSC_EXTERN void petscobjectcompose_(PetscObject *obj, char *name, PetscObject *ptr, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
26: {
27: char *n1;
29: FIXCHAR(name, len, n1);
30: *ierr = PetscObjectCompose(*obj, n1, *ptr);
31: if (*ierr) return;
32: FREECHAR(name, n1);
33: }
35: PETSC_EXTERN void petscobjectquery_(PetscObject *obj, char *name, PetscObject *ptr, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
36: {
37: char *n1;
39: FIXCHAR(name, len, n1);
40: *ierr = PetscObjectQuery(*obj, n1, ptr);
41: if (*ierr) return;
42: FREECHAR(name, n1);
43: }
45: PETSC_EXTERN void petscobjectreference_(PetscObject *obj, PetscErrorCode *ierr)
46: {
47: *ierr = PetscObjectReference(*obj);
48: }
50: PETSC_EXTERN void petscobjectdereference_(PetscObject *obj, PetscErrorCode *ierr)
51: {
52: *ierr = PetscObjectDereference(*obj);
53: }
55: PETSC_EXTERN void petscobjectgetreference_(PetscObject *obj, PetscInt *ref, PetscErrorCode *ierr)
56: {
57: *ierr = PetscObjectGetReference(*obj, ref);
58: }