Wolfram Research, Inc.
Listed here are functions provided in the MathLink Developer Kit.
These functions are declared in the file mathlink.h, which should be included in the source code for any MathLink-compatible program.
Unless you specify #define MLPROTOTYPES 0 before #include "mathlink.h" the functions will be included with standard C prototypes.
The following special types are defined in mathlink.h:
MLINK: a MathLink link object (analogous to LinkObject in Mathematica)
MLMARK: a mark in a MathLink stream
MLENV: MathLink library environment
The following constants are set up when a MathLink template file is processed:
MLINK stdlink: the standard link that connects a program built from MathLink templates to Mathematica
MLENV stdenv: the standard MathLink environment in a program built from MathLink templates
All functions described here are C language functions. They can be called from other languages with appropriate wrappers.
The functions have the following general features:
Those which return int yield a non-zero value if they succeed; otherwise they return 0 and have no effect.
In a program set up using MathLink templates, the link to Mathematica is called stdlink.
Functions which put data to a link do not deallocate memory used to store the data.
Functions which get data from a link may allocate memory to store the data.
Functions which get data from a link will not return until the necessary data becomes available. A yield function can be registered to be called during the wait.