Here are the relevant changes:
In Section 3.3.8 Attribute Specification update the paragraphs on the bit
array support:
A management application can determine which attributes are supported
and whether the integer and/or the octet string values are supported
with meaningful value by querying the jmSystemAttrIntegerSupport and
jmSystemAttrOctetsSupport objects, respectively. Management
applications can also determine which supported attributes might
support more than one integer value or more than one octet string value
by querying jmSystemAttrMultiRowSupport.
These support bits are indicated in hex for each range in the line
starting with "support bits starting:". Note: these objects permit a
management application to determine the degree of support, even when
there are no jobs present in the system. They also permit management
middleware to fetch all attribute values for all jobs, including future
extensions, and keep them updated for one or more management
applications at the same time.
Replace the jmSystemAttributeSupport bit array object with the following
three bit array objects:
jmSystemAttrIntegerSupport OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A bit array indicating which attributes of the MIB this
implementation supports with meaningful integer values.
The value of this object is a sparse bit array in which bit n
is a 1 if attribute n is supported with the
jmAttributeValueAsInteger object with meaningful values, where
n is the value of the enumerated attribute type in the
JmAttributeTypeTC used in jmAttributeTypeIndex (and the
jmMirrorAttrTypeIndex if the jmMirrorAttrTable is implemented).
Bit n MUST be 0 (or beyond the end of the returned bit array),
if attribute n is not supported or is always returned with a '-
1'(other) or '-2'(unknown) value.
The high order bit of the first octet in this octet string
corresponds to an attribute type of 0 (reserved), i.e., the bit
string uses the Big Endian numbering convention. Compare with
the BITS data type in SMIv2 [SMIv2-SMI] which has the same
format but requires contiguous enumerated bits. Trailing
octets in the octet string that contain only zero bits MUST NOT
be returned.
Note: private attributes cannot be represented in this bit
array because their enum values are in the range 2**30 to
2**31-1. See section 3.3.8.
Example: An implementation supporting the attributes:
jobStateReasons2(3), jobStateReasons3(4), and jobName(23)
would return a one-octet string value of { '18'H }, since
jobName is an octet string value, not an integer value.
This object helps a management application determine which
attributes with meaningful integer values MAY be present on
jobs in this system."
DEFVAL { ''H } -- no attributes are required
::= { jmSystem 3 }
jmSystemAttrOctetsSupport OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A bit array indicating which attributes of the MIB this
implementation supports with meaningful octet string values.
The format and semantics of this object is the same as
jmSystemAttrIntegerSupport, except that bit n indicates that
attribute n supports the jmAttributeValueAsOctets object with
meaningful values, instead of the jmAttributeValueAsInteger
object. Bit n MUST be 0 (or beyond the end of the returned bit
array), if attribute n is not supported or is always returned
as a zero-length octet string value.
If an implementation supports both jmAttributeValueAsInteger
and jmAttributeValueAsOctets with meaningful values for
attribute n, bit n MUST appear in both bit array objects with a
1 value.
Example: An implementation supporting the attributes:
jobStateReasons2(3), jobStateReasons3(4), and jobName(23)
would return a three-octet string value of { '000001'H }, since
jobStateReasons2 and jobStateReasons3 are integer values, not
octet string values.
This object helps a management application determine which
attributes with meaningful octet string values MAY be present
on jobs in this system."
DEFVAL { ''H } -- no attributes are required
::= { jmSystem 4 }
jmSystemAttrMultiRowSupport OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A bit array indicating which MULTI-ROW attributes of the MIB
this implementation supports with multiple integer values
and/or multiple octet string values.
The format of this object is the same as the
jmSystemAttrIntegerSupport and jmSystemAttrOctetsSupport
objects. Bit n MUST be 1, if attribute n is actually supported
with more than one integer and/or more than one octet string
value. Bit n MUST be 0 (or beyond the end of the returned bit
array), if attribute n is not supported, is always returned as
a single integer value, or as a single octet string value. For
every bit n that is a 1 in this bit array, there MUST be a
corresponding 1 for bit n in either jmSystemAttrIntegerSupport,
jmSystemAttrOctetsSupport, or both.
Example: Consider an implementation supporting:
(a) the jobStateReasons2(3), jobStateReasons3(4) SINGLE-ROW
integer attributes
(b) the jobName(23) SINGLE-ROW octet string attribute
(c) more than one integer value for the mediumRequested(170)
and mediumConsumed(171) MULTI-ROW attributes AND
(d) more than one octet string value for the fileName(34),
documentName(35), and mediumConsumed(171) MULTI-ROW attributes
(e) no octet string values for mediumRequested(170).
Such an implementation would return:
jmSystemAttrIntegerSupport 22 octets:
{ '18000000 00000000 00000000 00000000 00000000 0030'H }
jmSystemAttrOctetsSupport 22 octets:
{ '00000100 30000000 00000000 00000000 00000000 0010'H }
jmSystemAttrMultiRowSupport 22 octets:
{ '00000000 30000000 00000000 00000000 00000000 0030'H }
Example: Consider an implementation that supports the
fileName(34) MULTI-ROW attribute, but does not support more
than one document per job. Such an implementation would NOT
return a 1 bit for bit 34 in jmSystemAttrMultiRowSupport, since
such an implementation would never return more than one
fileName value for a job. It would return a zero-length
string, since it never returns more than one value.
This object helps a management application determine which
attributes may return more than one integer value or more than
one octet string value on jobs in this system."
DEFVAL { ''H } -- no attributes are required
::= { jmSystem 5 }
Tom Hastings, Ira McDonald, Paul Gloger, Gary Padlipsky, Mike Elvers, Ang
Caruso, Joe Filion
(310) 333-6413