IEEE Standards Interpretations for IEEE Std 1224.2™-1993 and IEEE Std 1327.2™-1993
Copyright © 1995 by the Institute of Electrical and Electronics, Engineers, Inc., 3 Park Avenue New York, New York 10016-5997 USA All Rights Reserved.
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.
IEEE Standards Department, Copyrights and Permissions, 445 Hoes Lane, Piscataway, New Jersey 08855-1331, USA
25 October 1995
Interpretation Request #1
Topic: DS_E_BAD_CLASS not specified in service call definitions Relevant Clauses: 6.8.2
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?
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.
This is being referred to the sponsor.
Rationale for interpretation