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.