Object Identifiers (OIDs) are the core of the NDPS information objects. OIDs define Object Classes, Value Classes, and even Attribute Value Syntaxes values of attributes if the syntax indicates OIDs as values. The following are names for some nodes within the global OID tree:
OIDs used for NDPS objects are taken from three arcs within the global OID tree and include:
The Document Printing Application (DPA) and the Printer MIB standards each define OIDs for its object classes. Each standard uses its unique arc from the global OID tree to define OIDs for object classes and attributes. DPA also uses OIDs for the values of some attributes. The Printer MIB does not use OIDs for any attribute value because the Printer MIB instantiates classes and attributes as tables or groups, each with its unique identifying OID.
For example, DPA defines the following OIDs for object classes and value classes:
Then, specific classes are defined using the id-oc OID. For example,
id-oc-job = id-oc.1 // DPA Job Class
Then, specific attributes for a class are defined by extending the OID for the class. For example,
id-att-job-owner = id-oc-job.3
NDPS has a fixed set of object classes. Both the object classes and attributes of those object classes are built with OIDs from the Novell® Applications NDPS arc in the global OID tree.
NDPS object classes and value classes are defined from the following:
The OID for each NDPS attribute contains a layer, immediately after the class designator, that indicates the source of the definition of the designated attribute. This additional layer makes each OID longer, but facilitates mapping with gateways that use the original DPA OIDs or the Printer MIB OIDs. This layer has the following values:
The vnd designator is provided to enable printer vendors to export unique capabilities of specific printers. This allows a printer vendor to extend an NDPS class by using this arc to define new attributes. The printer vendor is responsible for the administration of the OIDs in this arc. NDPS has no knowledge of the semantics of the attributes in this arc, but it can store the attributes and pass them through the system, making them available to print drivers or other programs provided by the vendor. The values of these attributes must use NDPS syntax.
For example, NDPS has a job object. Most of the attributes of the job object come from DPA. The Printer MIB does not have a job object, but NDPS supports the mib designator for all object classes. NDPS adds some attributes that are not defined in DPA. A printer vendor can also add some attributes. So, NDPS identifies an OID for the NDPS job object and additional OIDs for attributes, including the designator for the source of the attribute.
Specific attributes for that NDPS class are defined using the OID for the job class attribute map. For example, for attributes that come from DPA, the ndps-oc-job-dpa OID is used:
ndps-att-job-owner = ndps-oc-job-dpa.3
For attribute www that comes from the Printer MIB, the ndps-oc-xxx-mib OID is used:
ndps-att-xxx-www = ndps-oc-xxx-mib.yyy
For attributes that come from the unique characteristics of NDPS, the ndps-oc-xxx-dps OID is used:
ndps-att-xxx-www = ndps-oc-xxx-dps.yyy
For vendor-specific extensions of NDPS, the vendor zzz uses its number from the following:
For attribute extensions to classes that come from an NDPS vendor zzz, the ndps-oc-xxx-vnd OID is used:
ndps-att-xxx-www = ndps-oc-xxx-vnd.zzz.yyy
NOTE: This naming convention relies on each vendor to administer its own extensions to NDPS.
In summary, the attribute naming convention for NDPS attributes is as follows:
ndps-oc.<class>.<discriminator>.[vendor].<attribute>
Even though the attribute OIDs for NDPS objects are unique to NDPS, the values need not be. If an attribute in an NDPS object is the same as the attribute in one of the DPA objects, then even though the attributes have unique OIDs to show their membership to the correct object, it is neither necessary nor desirable that the values of that attribute be unique, especially if the value is an OID. For example, the values of the ndps-att-current-job-state attribute that come from DPA are implemented with the DPA-defined OIDs. The Printer MIB standard does not define OIDs for any values.
OIDs are created in each arc of the global OID tree for value classes, and then those value class OIDs are used to create OIDs for specific values.
For example, DPA defines the following OIDs for value classes:
id-vc = DPAOID.6 // DPA Value Classes
Then, specific values are defined using the id-vc OID. For example,
NDPS value classes are defined from the following:
ndps-vc = NA-dps.1 // NDPS-specific Value Class
Values that are unique to NDPS are then built from these value class OIDs. For example,
NDPS does not use syntax OIDs because performing OID comparisons each time an attribute is referenced is too expensive both in memory and performance. The syntax types change little compared with the attributes themselves, so NDPS uses defined enumerations to designate the syntax types. The following is a list of the attribute value syntaxes and their enumeration values: