The Natural Native Interface enables an application to execute Natural code in its own process context through function calls according to the C calling convention. The interface consists of a shared library that contains a set of interface functions. These functions include initialization and uninitialization of a Natural session, logging on to a specific Natural library and execution of individual Natural modules. The calling application loads the interface library dynamically with operating system calls and then locates and calls the interface functions.
An example C program nnisample.c that shows the usage of the interface is contained in <install-dir>/natural\samples/sysexnni.
The Natural modules called by the C program
nnisample.c are contained in the Natural library
SYSEXNNI
.
As outlined above, using the Natural Native Interface is a completely different approach to run a Natural session.
Using the Natural Native Interface, the C program drives the
Natural session via the interface calls. Alternatively or additionally, the
user may enter a program (sequence) via the STACK
parameter.
So it is not necessary, to fill
CMOBJIN
and CMSYNIN
and in
fact does not have any effect.
Running in batch mode when the Natural Native Interface is not
used, all commands and input data for a batch session are provided in
CMOBJIN
and CMSYNIN
. Natural
starts (in batch mode) and is then driven by these commands. This is not
applicable/possible using the Natural Native Interface.