Some macros have clauses which allows syntax to be refined, specifically: the SYNTAX clause of the OBJECT-TYPE macro, and the SYNTAX/WRITE-SYNTAX clauses of the MODULE-COMPLIANCE and AGENT- CAPABILITIES macros [2]. However, not all refinements of syntax are appropriate. In particular, the object's primitive or application type must not be changed.
Further, the following restrictions apply:
Restrictions to Refinement on
object syntax range enumeration size repertoire
----------------- ----- ----------- ---- ----------
INTEGER (1) (2) - -
Integer32 (1) - - -
Unsigned32 (1) - - -
OCTET STRING - - (3) (4)
OBJECT IDENTIFIER - - - -
BITS - (2) - -
IpAddress - - - -
Counter32 - - - -
Counter64 - - - -
Gauge32 (1) - - -
TimeTicks - - - -
where:
Otherwise no refinements are possible. Further details on sub-typing are provided in Appendix C.