OSF DCE Application Development Guide--Core Components

Interface Definition Language
A type that includes the handle attribute in its definition cannot be used, directly or
indirectly, in the definition of a type with the transmit_as attribute. Nor can a type
that includes the transmit_as attribute in its definition be used, directly or indirectly,
in the definition of a type with the handle attribute.
A conformant array type.
A varying array type.
A structure type containing a conformant array.
An array type of which any instance is varying.
A type with the represent_as attribute.
The type name in a declaration for a transmit_as attribute is restricted to 21 characters.
A transmitted type specified by the transmit_as attribute must be either a base type, a
predefined type, or a named type defined via typedef. A transmitted type cannot be a
conformant array type or a conformant structure type if any instance of that type is an in
parameter or an in, out parameter.
The following is an example of transmit_as. Assuming the following declarations:
typedef
struct tree_node_t {
data_t data;
struct tree_node_t * left;
struct tree_node_t * right;
} tree_node_t;
typedef
[transmit_as(tree_xmit_t)] tree_node_t *tree_t;
The application code must include routines that match the prototypes:
void tree_t_to_xmit ( tree_t *, (tree_xmit_t **) );
void tree_t_from_xmit ( (tree_xmit_t *), (tree_t *) );
void tree_t_free_inst ( tree_t *);
void tree_t_free_xmit ( (tree_xmit_t *) );
124245 Tandem Computers Incorporated 17 67