The function nni_get_interface
                      returns a pointer to an instance of the Natural Native Interface. One interface
                      instance can host one Natural session at a time. An application initializes a
                      Natural session by calling the function nni_initialize on a given
                      interface instance. It uninitializes the Natural session by calling
                      nni_uninitialize on that
                      interface instance. After that it can initialize a new Natural session on the
                      same interface instance.
               
It is implementation dependent if multiple interface instances and thus
                      multiple Natural sessions can be maintained per process or per thread. In the
                      current implementation of Natural on Windows, UNIX and OpenVMS, one process can
                      host one Natural session at a time. Consequently, every call to
                      nni_get_interface in
                      one process yields the same interface instance. However, this unique interface
                      instance can be used alternating by several concurrently running threads. The
                      thread synchronization is implicitly performed by the interface functions
                      themselves. Optionally it can be performed by the application explicitly. The
                      interface provides the required synchronization functions
                      nni_enter,
                      nni_try_enter and
                      nni_leave.