OSF DCE Application Development Guide--Core Components

OSF DCE Application Development Guide—Core Components
Note that an array with an array attribute (that is, a conformant or varying array) is not
allowed to have the transmit_as attribute.
17.14.5.3.1 The min_is Attribute
The min_is attribute is used to specify the variable(s) from which the values of one or
more lower bounds of the array will be obtained at runtime. If any dimension of an array
has an unspecified lower bound, the array must have a min_is attribute. A variable must
be identified for each such dimension. The following examples show the syntax of the
min_is attribute:
/* Assume values of variables are as follows
long a = -10;
long b = -20;
long c = -30;
*/
long [min_is(a)] g1[*..10]; /* g1[-10..10] */
long [min_is(a)] g2[*..10][4]; /* g2[-10..10[0..3] */
long [min_is(a,b)] g3[*..10][*..20]; /* g3[-10..10][-20..20] */
long [min_is(,b)] g4[2][*..20]; /* g4[0..1][-20..20] */
long [min_is(a,,c)] g5[*..7][2..9][*..8];
/* g5[-10..7][2..9][-30..8] */
long [min_is(a,b,)] g6[*..10][*..20][3..8];
/* g6[-10..10][-20..20][3..8] */
The following examples show the min_is attribute being applied to the first dimension of
an array in an IDL type definition and parameter declaration, and how the definition or
parameter is translated into its C equivalent:
IDL Type Definition:
typedef struct {
long n;
[min_is(n)] long fa3[*..10][-4..1][-1..2]
} t2;
C Translation:
typedef struct {
idl_long_int n;
idl_long_int fa3[1][6][4];
} t2;
IDL Parameter Declaration:
[in,out,min_is(n)] long fa3[*..10][-4..1][-1..2]
C Translation:
17 36 Tandem Computers Incorporated 124245