1 /* 2 This is the definition of the Mathematica viewer structure. 3 */ 4 5 #include <petsc/private/viewerimpl.h> /*I "petscsys.h" I*/ 6 #if defined(PETSC_HAVE_MATHEMATICA) 7 #include <mathlink.h> 8 #endif 9 10 typedef enum {MATHEMATICA_LINK_CREATE, MATHEMATICA_LINK_CONNECT, MATHEMATICA_LINK_LAUNCH} LinkMode; 11 12 typedef struct { 13 #if defined(PETSC_HAVE_MATHEMATICA) 14 MLINK link; /* The link to Mathematica */ 15 #endif 16 char *linkname; /* The name to link to Mathematica on (usually a port) */ 17 char *linkhost; /* The host to link to Mathematica on */ 18 LinkMode linkmode; /* The link mode */ 19 const char *objName; /* The name for the next object passed to Mathematica */ 20 } PetscViewer_Mathematica; 21 22 extern PetscErrorCode PetscViewerMathematicaSetFromOptions(PetscViewer); 23 extern PetscErrorCode PetscViewerMathematicaSetLinkName(PetscViewer,const char*); 24 extern PetscErrorCode PetscViewerMathematicaSetLinkPort(PetscViewer,int); 25 extern PetscErrorCode PetscViewerMathematicaSetLinkHost(PetscViewer,const char*); 26 extern PetscErrorCode PetscViewerMathematicaSetLinkMode(PetscViewer,LinkMode); 27