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.