OSF DCE Application Development Guide--Core Components
OSF DCE Application Development Guide—Core Components
[] The lower bound is 0 (zero). The upper bound is determined by a
max_is or size_is attribute.
[lower .. ] The lower bound is lower. The upper bound is determined by a
max_is or size_is attribute.
[* .. upper] The lower bound is determined by a min_is attribute. The upper
bound is upper.
[* .. *] The lower bound is determined by a min_is attribute. The upper
bound is determined by a size_is or max_is attribute.
17.14.5.2 Conformance in Dimensions Other Than the First
If a multidimensional array is conformant in a dimension other than the first, the C
description for this array, which is located in the header (.h) file generated by the IDL
compiler, will be a one-dimensional conformant array of the appropriate element type.
This occurs because there is no ‘‘natural’’ C binding for conformance in dimensions
other than the first.
The following examples show how IDL type definitions and parameter declarations that
contain bounds in dimensions other than the first are translated into their C equivalents at
runtime.
IDL Type Definition:
typedef struct {
long a;
long e;
[max_is(,,e),min_is(a)] long g7[*..1][2..9][3..*];
} t3;
C Translation:
typedef struct {
idl_long_int a;
idl_long_int e;
idl_long_int g7[1];
IDL Parameter Declaration:
[in,out,max_is(,,e),min_is(a)] long g7[*..1][2..9][3..*];
C Translation:
/* [in, out] */ idl_long_int g7[]
Arrays that have a nonzero first lower bound and a first upper bound that is determined at
runtime are translated into the equivalent C representation of a conformant array, as
shown in the following IDL type definition and parameter declaration examples:
17 − 34 Tandem Computers Incorporated 124245