Actual source code: mathematica.h

      1: #pragma once
      2: /*
      3:    This is the definition of the Mathematica viewer structure.
      4: */

      6: #include <petsc/private/viewerimpl.h>
      7: #if defined(PETSC_HAVE_MATHEMATICA)
      8:   #include <mathlink.h>
      9: #endif

     11: typedef enum {
     12:   MATHEMATICA_LINK_CREATE,
     13:   MATHEMATICA_LINK_CONNECT,
     14:   MATHEMATICA_LINK_LAUNCH
     15: } LinkMode;

     17: typedef struct {
     18: #if defined(PETSC_HAVE_MATHEMATICA)
     19:   MLINK link; /* The link to Mathematica */
     20: #endif
     21:   char       *linkname; /* The name to link to Mathematica on (usually a port) */
     22:   char       *linkhost; /* The host to link to Mathematica on */
     23:   LinkMode    linkmode; /* The link mode */
     24:   const char *objName;  /* The name for the next object passed to Mathematica */
     25: } PetscViewer_Mathematica;

     27: PETSC_EXTERN PetscErrorCode PetscViewerMathematicaSetFromOptions(PetscViewer);
     28: PETSC_EXTERN PetscErrorCode PetscViewerMathematicaSetLinkName(PetscViewer, const char *);
     29: PETSC_EXTERN PetscErrorCode PetscViewerMathematicaSetLinkPort(PetscViewer, int);
     30: PETSC_EXTERN PetscErrorCode PetscViewerMathematicaSetLinkHost(PetscViewer, const char *);
     31: PETSC_EXTERN PetscErrorCode PetscViewerMathematicaSetLinkMode(PetscViewer, LinkMode);