Natural Data Types

Some of the parameter access functions (like nni_get_parm, nni_put_parm) use a buffer that contains a parameter value in the correct representation. The length of the buffer depends on the Natural data type. The data format of the buffer is defined according to the following table:

Natural Data Type Buffer Format
A char[ ]
B byte[ ]
C short
F4 float
F8 double
I1 signed char
I2 short
I4 int
L NNI_L_TRUE or NNI_L_FALSE, see natni.h
HANDLE OF OBJECT byte[8]
P, N, D, T The buffer content should be created from a string representation with the function nni_from_string. It can be transformed to a string representation with the function nni_to_string.
U An array of UTF-16 characters. On Windows and on those UNIX and OpenVMS platforms where a wchar corresponds to a UTF-16 character, this is a wchar[].

Some of the parameter access functions (like nni_get_parm, and nni_put_parm) require a Natural data type to be specified. In these cases the following constants should be used. The constants are defined in the header file natni.h. This file is contained in the directory <install-dir>\natural\samples\sysexnni.

Natural Data Type Constant
A NNI_TYPE_ALPHA
B NNI_TYPE_BIN
C NNI_TYPE_CV
D NNI_TYPE_DATE
F NNI_TYPE_FLOAT
I NNI_TYPE_INT
L NNI_TYPE_LOG
N NNI_TYPE_NUM
HANDLE OF OBJECT NNI_TYPE_OBJECT
P NNI_TYPE_PACK
T NNI_TYPE_TIME
U NNI_TYPE_UNICODE