OSF DCE Application Development Guide--Core Components

Interface Definition Language
The following is a sample declaration of an exceptions attribute:
[uuid(06255501-08AF-11CB-8C4F-08002B13D56D),
version (1.1),
exceptions (
exc_e_exquota,
binop_e_aborted,
binop_e_too_busy,
binop_e_shutdown)
] interface binop
{
long binop_add(
[in] long a,
[in] long b
);
}
See Chapter 16 for more information on using exceptions.
17.7.5 The pointer_default Attribute
IDL supports two kinds of pointer semantics. The pointer_default attribute specifies the
default semantics for pointers that are declared in the interface definition. The
pointer_default attribute takes the following form:
pointer_default (pointer_attribute)
Possible values for pointer_attribute are ref, unique, and ptr.
The default semantics established by the pointer_default attribute apply to the following
usages of pointers:
A pointer that occurs in the declaration of a member of a structure or a union.
A pointer that does not occur at the top level of an operation parameter declared with
more than one pointer operator. A top-level pointer is one that is not the target of
another pointer and is not a field of a data structure that is the target of a pointer.
(See Section 17.14.7.2 for more information on top-level pointers.)
Note that the pointer_default attribute does not apply to a pointer that is the return value
of an operation because this is always a full pointer.
The default semantics can be overridden by pointer attributes in the declaration of a
particular pointer. If an interface definition does not specify pointer_default and
contains a declaration that requires default pointer semantics, the IDL compiler will issue
a warning. For additional information on pointer semantics, refer to Section 17.14.7.1.
The pointer_default attribute can appear at most once in an interface.
124245 Tandem Computers Incorporated 17 11