### ACF Interface Body

The ACF interface body can contain the elements in the following list. Note that some of the attributes listed here can also be used in the ACF header, as described in ACF Interface Header. If you use more than one attribute, separate them with commas and include the list within a single pair of brackets.

· An include statement

· A declared type

typedef [[represent_as (local_type_name)] | [heap] |
[cs_char (local_type_name)]] type_name ;

· An operation:

[[explicit_handle] | [comm_status] | [fault_status] |
[code] | [nocode] | [enable_allocate] |
[cxx_new(manager_class)] | [cxx_static] | [cxx_static(local_function)] |
[encode] | [decode] | [cs_tag_rtn (tag_set_routine)]] operation_name ([parameter_list]);

A parameter_list is a list of zero or more parameter names as they appear in the corresponding operation definition of the IDL file. You do not need to use all the parameter names that occur in the IDL operation definition; use only those to which you attach an ACF attribute. If you use more than one parameter name, the names must be separated by commas.

· A parameter within an operation:

[[comm_status] | [fault_status] | [heap] |
[cs_stag] | [cs_drtag] | [cs_rtag]] parameter_name

###