Interpretations are issued to explain and clarify the intent of a standard and do not constitute an alteration to the original standard. In addition, interpretations are not intended to supply consulting information. Permission is hereby granted to download and print one copy of this document. Individuals seeking permission to reproduce and/or distribute this document in its entirety or portions of this document must contact the IEEE Standards Department for the appropriate license. Use of the information contained in this document is at your own risk.

Subclause 6.8.2 of IEEE Std 1224.2-1993 defines the bad-class value
of the Problem attribute of OM class Library-Error as "meaning
that the OM class of an argument is not supported for this operation." This
seems to mean that when an operation having an argument of type om_object is invoked, and when the value supplied for that argument is of type om_object but is not of one of the classes of object that the specification of the
operation permits for that argument, then this error condition arises, and a bad-class value should be returned. IEEE Std 1224.2-1993 does not in
fact appear to require that this value shall be returned, although (in 6.3.2) it
does require that the implementation shall not return a different value.

None of the operation descriptions in section 4 of IEEE Std 1224.2-1993 mention the bad-class error. The following operations have arguments of type om_object: ds_abandon, ds_add_entry, ds_bind, ds_compare, ds_list, ds_modify_entry, ds_modify_rdn, and ds_read, ds_receive_result, ds_remove_entry, ds_search, and ds_unbind. However, for several of these, the only arguments of type om_object are "session" or "context" arguments. More specific error values (bad-session and bad-context) are defined in 6.8.2 of IEEE Std 1224.2-1993 when invalid values are supplied for these kinds of arguments.

Subclause 8.8 of IEEE Std 1326.2-1993 (the test methods standard for IEEE Std 1224.2-1993) contains a general assertion that bad-class is returned when the OM class of an argument is not supported for the above operations, including those where the only arguments of type om_object are "session" or "context" arguments. Section 6 of IEEE Std 1326.2-1993 contains instantiations of this general assertion for these operations. However, subclause 8.8 and section 6 of IEEE Std 1326.2-1993 also contain assertions that bad-session and bad-context are returned when invalid values are supplied for "session" and "context."

How are these conflicting requirements to be interpreted?

Interpretation Response
IEEE Std 1224.2-1993 is inconsistent.

It should be interpreted as meaning that bad-class should not be returned by operations whose only arguments of type om_object are "session" or "contex" arguments, but that bad-class should be returned by the other operations mentioned.