The structure parameter_description
has an element
flags
that contains information about the status of the parameter.
Also the functions nni_init_parm*
allow specifying some of these
flags whe initializing a parameter. The individual flags can be combined with a
logical OR
in the element flags
. The following flags
are defined in the header file natni.h. This file is
contained in the directory NATDIR:[F$Trnlnm("NATVERS").samples.sysexnni].
Return Code | Meaning |
---|---|
NNI_FLG_PROTECTED |
Parameter is write protected. |
NNI_FLG_DYNAMIC (*) |
Parameter is dynamic (variable length or x-array). |
NNI_FLG_NOT_CONTIG (*) |
Array is not contiguous. |
NNI_FLG_AIV (*) |
Parameter is an AIV or INDEPENDENT variable. |
NNI_FLG_DYNVAR (*) |
Parameter has variable length. |
NNI_FLG_XARRAY (*) |
Parameter is an x-array. |
NNI_FLG_LBVAR_0 |
Lower bound of dimension 0 is variable. |
NNI_FLG_UBVAR_0 |
Upper bound of dimension 0 is variable. |
NNI_FLG_LBVAR_1 |
Lower bound of dimension 1 is variable. |
NNI_FLG_UBVAR_1 |
Upper bound of dimension 1 is variable. |
NNI_FLG_LBVAR_2 |
Lower bound of dimension 2 is variable. |
NNI_FLG_UBVAR_2 |
Upper bound of dimension 2 is variable. |
Only the flags marked with (*)
can be explicitly set in the
functions nni_init_parm*
. The other flags are automatically set by
the interface according to the type of the parameter.
If one of the NNI_FLG_*VAR*
flags is set, the array is an
x-array. In each dimension of an x-array only the lower bound or the upper
bound, not both, can be variable. Therefore for instance the flag
NNI_FLG_LBVAR_0
may not be combined with
NNI_FLG_UBVAR_0
.
If NNI_FLG_DYNAMIC
is on, also NNI_FLG_DYNVAR
,
NNI_FLG_XARRAY
or both are on. If both are on, the parameter is an
x-array with elements of variable length.