PreviousNext

Object Identifiers

OM classes are uniquely identifiable by means of ASN.1 object identifiers. OM classes have mandatory and optional OM attributes. Each OM attribute has a type, value, and syntax. OM objects are instances of OM classes that are uniquely identifiable by means of ASN.1 object identifiers. The syntax of values defined for these OM object classes and OM attributes are representations at a higher level of abstraction so that implementers can provide the necessary high-level language binding for their own implementations of the various application interfaces, such as XDS API.

The DCE implementation uses C language to define the internal representation of OM classes and OM attributes. These definitions are supplied in the header files that are included as part of the XDS and XOM API.

OM classes are defined as symbolic constants that correspond to ASN.1 object identifiers. An ASN.1 object identifier is a sequence of integers that uniquely identifies a specific class. OM attribute type and syntax are defined as integer constants. These standardized definitions provide application programs with a uniform and stable naming environment in which to perform directory operations. Registration authorities are responsible for allocating the unique object identifiers.

The following code fragment from the xdsbdcp.h (the basic directory contents package) header file contains the symbolic constant OMP_O_DS_A_COUNTRY_NAME:


#ifndef dsP_attributeType /* joint-iso-ccitt(2) ds(5) attributeType(4)*/

#define dsP_attributeType(X) ("\x55\x04" #X)

#endif

#define OMP_O_DS_A_COUNTRY_NAME dsp_attributeType(\x06)

It resolves to 2.5.4.6, which is the object identifier value for the Country-Name attribute type as defined in the directory standard. The symbolic constant for the directory object class Country resolves to 2.5.6.2, the corresponding object identifier in the directory standard. OM classes are defined in the header files in the same manner.