Introduction

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.