OSF DCE Application Development Guide--Core Components

Interface Definition Language
IDL Type Definition:
typedef struct {
long s;
[size_is(s)] long fa3[3..*][-4..1][-1..2];
} t1;
C Translation:
typedef struct {
idl_long_int s;
idl_long_int fa3[1][6][4];
} t1;
IDL Parameter Declaration:
[in,out,size_is(s)] long fa3[3..*][-4..1][-1..2]
C Translation:
/* [in, out] */ idl_long_int fa3[][6][4]
17.14.5.3 Array Attributes
Array attributes specify the size of an array or the part of an array that is to be transferred
during a call. An array attribute specifies a variable that is either a field in the same
structure as the array or a parameter in the same operation as the array.
An array_attribute can take the following forms:
min_is ([*] variable)
max_is ([*] variable)
size_is ([*] variable)
last_is ([*] variable)
first_is ([*] variable)
length_is ([*] variable)
where variable specifies a variable whose value at runtime will determine the bound or
element count for the associated dimension. A pointer variable is indicated by preceding
the variable name with an * (asterisk).
If the array is a member of a structure, any referenced variables must be members of the
same structure. If the array is a parameter of an operation, any referenced variables must
be parameters of the same operation.
Only the ..._is(variable) form is allowed when the array is a field of a structure. In this
case, the ..._is(*variable) form is not allowed.
124245 Tandem Computers Incorporated 17 35