Author: ctian
Date: Mon Sep 24 08:23:56 2007
New Revision: 52
Added:
trunk/asn.1/mib-browse.lisp
trunk/mibs/
trunk/mibs/IF-MIB.txt
trunk/mibs/SNMPv2-MIB.txt
trunk/mibs/SNMPv2-SMI.txt
Modified:
trunk/asn.1/asn.1-domain.lisp
trunk/asn.1/asn.1.tab
trunk/asn.1/asn.1.zb
trunk/asn.1/mib.lisp
trunk/asn.1/oid.lisp
trunk/asn.1/parse.lisp
trunk/asn.1/syntax.lisp
trunk/net-snmp.asd
Log:
MIB Browser and Local MIB Files
Modified: trunk/asn.1/asn.1-domain.lisp
==============================================================================
--- trunk/asn.1/asn.1-domain.lisp (original)
+++ trunk/asn.1/asn.1-domain.lisp Mon Sep 24 08:23:56 2007
@@ -35,58 +35,14 @@
(DEFSTRUCT (VALUE-ASSIGNMENT
(:INCLUDE KB-DOMAIN)
- (:PRINT-FUNCTION
- (LAMBDA
- (ITEM STREAM LEVEL &AUX
- (%R (VALUE-ASSIGNMENT-NAME ITEM))
- (%S (VALUE-ASSIGNMENT-TYPE ITEM))
- (%T (VALUE-ASSIGNMENT-VALUE ITEM)))
- (DECLARE (IGNORE LEVEL))
- (FORMAT STREAM "~a ~a::=~a" %R %S %T))))
+ (:PRINT-FUNCTION GENERATE-PRINT-FUNCTION))
NAME
TYPE
VALUE)
-(DEFSTRUCT (OBJECT-TYPE-ASSIGNMENT
- (:INCLUDE VALUE-ASSIGNMENT)
- (:PRINT-FUNCTION
- (LAMBDA
- (ITEM STREAM LEVEL &AUX
- (%R (OBJECT-TYPE-ASSIGNMENT-NAME ITEM))
- (%S (OBJECT-TYPE-ASSIGNMENT-SYNTAX ITEM))
- (%T (OBJECT-TYPE-ASSIGNMENT-MAX-ACCESS ITEM))
- (%U (OBJECT-TYPE-ASSIGNMENT-STATUS ITEM))
- (%V (OBJECT-TYPE-ASSIGNMENT-DESCRIPTION ITEM))
- (%W (OBJECT-TYPE-ASSIGNMENT-INDEX ITEM))
- (%X (OBJECT-TYPE-ASSIGNMENT-VALUE ITEM)))
- (DECLARE (IGNORE LEVEL))
- (FORMAT STREAM
- "~a OBJECT-TYPESYNTAX ~a MAX-ACCESS ~a STATUS ~a DESCRIPTION ~s ~a::=~a"
- %R
- %S
- %T
- %U
- %V
- %W
- %X))))
- SYNTAX
- MAX-ACCESS
- STATUS
- DESCRIPTION
- INDEX)
-
(DEFSTRUCT (ASSIGNMENT
(:INCLUDE KB-DOMAIN)
- (:PRINT-FUNCTION
- (LAMBDA
- (ITEM STREAM LEVEL &AUX (%R (ASSIGNMENT-VALUE ITEM)))
- (DECLARE (IGNORE LEVEL))
- (FORMAT STREAM
- "~a"
- (LET ((TYPE-ASSIGNMENT %R))
- (ZEBU::KB-SEQUENCE-PRINT TYPE-ASSIGNMENT
- NIL
- NIL))))))
+ (:PRINT-FUNCTION GENERATE-PRINT-FUNCTION))
TYPE
VALUE)
@@ -182,111 +138,181 @@
IDENTIFIER
BODY)
-(DEFUN ASSIGNMENT*30 (ASSIGNMENT ASSIGNMENT*)
+(DEFUN ASSIGNMENT*1074 (ASSIGNMENT ASSIGNMENT*)
(MAKE-KB-SEQUENCE :FIRST ASSIGNMENT :REST ASSIGNMENT*))
-(DEFUN SYMBOL*\,1$31 (SYMBOL |Rest-SYMBOL*,1$|)
+(DEFUN SYMBOL*\,1$1075 (SYMBOL |Rest-SYMBOL*,1$|)
(MAKE-KB-SEQUENCE :FIRST SYMBOL :REST |Rest-SYMBOL*,1$|))
-(DEFUN |Rest-SYMBOL*,1$32| (DUMMY SYMBOL |Rest-SYMBOL*,1$|)
+(DEFUN |Rest-SYMBOL*,1$1076| (DUMMY SYMBOL |Rest-SYMBOL*,1$|)
(DECLARE (IGNORE DUMMY))
(MAKE-KB-SEQUENCE :FIRST SYMBOL :REST |Rest-SYMBOL*,1$|))
-(DEFUN SYMBOLS-FROM-MODULE*33
+(DEFUN SYMBOLS-FROM-MODULE*1077
(SYMBOLS-FROM-MODULE SYMBOLS-FROM-MODULE*)
(MAKE-KB-SEQUENCE :FIRST
SYMBOLS-FROM-MODULE
:REST
SYMBOLS-FROM-MODULE*))
-(DEFUN SYMBOL+\,1$34 (SYMBOL) (MAKE-KB-SEQUENCE :FIRST SYMBOL))
+(DEFUN SYMBOL+\,1$1078 (SYMBOL) (MAKE-KB-SEQUENCE :FIRST SYMBOL))
-(DEFUN SYMBOL+\,1$35 (SYMBOL DUMMY SYMBOL+\,1$)
+(DEFUN SYMBOL+\,1$1079 (SYMBOL DUMMY SYMBOL+\,1$)
(DECLARE (IGNORE DUMMY))
(MAKE-KB-SEQUENCE :FIRST SYMBOL :REST SYMBOL+\,1$))
-(DEFUN GARBAGE+36 (GARBAGE) (MAKE-KB-SEQUENCE :FIRST GARBAGE))
+(DEFUN GARBAGE+1080 (GARBAGE) (MAKE-KB-SEQUENCE :FIRST GARBAGE))
-(DEFUN GARBAGE+37 (GARBAGE GARBAGE+)
+(DEFUN GARBAGE+1081 (GARBAGE GARBAGE+)
(MAKE-KB-SEQUENCE :FIRST GARBAGE :REST GARBAGE+))
-(DEFUN MODULE-REVISION*38 (MODULE-REVISION MODULE-REVISION*)
+(DEFUN MODULE-REVISION*1082 (MODULE-REVISION MODULE-REVISION*)
(MAKE-KB-SEQUENCE :FIRST MODULE-REVISION :REST MODULE-REVISION*))
-(DEFUN IDENTIFIER+\,1$39 (IDENTIFIER)
+(DEFUN IDENTIFIER+\,1$1083 (IDENTIFIER)
(MAKE-KB-SEQUENCE :FIRST IDENTIFIER))
-(DEFUN IDENTIFIER+\,1$40 (IDENTIFIER DUMMY IDENTIFIER+\,1$)
+(DEFUN IDENTIFIER+\,1$1084 (IDENTIFIER DUMMY IDENTIFIER+\,1$)
(DECLARE (IGNORE DUMMY))
(MAKE-KB-SEQUENCE :FIRST IDENTIFIER :REST IDENTIFIER+\,1$))
-(DEFUN MODULE-COMPLIANCE-GROUP+41 (MODULE-COMPLIANCE-GROUP)
- (MAKE-KB-SEQUENCE :FIRST MODULE-COMPLIANCE-GROUP))
-
-(DEFUN MODULE-COMPLIANCE-GROUP+42
- (MODULE-COMPLIANCE-GROUP MODULE-COMPLIANCE-GROUP+)
+(DEFUN MODULE-COMPLIANCE-GROUP*1085
+ (MODULE-COMPLIANCE-GROUP MODULE-COMPLIANCE-GROUP*)
(MAKE-KB-SEQUENCE :FIRST
MODULE-COMPLIANCE-GROUP
:REST
- MODULE-COMPLIANCE-GROUP+))
+ MODULE-COMPLIANCE-GROUP*))
-(DEFUN OBJ-ID-COMPONENT+43 (OBJ-ID-COMPONENT)
+(DEFUN MODULE-COMPLIANCE-OBJECT*1086
+ (MODULE-COMPLIANCE-OBJECT MODULE-COMPLIANCE-OBJECT*)
+ (MAKE-KB-SEQUENCE :FIRST
+ MODULE-COMPLIANCE-OBJECT
+ :REST
+ MODULE-COMPLIANCE-OBJECT*))
+
+(DEFUN OBJ-ID-COMPONENT+1087 (OBJ-ID-COMPONENT)
(MAKE-KB-SEQUENCE :FIRST OBJ-ID-COMPONENT))
-(DEFUN OBJ-ID-COMPONENT+44 (OBJ-ID-COMPONENT OBJ-ID-COMPONENT+)
+(DEFUN OBJ-ID-COMPONENT+1088 (OBJ-ID-COMPONENT OBJ-ID-COMPONENT+)
(MAKE-KB-SEQUENCE :FIRST OBJ-ID-COMPONENT :REST OBJ-ID-COMPONENT+))
-(DEFUN NAMED-NUMBER+\,1$45 (NAMED-NUMBER)
+(DEFUN NAMED-NUMBER+\,1$1089 (NAMED-NUMBER)
(MAKE-KB-SEQUENCE :FIRST NAMED-NUMBER))
-(DEFUN NAMED-NUMBER+\,1$46 (NAMED-NUMBER DUMMY NAMED-NUMBER+\,1$)
+(DEFUN NAMED-NUMBER+\,1$1090 (NAMED-NUMBER DUMMY NAMED-NUMBER+\,1$)
(DECLARE (IGNORE DUMMY))
(MAKE-KB-SEQUENCE :FIRST NAMED-NUMBER :REST NAMED-NUMBER+\,1$))
-(DEFUN GARBAGE*47 (GARBAGE GARBAGE*)
+(DEFUN GARBAGE*1091 (GARBAGE GARBAGE*)
(MAKE-KB-SEQUENCE :FIRST GARBAGE :REST GARBAGE*))
-(DEFUN NAME-AND-NUMBER-FORM48 (IDENTIFIER DUMMY NUMBER-FORM DUMMY1)
+(DEFUN NAME-AND-NUMBER-FORM1092 (IDENTIFIER DUMMY NUMBER-FORM DUMMY1)
(DECLARE (IGNORE DUMMY1 DUMMY))
(MAKE-OBJ-ID-COMPONENT :NAME IDENTIFIER :VALUE NUMBER-FORM))
-(DEFUN OBJECT-IDENTIFIER-VALUE49 (DUMMY OBJ-ID-COMPONENT+ DUMMY1)
+(DEFUN OBJECT-IDENTIFIER-VALUE1093 (DUMMY OBJ-ID-COMPONENT+ DUMMY1)
(DECLARE (IGNORE DUMMY1 DUMMY))
(MAKE-OBJECT-IDENTIFIER-VALUE :VALUE OBJ-ID-COMPONENT+))
-(DEFUN VALUE-ASSIGNMENT50 (VALUE-REFERENCE TYPE DUMMY VALUE)
+(DEFUN VALUE-ASSIGNMENT1094 (IDENTIFIER TYPE DUMMY VALUE)
(DECLARE (IGNORE DUMMY))
- (MAKE-VALUE-ASSIGNMENT :NAME VALUE-REFERENCE :TYPE TYPE :VALUE VALUE))
+ (MAKE-VALUE-ASSIGNMENT :NAME IDENTIFIER :TYPE TYPE :VALUE VALUE))
-(DEFUN VALUE-ASSIGNMENT51
- (VALUE-REFERENCE DUMMY DUMMY1 TYPE DUMMY2 OBJECT-TYPE-ACCESS
- DUMMY3 OBJECT-TYPE-STATUS DUMMY4 STRING OBJECT-TYPE-INDEX
- DUMMY5 OBJECT-IDENTIFIER-VALUE)
+(DEFUN VALUE-ASSIGNMENT1095
+ (IDENTIFIER DUMMY DUMMY1 STATUS DUMMY2 DESCRIPTION DUMMY3
+ OBJECT-IDENTIFIER-VALUE)
+ (DECLARE (IGNORE DUMMY3 DUMMY2 DUMMY1 DUMMY))
+ (MAKE-VALUE-ASSIGNMENT :NAME
+ IDENTIFIER
+ :TYPE
+ :OBJECT-IDENTITY
+ :VALUE
+ OBJECT-IDENTIFIER-VALUE))
+
+(DEFUN VALUE-ASSIGNMENT1096
+ (IDENTIFIER DUMMY DUMMY1 LAST-UPDATED DUMMY2 ORGANIZATION DUMMY3
+ CONTACT-INFO DUMMY4 DESCRIPTION MODULE-REVISION* DUMMY5
+ OBJECT-IDENTIFIER-VALUE)
+ (DECLARE (IGNORE DUMMY5 DUMMY4 DUMMY3 DUMMY2 DUMMY1 DUMMY))
+ (MAKE-VALUE-ASSIGNMENT :NAME
+ IDENTIFIER
+ :TYPE
+ :MODULE-IDENTITY
+ :VALUE
+ OBJECT-IDENTIFIER-VALUE))
+
+(DEFUN VALUE-ASSIGNMENT1097
+ (IDENTIFIER DUMMY DUMMY1 TYPE DUMMY2 MAX-ACCESS DUMMY3 STATUS
+ DUMMY4 DESCRIPTION OBJECT-TYPE-INDEX OBJECT-TYPE-AUGMENTS
+ OBJECT-TYPE-DEFVAL DUMMY5 OBJECT-IDENTIFIER-VALUE)
(DECLARE (IGNORE DUMMY5 DUMMY4 DUMMY3 DUMMY2 DUMMY1 DUMMY))
- (MAKE-OBJECT-TYPE-ASSIGNMENT :NAME
- VALUE-REFERENCE
- :TYPE
- :OBJECT-TYPE
- :SYNTAX
- TYPE
- :MAX-ACCESS
- OBJECT-TYPE-ACCESS
- :STATUS
- OBJECT-TYPE-STATUS
- :DESCRIPTION
- STRING
- :INDEX
- OBJECT-TYPE-INDEX
- :VALUE
- OBJECT-IDENTIFIER-VALUE))
+ (MAKE-VALUE-ASSIGNMENT :NAME
+ IDENTIFIER
+ :TYPE
+ :OBJECT-TYPE
+ :VALUE
+ OBJECT-IDENTIFIER-VALUE))
+
+(DEFUN VALUE-ASSIGNMENT1098
+ (IDENTIFIER DUMMY NOTIFICATION-TYPE-OBJECTS DUMMY1 STATUS DUMMY2
+ DESCRIPTION DUMMY3 OBJECT-IDENTIFIER-VALUE)
+ (DECLARE (IGNORE DUMMY3 DUMMY2 DUMMY1 DUMMY))
+ (MAKE-VALUE-ASSIGNMENT :NAME
+ IDENTIFIER
+ :TYPE
+ :NOTIFICATION-TYPE
+ :VALUE
+ OBJECT-IDENTIFIER-VALUE))
+
+(DEFUN VALUE-ASSIGNMENT1099
+ (IDENTIFIER DUMMY DUMMY1 DUMMY2 IDENTIFIER+\,1$ DUMMY3 DUMMY4
+ STATUS DUMMY5 DESCRIPTION DUMMY6 OBJECT-IDENTIFIER-VALUE)
+ (DECLARE (IGNORE DUMMY6 DUMMY5 DUMMY4 DUMMY3 DUMMY2 DUMMY1 DUMMY))
+ (MAKE-VALUE-ASSIGNMENT :NAME
+ IDENTIFIER
+ :TYPE
+ :NOTIFICATION-GROUP
+ :VALUE
+ OBJECT-IDENTIFIER-VALUE))
+
+(DEFUN VALUE-ASSIGNMENT1100
+ (IDENTIFIER DUMMY DUMMY1 STATUS DUMMY2 DESCRIPTION DUMMY3 DUMMY4
+ DUMMY5 IDENTIFIER+\,1$ DUMMY6 MODULE-COMPLIANCE-GROUP*
+ MODULE-COMPLIANCE-OBJECT* DUMMY7 OBJECT-IDENTIFIER-VALUE)
+ (DECLARE (IGNORE
+ DUMMY7
+ DUMMY6
+ DUMMY5
+ DUMMY4
+ DUMMY3
+ DUMMY2
+ DUMMY1
+ DUMMY))
+ (MAKE-VALUE-ASSIGNMENT :NAME
+ IDENTIFIER
+ :TYPE
+ :MODULE-COMPLIANCE
+ :VALUE
+ OBJECT-IDENTIFIER-VALUE))
+
+(DEFUN VALUE-ASSIGNMENT1101
+ (IDENTIFIER DUMMY DUMMY1 DUMMY2 IDENTIFIER+\,1$ DUMMY3 DUMMY4
+ STATUS DUMMY5 DESCRIPTION DUMMY6 OBJECT-IDENTIFIER-VALUE)
+ (DECLARE (IGNORE DUMMY6 DUMMY5 DUMMY4 DUMMY3 DUMMY2 DUMMY1 DUMMY))
+ (MAKE-VALUE-ASSIGNMENT :NAME
+ IDENTIFIER
+ :TYPE
+ :OBJECT-GROUP
+ :VALUE
+ OBJECT-IDENTIFIER-VALUE))
-(DEFUN ASSIGNMENT52 (TYPE-ASSIGNMENT)
+(DEFUN ASSIGNMENT1102 (TYPE-ASSIGNMENT)
(MAKE-ASSIGNMENT :TYPE :TYPE :VALUE TYPE-ASSIGNMENT))
-(DEFUN ASSIGNMENT53 (VALUE-ASSIGNMENT)
+(DEFUN ASSIGNMENT1103 (VALUE-ASSIGNMENT)
(MAKE-ASSIGNMENT :TYPE :VALUE :VALUE VALUE-ASSIGNMENT))
-(DEFUN SYMBOLS-FROM-MODULE54
+(DEFUN SYMBOLS-FROM-MODULE1104
(SYMBOL+\,1$ DUMMY GLOBAL-MODULE-REFERENCE)
(DECLARE (IGNORE DUMMY))
(MAKE-SYMBOLS-FROM-MODULE :SYMBOLS
@@ -294,19 +320,19 @@
:GLOBAL-MODULE-REFERENCE
GLOBAL-MODULE-REFERENCE))
-(DEFUN IMPORTS55 (DUMMY SYMBOLS-FROM-MODULE* DUMMY1)
+(DEFUN IMPORTS1105 (DUMMY SYMBOLS-FROM-MODULE* DUMMY1)
(DECLARE (IGNORE DUMMY1 DUMMY))
(MAKE-IMPORTS :VALID T :LIST SYMBOLS-FROM-MODULE*))
-(DEFUN EXPORTS56 (DUMMY SYMBOL*\,1$ DUMMY1)
+(DEFUN EXPORTS1106 (DUMMY SYMBOL*\,1$ DUMMY1)
(DECLARE (IGNORE DUMMY1 DUMMY))
(MAKE-EXPORTS :LIST SYMBOL*\,1$))
-(DEFUN EXPORTS57 (DUMMY DUMMY1 DUMMY2)
+(DEFUN EXPORTS1107 (DUMMY DUMMY1 DUMMY2)
(DECLARE (IGNORE DUMMY2 DUMMY1 DUMMY))
(MAKE-EXPORTS :ALL-EXPORTS T))
-(DEFUN MODULE-BODY58 (EXPORTS IMPORTS ASSIGNMENT*)
+(DEFUN MODULE-BODY1108 (EXPORTS IMPORTS ASSIGNMENT*)
(MAKE-MODULE-BODY :ASSIGNMENT-LIST
ASSIGNMENT*
:EXPORTS
@@ -314,7 +340,7 @@
:IMPORTS
IMPORTS))
-(DEFUN MODULE-DEFINITION59
+(DEFUN MODULE-DEFINITION1109
(MODULE-IDENTIFIER DUMMY DUMMY1 DUMMY2 MODULE-BODY DUMMY3)
(DECLARE (IGNORE DUMMY3 DUMMY2 DUMMY1 DUMMY))
(MAKE-MODULE-DEFINITION :IDENTIFIER
Modified: trunk/asn.1/asn.1.tab
==============================================================================
--- trunk/asn.1/asn.1.tab (original)
+++ trunk/asn.1/asn.1.tab Mon Sep 24 08:23:56 2007
@@ -1,264 +1,303 @@
-(:FILE "/home/binghe/cl-net-snmp/asn.1/asn.1.zb" :NAME "ASN.1" :DOMAIN-FILE "asn.1-domain.lisp" :PACKAGE "ASN.1" :GRAMMAR "zebu-mg" :IDENTIFIER-START-CHARS "abcdefghijklmnopqrstuvwxyz" :IDENTIFIER-CONTINUE-CHARS "-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" :CASE-SENSITIVE T :LEX-CATS ((TYPE-REFERENCE "[A-Z][a-zA-Z0-9-]*") (SIGNED-NUMBER "-?[0-9]+") (ANYTHING "[^ ]+")) :DOMAIN (KB-DOMAIN :SUBTYPE (OBJ-ID-COMPONENT :SLOTS (NAME VALUE)) :SUBTYPE (OBJECT-IDENTIFIER-VALUE :SLOTS (VALUE)) :SUBTYPE (VALUE-ASSIGNMENT :SLOTS (NAME TYPE VALUE) :SUBTYPE (OBJECT-TYPE-ASSIGNMENT :SLOTS (SYNTAX MAX-ACCESS STATUS DESCRIPTION INDEX))) :SUBTYPE (ASSIGNMENT :SLOTS (TYPE VALUE)) :SUBTYPE (SYMBOLS-FROM-MODULE :SLOTS (SYMBOLS GLOBAL-MODULE-REFERENCE)) :SUBTYPE (IMPORTS :SLOTS ((LIST KB-SEQUENCE) VALID)) :SUBTYPE (EXPORTS :SLOTS ((LIST KB-SEQUENCE) ALL-EXPORTS)) :SUBTYPE (MODULE-BODY :SLOTS (EXPORTS IMPORTS (ASSIGNMENT-LIST KB-SEQUENCE))) :SUBTYPE (MODULE-DEFINITION :SLOTS (IDENTIFIER BODY))) :DOMAIN-FILE "/home/binghe/cl-net-snmp/asn.1/asn.1-domain.lisp")
-#125(ZEBU::THE-EMPTY-STRING ZEBU::AUGMENTED-START ZEBU::THE-END-G-SYMBOL MODULE-DEFINITION MODULE-IDENTIFIER "DEFINITIONS" "::=" "BEGIN" MODULE-BODY "END" MODULE-REFERENCE TYPE-REFERENCE EXPORTS IMPORTS ASSIGNMENT* "EXPORTS" SYMBOL*\,1$ ";" "ALL" SYMBOL REFERENCE "IMPORTS" SYMBOLS-FROM-MODULE* SYMBOLS-FROM-MODULE SYMBOL+\,1$ "FROM" GLOBAL-MODULE-REFERENCE VALUE-REFERENCE IDENTIFIER ASSIGNMENT TYPE-ASSIGNMENT VALUE-ASSIGNMENT TYPE "MACRO" GARBAGE+ GARBAGE ANYTHING VALUE "OBJECT-IDENTITY" "STATUS" "DESCRIPTION" STRING OBJECT-IDENTIFIER-VALUE "MODULE-IDENTITY" "LAST-UPDATED" "ORGANIZATION" "CONTACT-INFO" MODULE-REVISION* "OBJECT-TYPE" "SYNTAX" "MAX-ACCESS" OBJECT-TYPE-ACCESS OBJECT-TYPE-STATUS OBJECT-TYPE-INDEX "NOTIFICATION-TYPE" "NOTIFICATION-GROUP" "NOTIFICATIONS" "{" IDENTIFIER+\,1$ "}" "MODULE-COMPLIANCE" "MODULE" "MANDATORY-GROUPS" MODULE-COMPLIANCE-GROUP+ "OBJECT-GROUP" "OBJECTS" MODULE-REVISION "REVISION" "INDEX" MODULE-COMPLIANCE-GROUP "GROUP" BUILTIN-TYPE NAMED-TYPE OBJECT-IDENTIFIER-TYPE CHOICE-TYPE STRING-TYPE INTEGER-TYPE SEQUENCE-OF-TYPE SEQUENCE-TYPE TEXTUAL-CONVENTION-TYPE TAGGED-TYPE "TEXTUAL-CONVENTION" TEXTUAL-CONVENTION-DISPLAY-HINT TEXTUAL-CONVENTION-REFERENCE "DISPLAY-HINT" "REFERENCE" "OBJECT" "IDENTIFIER" BUILTIN-VALUE OBJ-ID-COMPONENT+ OBJ-ID-COMPONENT NAME-AND-NUMBER-FORM NAME-FORM NUMBER-FORM "(" ")" NUMBER "CHOICE" "OCTET" "STRING" STRING-OPTIONS "DisplayString" "SIZE" NUMBERS SIGNED-NUMBER "|" ".." "INTEGER" NAMED-NUMBER+\,1$ NAMED-NUMBER "SEQUENCE" GARBAGE* "OF" TAG "IMPLICIT" "EXPLICIT" "[" CLASS CLASS-NUMBER "]" "UNIVERSAL" "APPLICATION" "PRIVATE" "," |Rest-SYMBOL*,1$| )
+(:FILE "/home/binghe/cl-net-snmp/asn.1/asn.1.zb" :NAME "ASN.1" :DOMAIN-FILE "asn.1-domain.lisp" :PACKAGE "ASN.1" :GRAMMAR "zebu-mg" :IDENTIFIER-START-CHARS "abcdefghijklmnopqrstuvwxyz" :IDENTIFIER-CONTINUE-CHARS "-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" :CASE-SENSITIVE T :LEX-CATS ((TYPE-REFERENCE "[A-Z][a-zA-Z0-9-]*") (SIGNED-NUMBER "-?[0-9]+") (ANYTHING "[^ ]+")) :DOMAIN (KB-DOMAIN :SUBTYPE (OBJ-ID-COMPONENT :SLOTS (NAME VALUE)) :SUBTYPE (OBJECT-IDENTIFIER-VALUE :SLOTS (VALUE)) :SUBTYPE (VALUE-ASSIGNMENT :SLOTS (NAME TYPE VALUE)) :SUBTYPE (ASSIGNMENT :SLOTS (TYPE VALUE)) :SUBTYPE (SYMBOLS-FROM-MODULE :SLOTS (SYMBOLS GLOBAL-MODULE-REFERENCE)) :SUBTYPE (IMPORTS :SLOTS ((LIST KB-SEQUENCE) VALID)) :SUBTYPE (EXPORTS :SLOTS ((LIST KB-SEQUENCE) ALL-EXPORTS)) :SUBTYPE (MODULE-BODY :SLOTS (EXPORTS IMPORTS (ASSIGNMENT-LIST KB-SEQUENCE))) :SUBTYPE (MODULE-DEFINITION :SLOTS (IDENTIFIER BODY))) :DOMAIN-FILE "/home/binghe/cl-net-snmp/asn.1/asn.1-domain.lisp")
+#139(ZEBU::THE-EMPTY-STRING ZEBU::AUGMENTED-START ZEBU::THE-END-G-SYMBOL MODULE-DEFINITION MODULE-IDENTIFIER "DEFINITIONS" "::=" "BEGIN" MODULE-BODY "END" MODULE-REFERENCE TYPE-REFERENCE EXPORTS IMPORTS ASSIGNMENT* "EXPORTS" SYMBOL*\,1$ ";" "ALL" SYMBOL REFERENCE "IMPORTS" SYMBOLS-FROM-MODULE* SYMBOLS-FROM-MODULE SYMBOL+\,1$ "FROM" GLOBAL-MODULE-REFERENCE IDENTIFIER ASSIGNMENT TYPE-ASSIGNMENT VALUE-ASSIGNMENT TYPE "MACRO" GARBAGE+ GARBAGE ANYTHING VALUE "OBJECT-IDENTITY" "STATUS" STATUS "DESCRIPTION" DESCRIPTION OBJECT-IDENTIFIER-VALUE "MODULE-IDENTITY" "LAST-UPDATED" LAST-UPDATED "ORGANIZATION" ORGANIZATION "CONTACT-INFO" CONTACT-INFO MODULE-REVISION* "OBJECT-TYPE" "SYNTAX" "MAX-ACCESS" MAX-ACCESS OBJECT-TYPE-INDEX OBJECT-TYPE-AUGMENTS OBJECT-TYPE-DEFVAL "NOTIFICATION-TYPE" NOTIFICATION-TYPE-OBJECTS "NOTIFICATION-GROUP" "NOTIFICATIONS" "{" IDENTIFIER+\,1$ "}" "MODULE-COMPLIANCE" "MODULE" "MANDATORY-GROUPS" MODULE-COMPLIANCE-GROUP* MODULE-COMPLIANCE-OBJECT* "OBJECT-GROUP" "OBJECTS" MIN-ACCESS STRING MODULE-REVISION "REVISION" "INDEX" "AUGMENTS" "DEFVAL" MODULE-COMPLIANCE-GROUP "GROUP" MODULE-COMPLIANCE-OBJECT "OBJECT" MODULE-COMPLIANCE-OBJECT-SYNTAX "MIN-ACCESS" BUILTIN-TYPE NAMED-TYPE OBJECT-IDENTIFIER-TYPE CHOICE-TYPE STRING-TYPE INTEGER-TYPE SEQUENCE-OF-TYPE SEQUENCE-TYPE TEXTUAL-CONVENTION-TYPE TAGGED-TYPE "TEXTUAL-CONVENTION" TEXTUAL-CONVENTION-DISPLAY-HINT TEXTUAL-CONVENTION-REFERENCE "DISPLAY-HINT" "REFERENCE" "IDENTIFIER" BUILTIN-VALUE OBJ-ID-COMPONENT+ OBJ-ID-COMPONENT NAME-AND-NUMBER-FORM NAME-FORM NUMBER-FORM "(" ")" NUMBER "CHOICE" "OCTET" "STRING" STRING-OPTIONS "DisplayString" "SIZE" NUMBERS SIGNED-NUMBER "|" ".." "INTEGER" NAMED-NUMBER+\,1$ "Integer32" NAMED-NUMBER "SEQUENCE" GARBAGE* "OF" TAG "IMPLICIT" "EXPLICIT" "[" CLASS CLASS-NUMBER "]" "UNIVERSAL" "APPLICATION" "PRIVATE" "," |Rest-SYMBOL*,1$| )
-#64(5 6 7 9 11 15 17 18 21 25 28 33 36 38 39 40 41 43 44 45 46 48 49 50 54 55 56 57 59 60 61 62 64 65 67 68 70 81 84 85 86 87 94 95 96 97 98 99 101 102 104 105 106 107 110 112 114 115 116 119 120 121 122 123 )
+#68(5 6 7 9 11 15 17 18 21 25 27 32 35 37 38 40 43 44 46 48 51 52 53 58 60 61 62 64 65 66 67 70 71 73 75 76 77 78 80 82 84 95 98 99 100 107 108 109 110 111 112 114 115 117 118 119 120 122 124 126 128 129 130 133 134 135 136 137 )
-#108((1 . 1)(3 . 6)(4 . 1)(10 . 1)(8 . 3)(8 . 0)(12 . 3)(12 . 3)(12 . 0)(19 . 1)(13 . 3)(13 . 0)(23 . 3)(26 . 1)(20 . 1)(20 . 1)(27 . 1)(29 . 1)(29 . 1)(30 . 3)(30 . 6)(35 . 1)(31 . 4)(31 . 8)(31 . 13)(31 . 13)(31 . 8)(31 . 12)(31 . 14)(31 . 12)(51 . 1)(52 . 1)(66 . 4)(53 . 2)(53 . 0)(69 . 4)(32 . 1)(32 . 1)(71 . 1)(71 . 1)(71 . 1)(71 . 1)(71 . 1)(71 . 1)(71 . 1)(71 . 1)(72 . 1)(79 . 9)(82 . 2)(82 . 0)(83 . 2)(83 . 0)(73 . 2)(37 . 1)(88 . 1)(42 . 3)(90 . 1)(90 . 1)(90 . 1)(91 . 4)(92 . 1)(93 . 1)(74 . 4)(75 . 3)(75 . 2)(100 . 6)(100 . 0)(103 . 3)(103 . 3)(103 . 1)(76 . 6)(76 . 4)(109 . 4)(78 . 4)(77 . 3)(80 . 2)(80 . 3)(80 . 3)(113 . 4)(118 . 1)(117 . 1)(117 . 1)(117 . 1)(117 . 0)(111 . 0)(111 . 2)(108 . 1)(108 . 3)(89 . 1)(89 . 2)(63 . 1)(63 . 2)(58 . 1)(58 . 3)(47 . 0)(47 . 2)(34 . 1)(34 . 2)(24 . 1)(24 . 3)(22 . 0)(22 . 2)(124 . 0)(124 . 3)(16 . 0)(16 . 2)(14 . 0)(14 . 2))
+#125((1 . 1)(3 . 6)(4 . 1)(10 . 1)(8 . 3)(8 . 0)(12 . 3)(12 . 3)(12 . 0)(19 . 1)(13 . 3)(13 . 0)(23 . 3)(26 . 1)(20 . 1)(20 . 1)(28 . 1)(28 . 1)(29 . 3)(29 . 6)(34 . 1)(30 . 4)(30 . 8)(30 . 13)(30 . 15)(30 . 9)(30 . 12)(30 . 15)(30 . 12)(39 . 1)(54 . 1)(72 . 1)(41 . 1)(45 . 1)(47 . 1)(49 . 1)(74 . 4)(55 . 4)(55 . 0)(56 . 4)(56 . 0)(57 . 4)(57 . 0)(79 . 4)(81 . 7)(83 . 2)(83 . 0)(59 . 4)(59 . 0)(31 . 1)(31 . 1)(85 . 1)(85 . 1)(85 . 1)(85 . 1)(85 . 1)(85 . 1)(85 . 1)(85 . 1)(86 . 1)(93 . 9)(96 . 2)(96 . 0)(97 . 2)(97 . 0)(87 . 2)(36 . 1)(101 . 1)(42 . 3)(103 . 1)(103 . 1)(103 . 1)(104 . 4)(105 . 1)(106 . 1)(88 . 4)(89 . 3)(89 . 2)(113 . 6)(113 . 0)(116 . 3)(116 . 3)(116 . 1)(90 . 6)(90 . 4)(90 . 6)(90 . 1)(123 . 4)(92 . 4)(91 . 3)(94 . 2)(94 . 3)(94 . 3)(127 . 4)(132 . 1)(131 . 1)(131 . 1)(131 . 1)(131 . 0)(125 . 0)(125 . 2)(121 . 1)(121 . 3)(102 . 1)(102 . 2)(69 . 0)(69 . 2)(68 . 0)(68 . 2)(63 . 1)(63 . 3)(50 . 0)(50 . 2)(33 . 1)(33 . 2)(24 . 1)(24 . 3)(22 . 0)(22 . 2)(138 . 0)(138 . 3)(16 . 0)(16 . 2)(14 . 0)(14 . 2))
-#249(
+#288(
((11 :S 9))
((2 :A 0))
((5 :S 3))
((6 :S 4))
((7 :S 5))
-((9 :R 5) (11 :R 8) (15 :S 235) (21 :R 8) (28 :R 8))
+((9 :R 5) (11 :R 8) (15 :S 274) (21 :R 8) (27 :R 8))
((9 :S 7))
((2 :R 1))
((5 :R 2))
-((5 :R 3) (11 :R 3) (17 :R 3) (28 :R 3))
-((9 :R 11) (11 :R 11) (21 :S 18) (28 :R 11))
-((9 :R 106) (11 :S 236) (28 :S 27))
+((5 :R 3) (11 :R 3) (17 :R 3) (27 :R 3))
+((9 :R 11) (11 :R 11) (21 :S 18) (27 :R 11))
+((9 :R 123) (11 :S 275) (27 :S 287))
((9 :R 4))
((17 :S 14))
-((9 :R 6) (11 :R 6) (21 :R 6) (28 :R 6))
+((9 :R 6) (11 :R 6) (21 :R 6) (27 :R 6))
((17 :S 16))
-((9 :R 7) (11 :R 7) (21 :R 7) (28 :R 7))
-((17 :R 9) (25 :R 9) (123 :R 9))
-((11 :S 25) (17 :R 100) (28 :S 27))
+((9 :R 7) (11 :R 7) (21 :R 7) (27 :R 7))
+((17 :R 9) (25 :R 9) (137 :R 9))
+((11 :S 25) (17 :R 117) (27 :S 26))
((17 :S 20))
-((9 :R 10) (11 :R 10) (28 :R 10))
+((9 :R 10) (11 :R 10) (27 :R 10))
((25 :S 22))
((11 :S 9))
-((11 :R 12) (17 :R 12) (28 :R 12))
-((11 :R 13) (17 :R 13) (28 :R 13))
-((17 :R 14) (25 :R 14) (123 :R 14))
-((17 :R 15) (25 :R 15) (123 :R 15))
-((11 :R 16) (17 :R 16) (25 :R 16) (38 :R 16) (43 :R 16) (48 :R 16) (54 :R 16) (55 :R 16) (60 :R 16) (64 :R 16) (81 :R 16) (86 :R 16) (97 :R 16) (98 :R 16) (101 :R 16) (107 :R 16) (110 :R 16) (116 :R 16) (123 :R 16))
-((9 :R 17) (11 :R 17) (28 :R 17))
-((9 :R 18) (11 :R 18) (28 :R 18))
-((11 :S 136) (81 :S 137) (86 :S 150) (97 :S 164) (98 :S 168) (101 :S 171) (107 :S 238) (110 :S 239) (116 :S 205))
-((9 :R 19) (11 :R 19) (28 :R 19))
-((6 :S 33))
-((7 :S 34))
-((36 :S 37))
-((9 :S 36))
-((9 :R 20) (11 :R 20) (28 :R 20))
-((9 :R 21) (36 :R 21) (59 :R 21))
-((6 :S 39))
-((57 :S 154))
-((9 :R 22) (11 :R 22) (28 :R 22))
-((39 :S 42))
-((28 :S 43))
-((40 :S 44))
-((41 :S 45))
-((6 :S 46))
-((57 :S 154))
-((9 :R 23) (11 :R 23) (28 :R 23))
-((44 :S 49))
-((41 :S 50))
-((45 :S 51))
-((41 :S 52))
-((46 :S 53))
-((41 :S 54))
-((40 :S 55))
-((41 :S 56))
-((6 :R 94) (67 :S 116))
-((6 :S 58))
-((57 :S 154))
-((9 :R 24) (11 :R 24) (28 :R 24))
-((49 :S 61))
-((11 :S 136) (81 :S 137) (86 :S 150) (97 :S 164) (98 :S 168) (101 :S 171) (107 :S 238) (110 :S 239) (116 :S 205))
-((50 :S 63))
-((28 :S 114))
-((39 :S 65))
-((28 :S 115))
-((40 :S 67))
-((41 :S 68))
-((6 :R 34) (68 :S 120))
-((6 :S 70))
-((57 :S 154))
-((9 :R 25) (11 :R 25) (28 :R 25))
-((39 :S 73))
-((28 :S 74))
-((40 :S 75))
-((41 :S 76))
-((6 :S 77))
-((57 :S 154))
-((9 :R 26) (11 :R 26) (28 :R 26))
-((56 :S 80))
-((57 :S 81))
-((28 :S 243))
-((59 :S 83))
-((39 :S 84))
-((28 :S 85))
-((40 :S 86))
-((41 :S 87))
-((6 :S 88))
-((57 :S 154))
-((9 :R 27) (11 :R 27) (28 :R 27))
-((39 :S 91))
-((28 :S 92))
-((40 :S 93))
-((41 :S 94))
-((61 :S 95))
-((62 :S 96))
-((57 :S 97))
-((28 :S 243))
-((59 :S 99))
-((70 :S 122))
-((6 :S 101))
-((57 :S 154))
-((9 :R 28) (11 :R 28) (28 :R 28))
-((65 :S 104))
-((57 :S 105))
-((28 :S 243))
-((59 :S 107))
-((39 :S 108))
-((28 :S 109))
-((40 :S 110))
-((41 :S 111))
-((6 :S 112))
-((57 :S 154))
-((9 :R 29) (11 :R 29) (28 :R 29))
-((39 :R 30))
+((11 :R 12) (17 :R 12) (27 :R 12))
+((11 :R 13) (17 :R 13) (27 :R 13))
+((17 :R 14) (25 :R 14) (137 :R 14))
+((17 :R 15) (25 :R 15) (137 :R 15))
+((9 :R 16) (11 :R 16) (27 :R 16))
+((9 :R 17) (11 :R 17) (27 :R 17))
+((11 :S 167) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (130 :S 241))
+((9 :R 18) (11 :R 18) (27 :R 18))
+((6 :S 32))
+((7 :S 33))
+((35 :S 36))
+((9 :S 35))
+((9 :R 19) (11 :R 19) (27 :R 19))
+((9 :R 20) (35 :R 20) (64 :R 20))
+((6 :S 38))
+((62 :S 185))
+((9 :R 21) (11 :R 21) (27 :R 21))
+((38 :S 41))
+((27 :S 117))
+((40 :S 43))
+((73 :S 120))
+((6 :S 45))
+((62 :S 185))
+((9 :R 22) (11 :R 22) (27 :R 22))
+((44 :S 48))
+((73 :S 121))
+((46 :S 50))
+((73 :S 122))
+((48 :S 52))
+((73 :S 123))
+((40 :S 54))
+((73 :S 120))
+((6 :R 111) (75 :S 124))
+((6 :S 57))
+((62 :S 185))
+((9 :R 23) (11 :R 23) (27 :R 23))
+((52 :S 60))
+((11 :S 167) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (130 :S 241))
+((53 :S 62))
+((27 :S 118))
+((38 :S 64))
+((27 :S 117))
+((40 :S 66))
+((73 :S 120))
+((6 :R 38) (76 :S 128) (77 :R 38) (78 :R 38))
+((6 :R 40) (77 :S 132) (78 :R 40))
+((6 :R 42) (78 :S 136))
+((6 :S 71))
+((62 :S 185))
+((9 :R 24) (11 :R 24) (27 :R 24))
+((38 :R 48) (71 :S 153))
+((38 :S 75))
+((27 :S 117))
+((40 :S 77))
+((73 :S 120))
+((6 :S 79))
+((62 :S 185))
+((9 :R 25) (11 :R 25) (27 :R 25))
+((61 :S 82))
+((62 :S 83))
+((27 :S 282))
+((64 :S 85))
+((38 :S 86))
+((27 :S 117))
+((40 :S 88))
+((73 :S 120))
+((6 :S 90))
+((62 :S 185))
+((9 :R 26) (11 :R 26) (27 :R 26))
+((38 :S 93))
+((27 :S 117))
+((40 :S 95))
+((73 :S 120))
+((66 :S 97))
+((67 :S 98))
+((62 :S 99))
+((27 :S 282))
+((64 :S 101))
+((6 :R 107) (80 :S 140) (82 :R 107))
+((6 :R 105) (82 :S 144))
+((6 :S 104))
+((62 :S 185))
+((9 :R 27) (11 :R 27) (27 :R 27))
+((71 :S 107))
+((62 :S 108))
+((27 :S 282))
+((64 :S 110))
+((38 :S 111))
+((27 :S 117))
+((40 :S 113))
+((73 :S 120))
+((6 :S 115))
+((62 :S 185))
+((9 :R 28) (11 :R 28) (27 :R 28))
+((40 :R 29))
+((38 :R 30))
((40 :R 31))
-((41 :S 117))
-((40 :S 118))
-((41 :S 119))
-((6 :R 32) (67 :R 32))
-((57 :S 154))
-((6 :R 33))
-((28 :S 123))
-((40 :S 124))
-((41 :S 125))
-((6 :R 35) (70 :R 35))
-((6 :R 36) (9 :R 36) (11 :R 36) (28 :R 36) (50 :R 36))
-((6 :R 37) (9 :R 37) (11 :R 37) (28 :R 37) (50 :R 37))
-((6 :R 38) (9 :R 38) (11 :R 38) (28 :R 38) (50 :R 38))
-((6 :R 39) (9 :R 39) (11 :R 39) (28 :R 39) (50 :R 39))
-((6 :R 40) (9 :R 40) (11 :R 40) (28 :R 40) (50 :R 40))
-((6 :R 41) (9 :R 41) (11 :R 41) (28 :R 41) (50 :R 41))
-((6 :R 42) (9 :R 42) (11 :R 42) (28 :R 42) (50 :R 42))
-((6 :R 43) (9 :R 43) (11 :R 43) (28 :R 43) (50 :R 43))
-((6 :R 44) (9 :R 44) (11 :R 44) (28 :R 44) (50 :R 44))
-((6 :R 45) (9 :R 45) (11 :R 45) (28 :R 45) (50 :R 45))
-((6 :R 46) (9 :R 46) (11 :R 46) (28 :R 46) (50 :R 46))
-((39 :R 49) (84 :S 146))
-((39 :S 139))
-((28 :S 140))
-((40 :S 141))
-((41 :S 142))
-((49 :R 51) (85 :S 148))
-((49 :S 144))
-((11 :S 136) (81 :S 137) (86 :S 150) (97 :S 164) (98 :S 168) (101 :S 171) (107 :S 238) (110 :S 239) (116 :S 205))
-((6 :R 47) (9 :R 47) (11 :R 47) (28 :R 47) (50 :R 47))
-((41 :S 147))
-((39 :R 48))
-((41 :S 149))
-((49 :R 50))
-((87 :S 151))
-((6 :R 52) (9 :R 52) (11 :R 52) (28 :R 52) (50 :R 52))
-((9 :R 53) (11 :R 53) (28 :R 53))
-((9 :R 54) (11 :R 54) (28 :R 54))
-((28 :S 237) (96 :S 163))
-((59 :S 156))
-((6 :R 55) (9 :R 55) (11 :R 55) (28 :R 55))
-((28 :R 56) (59 :R 56) (96 :R 56))
-((28 :R 57) (59 :R 57) (96 :R 57))
-((28 :R 58) (59 :R 58) (96 :R 58))
-((96 :S 163))
-((95 :S 162))
-((28 :R 59) (59 :R 59) (96 :R 59))
-((28 :R 61) (59 :R 61) (95 :R 61) (96 :R 61))
-((57 :S 165))
-((36 :S 37))
-((59 :S 167))
-((6 :R 62) (9 :R 62) (11 :R 62) (28 :R 62) (50 :R 62))
-((99 :S 169))
-((6 :R 66) (9 :R 66) (11 :R 66) (28 :R 66) (50 :R 66) (94 :S 173))
-((6 :R 63) (9 :R 63) (11 :R 63) (28 :R 63) (50 :R 63))
-((6 :R 66) (9 :R 66) (11 :R 66) (28 :R 66) (50 :R 66) (94 :S 173))
-((6 :R 64) (9 :R 64) (11 :R 64) (28 :R 64) (50 :R 64))
-((102 :S 174))
-((94 :S 175))
-((104 :S 246))
-((95 :S 177))
-((95 :S 178))
-((6 :R 65) (9 :R 65) (11 :R 65) (28 :R 65) (50 :R 65))
-((104 :S 180))
-((95 :R 67))
-((104 :S 182))
-((95 :R 68))
-((104 :S 184))
-((106 :S 185))
-((104 :S 186))
-((95 :S 187))
-((6 :R 70) (9 :R 70) (11 :R 70) (28 :R 70) (50 :R 70))
-((28 :S 191))
-((59 :S 190))
-((6 :R 71) (9 :R 71) (11 :R 71) (28 :R 71) (50 :R 71))
-((94 :S 192))
-((104 :S 193))
-((95 :S 194))
-((59 :R 72) (123 :R 72))
-((36 :S 37) (59 :R 84))
-((59 :S 197))
-((6 :R 73) (9 :R 73) (11 :R 73) (28 :R 73) (50 :R 73))
-((11 :S 136) (81 :S 137) (86 :S 150) (97 :S 164) (98 :S 168) (101 :S 171) (107 :S 238) (110 :S 239) (116 :S 205))
-((6 :R 74) (9 :R 74) (11 :R 74) (28 :R 74) (50 :R 74))
-((6 :R 75) (9 :R 75) (11 :R 75) (28 :R 75) (50 :R 75))
-((11 :S 136) (81 :S 137) (86 :S 150) (97 :S 164) (98 :S 168) (101 :S 171) (107 :S 238) (110 :S 239) (116 :S 205))
-((6 :R 76) (9 :R 76) (11 :R 76) (28 :R 76) (50 :R 76))
-((11 :S 136) (81 :S 137) (86 :S 150) (97 :S 164) (98 :S 168) (101 :S 171) (107 :S 238) (110 :S 239) (116 :S 205))
-((6 :R 77) (9 :R 77) (11 :R 77) (28 :R 77) (50 :R 77))
-((104 :R 83) (120 :S 210) (121 :S 211) (122 :S 212))
-((104 :S 209))
-((119 :S 208))
-((11 :R 78) (81 :R 78) (86 :R 78) (97 :R 78) (98 :R 78) (101 :R 78) (107 :R 78) (110 :R 78) (114 :R 78) (115 :R 78) (116 :R 78))
-((119 :R 79))
-((104 :R 80))
-((104 :R 81))
-((104 :R 82))
-((36 :S 37) (59 :R 84))
-((59 :R 85))
-((28 :S 191))
-((59 :R 87))
-((59 :R 89))
-((6 :R 91))
-((28 :S 243))
-((59 :R 93))
-((6 :R 94) (67 :S 116))
-((6 :R 95))
-((9 :R 97) (59 :R 97))
-((11 :S 25) (28 :S 27))
-((25 :R 99))
-((11 :S 25) (17 :R 100) (28 :S 27))
-((17 :R 101))
-((11 :S 25) (28 :S 27))
-((17 :R 102) (123 :S 228))
-((17 :R 103))
-((17 :R 102) (123 :S 228))
-((17 :R 105))
-((9 :R 106) (11 :S 236) (28 :S 27))
-((9 :R 107))
-((11 :S 25) (17 :R 104) (18 :S 15) (28 :S 27))
-((6 :S 30) (33 :S 32))
-((28 :R 60) (59 :R 60) (94 :S 160) (96 :R 60))
-((57 :S 188) (94 :S 183))
-((57 :S 195) (112 :S 198))
-((59 :R 86) (123 :S 215))
-((28 :S 237) (59 :R 88) (96 :S 163))
-((6 :R 90) (70 :S 122))
-((59 :R 92) (123 :S 219))
-((9 :R 96) (36 :S 37) (59 :R 96))
-((25 :R 98) (123 :S 224))
-((95 :R 69) (105 :S 179) (106 :S 181))
-((11 :S 136) (81 :S 137) (86 :S 150) (97 :S 164) (98 :S 168) (101 :S 171) (107 :S 238) (110 :S 239) (114 :S 201) (115 :S 203) (116 :S 205))
-((11 :S 136) (38 :S 41) (43 :S 48) (48 :S 60) (54 :S 72) (55 :S 79) (60 :S 90) (64 :S 103) (81 :S 137) (86 :S 150) (97 :S 164) (98 :S 168) (101 :S 171) (107 :S 238) (110 :S 239) (116 :S 205)))
+((6 :R 32) (66 :R 32) (75 :R 32) (76 :R 32) (77 :R 32) (78 :R 32) (80 :R 32) (82 :R 32))
+((46 :R 33))
+((48 :R 34))
+((40 :R 35))
+((73 :S 125))
+((40 :S 126))
+((73 :S 127))
+((6 :R 36) (75 :R 36))
+((62 :S 129))
+((27 :S 282))
+((64 :S 131))
+((6 :R 37) (77 :R 37) (78 :R 37))
+((62 :S 133))
+((27 :S 134))
+((64 :S 135))
+((6 :R 39) (78 :R 39))
+((62 :S 137))
+((27 :S 138))
+((64 :S 139))
+((6 :R 41))
+((27 :S 141))
+((40 :S 142))
+((73 :S 120))
+((6 :R 43) (80 :R 43) (82 :R 43))
+((27 :S 145))
+((52 :S 151) (84 :R 46))
+((84 :S 147))
+((27 :S 119))
+((40 :S 149))
+((73 :S 120))
+((6 :R 44) (82 :R 44))
+((11 :S 167) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (130 :S 241))
+((84 :R 45))
+((62 :S 154))
+((27 :S 282))
+((64 :S 156))
+((38 :R 47))
+((6 :R 49) (9 :R 49) (11 :R 49) (27 :R 49) (53 :R 49) (84 :R 49))
+((6 :R 50) (9 :R 50) (11 :R 50) (27 :R 50) (53 :R 50) (84 :R 50))
+((6 :R 51) (9 :R 51) (11 :R 51) (27 :R 51) (53 :R 51) (84 :R 51))
+((6 :R 52) (9 :R 52) (11 :R 52) (27 :R 52) (53 :R 52) (84 :R 52))
+((6 :R 53) (9 :R 53) (11 :R 53) (27 :R 53) (53 :R 53) (84 :R 53))
+((6 :R 54) (9 :R 54) (11 :R 54) (27 :R 54) (53 :R 54) (84 :R 54))
+((6 :R 55) (9 :R 55) (11 :R 55) (27 :R 55) (53 :R 55) (84 :R 55))
+((6 :R 56) (9 :R 56) (11 :R 56) (27 :R 56) (53 :R 56) (84 :R 56))
+((6 :R 57) (9 :R 57) (11 :R 57) (27 :R 57) (53 :R 57) (84 :R 57))
+((6 :R 58) (9 :R 58) (11 :R 58) (27 :R 58) (53 :R 58) (84 :R 58))
+((6 :R 59) (9 :R 59) (11 :R 59) (27 :R 59) (53 :R 59) (84 :R 59))
+((38 :R 62) (98 :S 177))
+((38 :S 170))
+((27 :S 171))
+((40 :S 172))
+((73 :S 173))
+((52 :R 64) (99 :S 179))
+((52 :S 175))
+((11 :S 167) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (130 :S 241))
+((6 :R 60) (9 :R 60) (11 :R 60) (27 :R 60) (53 :R 60) (84 :R 60))
+((73 :S 178))
+((38 :R 61))
+((73 :S 180))
+((52 :R 63))
+((100 :S 182))
+((6 :R 65) (9 :R 65) (11 :R 65) (27 :R 65) (53 :R 65) (84 :R 65))
+((9 :R 66) (11 :R 66) (27 :R 66))
+((9 :R 67) (11 :R 67) (27 :R 67))
+((27 :S 276) (109 :S 194))
+((64 :S 187))
+((9 :R 68) (11 :R 68) (27 :R 68))
+((27 :R 69) (64 :R 69) (109 :R 69))
+((27 :R 70) (64 :R 70) (109 :R 70))
+((27 :R 71) (64 :R 71) (109 :R 71))
+((109 :S 194))
+((108 :S 193))
+((27 :R 72) (64 :R 72) (109 :R 72))
+((27 :R 74) (64 :R 74) (108 :R 74) (109 :R 74))
+((62 :S 196))
+((35 :S 36))
+((64 :S 198))
+((6 :R 75) (9 :R 75) (11 :R 75) (27 :R 75) (53 :R 75) (84 :R 75))
+((112 :S 200))
+((6 :R 79) (9 :R 79) (11 :R 79) (27 :R 79) (53 :R 79) (84 :R 79) (107 :S 204))
+((6 :R 76) (9 :R 76) (11 :R 76) (27 :R 76) (53 :R 76) (84 :R 76))
+((6 :R 79) (9 :R 79) (11 :R 79) (27 :R 79) (53 :R 79) (84 :R 79) (107 :S 204))
+((6 :R 77) (9 :R 77) (11 :R 77) (27 :R 77) (53 :R 77) (84 :R 77))
+((115 :S 205))
+((107 :S 206))
+((117 :S 285))
+((108 :S 208))
+((108 :S 209))
+((6 :R 78) (9 :R 78) (11 :R 78) (27 :R 78) (53 :R 78) (84 :R 78))
+((117 :S 211))
+((108 :R 80))
+((117 :S 213))
+((108 :R 81))
+((117 :S 215))
+((119 :S 216))
+((117 :S 217))
+((108 :S 218))
+((6 :R 83) (9 :R 83) (11 :R 83) (27 :R 83) (53 :R 83) (84 :R 83))
+((27 :S 227))
+((64 :S 221))
+((6 :R 84) (9 :R 84) (11 :R 84) (27 :R 84) (53 :R 84) (84 :R 84))
+((117 :S 223))
+((119 :S 224))
+((117 :S 225))
+((108 :S 226))
+((6 :R 85) (9 :R 85) (11 :R 85) (27 :R 85) (53 :R 85) (84 :R 85))
+((107 :S 228))
+((117 :S 229))
+((108 :S 230))
+((64 :R 87) (137 :R 87))
+((35 :S 36) (64 :R 99))
+((64 :S 233))
+((6 :R 88) (9 :R 88) (11 :R 88) (27 :R 88) (53 :R 88) (84 :R 88))
+((11 :S 167) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (130 :S 241))
+((6 :R 89) (9 :R 89) (11 :R 89) (27 :R 89) (53 :R 89) (84 :R 89))
+((6 :R 90) (9 :R 90) (11 :R 90) (27 :R 90) (53 :R 90) (84 :R 90))
+((11 :S 167) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (130 :S 241))
+((6 :R 91) (9 :R 91) (11 :R 91) (27 :R 91) (53 :R 91) (84 :R 91))
+((11 :S 167) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (130 :S 241))
+((6 :R 92) (9 :R 92) (11 :R 92) (27 :R 92) (53 :R 92) (84 :R 92))
+((117 :R 98) (134 :S 246) (135 :S 247) (136 :S 248))
+((117 :S 245))
+((133 :S 244))
+((11 :R 93) (82 :R 93) (95 :R 93) (110 :R 93) (111 :R 93) (114 :R 93) (120 :R 93) (122 :R 93) (124 :R 93) (128 :R 93) (129 :R 93) (130 :R 93))
+((133 :R 94))
+((117 :R 95))
+((117 :R 96))
+((117 :R 97))
+((35 :S 36) (64 :R 99))
+((64 :R 100))
+((27 :S 227))
+((64 :R 102))
+((64 :R 104))
+((6 :R 105) (82 :S 144))
+((6 :R 106))
+((6 :R 107) (80 :S 140) (82 :R 107))
+((6 :R 108) (82 :R 108))
+((27 :S 282))
+((64 :R 110))
+((6 :R 111) (75 :S 124))
+((6 :R 112))
+((9 :R 114) (64 :R 114))
+((11 :S 25) (27 :S 26))
+((25 :R 116))
+((11 :S 25) (17 :R 117) (27 :S 26))
+((17 :R 118))
+((11 :S 25) (27 :S 26))
+((17 :R 119) (137 :S 267))
+((17 :R 120))
+((17 :R 119) (137 :S 267))
+((17 :R 122))
+((9 :R 123) (11 :S 275) (27 :S 287))
+((9 :R 124))
+((11 :S 25) (17 :R 121) (18 :S 15) (27 :S 26))
+((6 :S 29) (32 :S 31))
+((27 :R 73) (64 :R 73) (107 :S 191) (109 :R 73))
+((62 :S 219) (107 :S 214))
+((6 :R 86) (9 :R 86) (11 :R 86) (27 :R 86) (53 :R 86) (84 :R 86) (107 :S 222))
+((62 :S 231) (126 :S 234))
+((64 :R 101) (137 :S 251))
+((27 :S 276) (64 :R 103) (109 :S 194))
+((64 :R 109) (137 :S 258))
+((9 :R 113) (35 :S 36) (64 :R 113))
+((25 :R 115) (137 :S 263))
+((108 :R 82) (118 :S 210) (119 :S 212))
+((11 :S 167) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (128 :S 237) (129 :S 239) (130 :S 241))
+((11 :S 167) (37 :S 40) (43 :S 47) (51 :S 59) (58 :S 73) (60 :S 81) (65 :S 92) (70 :S 106) (82 :S 181) (95 :S 168) (110 :S 195) (111 :S 199) (114 :S 202) (120 :S 277) (122 :S 278) (124 :S 279) (130 :S 241)))
-#249(
+#288(
((3 . 1)(4 . 2)(10 . 8))
()
()
@@ -270,14 +309,14 @@
()
()
((13 . 11))
-((14 . 12)(27 . 248)(29 . 233)(30 . 28)(31 . 29))
+((14 . 12)(28 . 272)(29 . 27)(30 . 28))
()
()
()
()
()
()
-((19 . 245)(20 . 17)(22 . 19)(23 . 226)(24 . 21)(27 . 26))
+((19 . 284)(20 . 17)(22 . 19)(23 . 265)(24 . 21))
()
()
()
@@ -288,90 +327,110 @@
()
()
()
+((31 . 30)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286))
()
-((32 . 31)(71 . 126)(72 . 127)(73 . 128)(74 . 129)(75 . 130)(76 . 131)(77 . 132)(78 . 133)(79 . 134)(80 . 135)(113 . 247))
()
()
+((33 . 34)(34 . 283))
()
-((34 . 35)(35 . 244))
()
()
()
+((36 . 39)(42 . 184)(101 . 183))
()
-((37 . 40)(42 . 153)(88 . 152))
()
+((39 . 42))
()
+((41 . 44))
()
+((42 . 46))
()
()
+((45 . 49))
()
-((42 . 47))
+((47 . 51))
()
+((49 . 53))
()
+((41 . 55))
+((50 . 56)(74 . 260))
()
+((42 . 58))
()
()
+((31 . 61)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286))
()
+((54 . 63))
()
+((39 . 65))
()
+((41 . 67))
+((55 . 68))
+((56 . 69))
+((57 . 70))
()
-((47 . 57)(66 . 221))
+((42 . 72))
()
-((42 . 59))
+((59 . 74))
()
+((39 . 76))
()
-((32 . 62)(71 . 126)(72 . 127)(73 . 128)(74 . 129)(75 . 130)(76 . 131)(77 . 132)(78 . 133)(79 . 134)(80 . 135)(113 . 247))
+((41 . 78))
()
-((51 . 64))
+((42 . 80))
()
-((52 . 66))
()
()
-((53 . 69))
+((63 . 84))
()
-((42 . 71))
()
+((39 . 87))
()
+((41 . 89))
()
+((42 . 91))
()
()
+((39 . 94))
()
-((42 . 78))
+((41 . 96))
()
()
()
-((58 . 82))
+((63 . 100))
()
+((68 . 102)(79 . 256))
+((69 . 103)(81 . 254))
()
+((42 . 105))
()
()
()
+((63 . 109))
()
-((42 . 89))
()
+((39 . 112))
()
+((41 . 114))
()
+((42 . 116))
()
()
()
()
()
-((58 . 98))
()
-((63 . 100)(69 . 242))
()
-((42 . 102))
()
()
()
-((58 . 106))
()
()
()
+((63 . 130))
()
()
()
-((42 . 113))
()
()
()
@@ -379,16 +438,21 @@
()
()
()
-((42 . 121))
()
()
+((41 . 143))
()
()
+((83 . 146))
()
+((72 . 148))
()
+((41 . 150))
()
+((31 . 152)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286))
()
()
+((63 . 155))
()
()
()
@@ -396,142 +460,165 @@
()
()
()
-((82 . 138))
()
()
()
()
-((83 . 143))
()
-((32 . 145)(71 . 126)(72 . 127)(73 . 128)(74 . 129)(75 . 130)(76 . 131)(77 . 132)(78 . 133)(79 . 134)(80 . 135)(113 . 247))
()
+((96 . 169))
()
()
()
()
+((97 . 174))
()
+((31 . 176)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286))
()
()
()
-((89 . 155)(90 . 241)(91 . 157)(92 . 158)(93 . 159))
()
()
()
()
()
-((93 . 161))
()
+((102 . 186)(103 . 281)(104 . 188)(105 . 189)(106 . 190))
()
()
()
-((34 . 166)(35 . 244))
()
()
+((106 . 192))
()
-((100 . 170))
()
-((100 . 172))
()
()
+((33 . 197)(34 . 283))
()
-((103 . 176))
()
()
+((113 . 201))
()
+((113 . 203))
()
()
()
+((116 . 207))
()
()
()
()
()
()
-((108 . 189)(109 . 240))
()
()
()
()
()
()
-((35 . 213)(111 . 196))
+((121 . 220)(123 . 280))
()
()
-((32 . 199)(71 . 126)(72 . 127)(73 . 128)(74 . 129)(75 . 130)(76 . 131)(77 . 132)(78 . 133)(79 . 134)(80 . 135)(113 . 247))
()
()
-((32 . 202)(71 . 126)(72 . 127)(73 . 128)(74 . 129)(75 . 130)(76 . 131)(77 . 132)(78 . 133)(79 . 134)(80 . 135)(113 . 247))
()
-((32 . 204)(71 . 126)(72 . 127)(73 . 128)(74 . 129)(75 . 130)(76 . 131)(77 . 132)(78 . 133)(79 . 134)(80 . 135)(113 . 247))
()
-((117 . 206))
-((118 . 207))
()
()
()
()
()
+((34 . 249)(125 . 232))
()
-((35 . 213)(111 . 214))
()
-((108 . 216)(109 . 240))
+((31 . 235)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286))
()
()
+((31 . 238)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286))
()
-((58 . 220))
+((31 . 240)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286))
()
-((47 . 222)(66 . 221))
+((131 . 242))
+((132 . 243))
()
()
-((19 . 245)(20 . 17)(24 . 225)(27 . 26))
()
-((19 . 245)(20 . 17)(22 . 227)(23 . 226)(24 . 21)(27 . 26))
()
-((19 . 229)(20 . 17)(27 . 26))
-((124 . 230))
()
-((124 . 232))
()
-((14 . 234)(27 . 248)(29 . 233)(30 . 28)(31 . 29))
+((34 . 249)(125 . 250))
()
-((16 . 13)(19 . 231)(20 . 17)(27 . 26))
+((121 . 252)(123 . 280))
()
()
+((69 . 255)(81 . 254))
()
+((68 . 257)(79 . 256))
()
+((63 . 259))
()
-((89 . 217)(90 . 241)(91 . 157)(92 . 158)(93 . 159))
-((63 . 218)(69 . 242))
+((50 . 261)(74 . 260))
()
-((34 . 223)(35 . 244))
()
+((19 . 284)(20 . 17)(24 . 264))
()
-((32 . 200)(71 . 126)(72 . 127)(73 . 128)(74 . 129)(75 . 130)(76 . 131)(77 . 132)(78 . 133)(79 . 134)(80 . 135)(113 . 247))
-((32 . 38)(71 . 126)(72 . 127)(73 . 128)(74 . 129)(75 . 130)(76 . 131)(77 . 132)(78 . 133)(79 . 134)(80 . 135)(113 . 247)))
+((19 . 284)(20 . 17)(22 . 266)(23 . 265)(24 . 21))
+()
+((19 . 268)(20 . 17))
+((138 . 269))
+()
+((138 . 271))
+()
+((14 . 273)(28 . 272)(29 . 27)(30 . 28))
+()
+((16 . 13)(19 . 270)(20 . 17))
+()
+()
+()
+()
+()
+()
+((102 . 253)(103 . 281)(104 . 188)(105 . 189)(106 . 190))
+()
+((33 . 262)(34 . 283))
+()
+()
+((31 . 236)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286))
+((31 . 37)(85 . 157)(86 . 158)(87 . 159)(88 . 160)(89 . 161)(90 . 162)(91 . 163)(92 . 164)(93 . 165)(94 . 166)(127 . 286)))
0
2
-#58((MODULE-DEFINITION . #S(ZEBU::ZB-RULE :-NAME MODULE-DEFINITION :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-IDENTIFIER "DEFINITIONS" "::=" "BEGIN" MODULE-BODY "END") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE MODULE-DEFINITION :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL IDENTIFIER :-VALUE MODULE-IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL BODY :-VALUE MODULE-BODY))) :-BUILD-FN MODULE-DEFINITION59))))
+#68((MODULE-DEFINITION . #S(ZEBU::ZB-RULE :-NAME MODULE-DEFINITION :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-IDENTIFIER "DEFINITIONS" "::=" "BEGIN" MODULE-BODY "END") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE MODULE-DEFINITION :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL IDENTIFIER :-VALUE MODULE-IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL BODY :-VALUE MODULE-BODY))) :-BUILD-FN MODULE-DEFINITION1109))))
(MODULE-IDENTIFIER . #S(ZEBU::ZB-RULE :-NAME MODULE-IDENTIFIER :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(MODULE-REFERENCE . #S(ZEBU::ZB-RULE :-NAME MODULE-REFERENCE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(MODULE-BODY . #S(ZEBU::ZB-RULE :-NAME MODULE-BODY :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (EXPORTS IMPORTS ASSIGNMENT*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE MODULE-BODY :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL ASSIGNMENT-LIST :-VALUE ASSIGNMENT*) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL EXPORTS :-VALUE EXPORTS) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL IMPORTS :-VALUE IMPORTS))) :-BUILD-FN MODULE-BODY58) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(EXPORTS . #S(ZEBU::ZB-RULE :-NAME EXPORTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("EXPORTS" SYMBOL*\,1$ ";") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE EXPORTS :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL LIST :-VALUE SYMBOL*\,1$))) :-BUILD-FN EXPORTS56) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("EXPORTS" "ALL" ";") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE EXPORTS :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL ALL-EXPORTS :-VALUE T))) :-BUILD-FN EXPORTS57) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(MODULE-BODY . #S(ZEBU::ZB-RULE :-NAME MODULE-BODY :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (EXPORTS IMPORTS ASSIGNMENT*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE MODULE-BODY :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL ASSIGNMENT-LIST :-VALUE ASSIGNMENT*) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL EXPORTS :-VALUE EXPORTS) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL IMPORTS :-VALUE IMPORTS))) :-BUILD-FN MODULE-BODY1108) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(EXPORTS . #S(ZEBU::ZB-RULE :-NAME EXPORTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("EXPORTS" SYMBOL*\,1$ ";") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE EXPORTS :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL LIST :-VALUE SYMBOL*\,1$))) :-BUILD-FN EXPORTS1106) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("EXPORTS" "ALL" ";") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE EXPORTS :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL ALL-EXPORTS :-VALUE T))) :-BUILD-FN EXPORTS1107) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(SYMBOL . #S(ZEBU::ZB-RULE :-NAME SYMBOL :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(IMPORTS . #S(ZEBU::ZB-RULE :-NAME IMPORTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("IMPORTS" SYMBOLS-FROM-MODULE* ";") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE IMPORTS :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALID :-VALUE T) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL LIST :-VALUE SYMBOLS-FROM-MODULE*))) :-BUILD-FN IMPORTS55) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(SYMBOLS-FROM-MODULE . #S(ZEBU::ZB-RULE :-NAME SYMBOLS-FROM-MODULE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL+\,1$ "FROM" GLOBAL-MODULE-REFERENCE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE SYMBOLS-FROM-MODULE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL SYMBOLS :-VALUE SYMBOL+\,1$) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL GLOBAL-MODULE-REFERENCE :-VALUE GLOBAL-MODULE-REFERENCE))) :-BUILD-FN SYMBOLS-FROM-MODULE54))))
+(IMPORTS . #S(ZEBU::ZB-RULE :-NAME IMPORTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("IMPORTS" SYMBOLS-FROM-MODULE* ";") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE IMPORTS :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALID :-VALUE T) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL LIST :-VALUE SYMBOLS-FROM-MODULE*))) :-BUILD-FN IMPORTS1105) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(SYMBOLS-FROM-MODULE . #S(ZEBU::ZB-RULE :-NAME SYMBOLS-FROM-MODULE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL+\,1$ "FROM" GLOBAL-MODULE-REFERENCE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE SYMBOLS-FROM-MODULE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL SYMBOLS :-VALUE SYMBOL+\,1$) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL GLOBAL-MODULE-REFERENCE :-VALUE GLOBAL-MODULE-REFERENCE))) :-BUILD-FN SYMBOLS-FROM-MODULE1104))))
(GLOBAL-MODULE-REFERENCE . #S(ZEBU::ZB-RULE :-NAME GLOBAL-MODULE-REFERENCE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(REFERENCE . #S(ZEBU::ZB-RULE :-NAME REFERENCE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(VALUE-REFERENCE . #S(ZEBU::ZB-RULE :-NAME VALUE-REFERENCE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE TYPE-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT52) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :VALUE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE VALUE-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT53))))
+(REFERENCE . #S(ZEBU::ZB-RULE :-NAME REFERENCE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
+(ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE TYPE-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT1102) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-ASSIGNMENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :VALUE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE VALUE-ASSIGNMENT))) :-BUILD-FN ASSIGNMENT1103))))
(TYPE-ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME TYPE-ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE "::=" TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE "MACRO" "::=" "BEGIN" GARBAGE+ "END") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(GARBAGE . #S(ZEBU::ZB-RULE :-NAME GARBAGE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (ANYTHING) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(VALUE-ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME VALUE-ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE TYPE "::=" VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE VALUE-REFERENCE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE VALUE))) :-BUILD-FN VALUE-ASSIGNMENT50) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE "OBJECT-IDENTITY" "STATUS" IDENTIFIER "DESCRIPTION" STRING "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE "MODULE-IDENTITY" "LAST-UPDATED" STRING "ORGANIZATION" STRING "CONTACT-INFO" STRING "DESCRIPTION" STRING MODULE-REVISION* "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE "OBJECT-TYPE" "SYNTAX" TYPE "MAX-ACCESS" OBJECT-TYPE-ACCESS "STATUS" OBJECT-TYPE-STATUS "DESCRIPTION" STRING OBJECT-TYPE-INDEX "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE OBJECT-TYPE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE VALUE-REFERENCE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :OBJECT-TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL SYNTAX :-VALUE TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL MAX-ACCESS :-VALUE OBJECT-TYPE-ACCESS) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL STATUS :-VALUE OBJECT-TYPE-STATUS) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL DESCRIPTION :-VALUE STRING) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL INDEX :-VALUE OBJECT-TYPE-INDEX) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJECT-IDENTIFIER-VALUE))) :-BUILD-FN VALUE-ASSIGNMENT51) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE "NOTIFICATION-TYPE" "STATUS" IDENTIFIER "DESCRIPTION" STRING "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE "NOTIFICATION-GROUP" "NOTIFICATIONS" "{" IDENTIFIER+\,1$ "}" "STATUS" IDENTIFIER "DESCRIPTION" STRING "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE "MODULE-COMPLIANCE" "STATUS" IDENTIFIER "DESCRIPTION" STRING "MODULE" "MANDATORY-GROUPS" "{" IDENTIFIER+\,1$ "}" MODULE-COMPLIANCE-GROUP+ "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (VALUE-REFERENCE "OBJECT-GROUP" "OBJECTS" "{" IDENTIFIER+\,1$ "}" "STATUS" IDENTIFIER "DESCRIPTION" STRING "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(OBJECT-TYPE-ACCESS . #S(ZEBU::ZB-RULE :-NAME OBJECT-TYPE-ACCESS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(OBJECT-TYPE-STATUS . #S(ZEBU::ZB-RULE :-NAME OBJECT-TYPE-STATUS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
+(VALUE-ASSIGNMENT . #S(ZEBU::ZB-RULE :-NAME VALUE-ASSIGNMENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER TYPE "::=" VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE VALUE))) :-BUILD-FN VALUE-ASSIGNMENT1094) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "OBJECT-IDENTITY" "STATUS" STATUS "DESCRIPTION" DESCRIPTION "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :OBJECT-IDENTITY) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJECT-IDENTIFIER-VALUE))) :-BUILD-FN VALUE-ASSIGNMENT1095) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "MODULE-IDENTITY" "LAST-UPDATED" LAST-UPDATED "ORGANIZATION" ORGANIZATION "CONTACT-INFO" CONTACT-INFO "DESCRIPTION" DESCRIPTION MODULE-REVISION* "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :MODULE-IDENTITY) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJECT-IDENTIFIER-VALUE))) :-BUILD-FN VALUE-ASSIGNMENT1096) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "OBJECT-TYPE" "SYNTAX" TYPE "MAX-ACCESS" MAX-ACCESS "STATUS" STATUS "DESCRIPTION" DESCRIPTION OBJECT-TYPE-INDEX OBJECT-TYPE-AUGMENTS OBJECT-TYPE-DEFVAL "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :OBJECT-TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJECT-IDENTIFIER-VALUE))) :-BUILD-FN VALUE-ASSIGNMENT1097) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "NOTIFICATION-TYPE" NOTIFICATION-TYPE-OBJECTS "STATUS" STATUS "DESCRIPTION" DESCRIPTION "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :NOTIFICATION-TYPE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJECT-IDENTIFIER-VALUE))) :-BUILD-FN VALUE-ASSIGNMENT1098) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "NOTIFICATION-GROUP" "NOTIFICATIONS" "{" IDENTIFIER+\,1$ "}" "STATUS" STATUS "DESCRIPTION" DESCRIPTION "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :NOTIFICATION-GROUP) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJECT-IDENTIFIER-VALUE))) :-BUILD-FN VALUE-ASSIGNMENT1099) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "MODULE-COMPLIANCE" "STATUS" STATUS "DESCRIPTION" DESCRIPTION "MODULE" "MANDATORY-GROUPS" "{" IDENTIFIER+\,1$ "}" MODULE-COMPLIANCE-GROUP* MODULE-COMPLIANCE-OBJECT* "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :MODULE-COMPLIANCE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJECT-IDENTIFIER-VALUE))) :-BUILD-FN VALUE-ASSIGNMENT1100) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "OBJECT-GROUP" "OBJECTS" "{" IDENTIFIER+\,1$ "}" "STATUS" STATUS "DESCRIPTION" DESCRIPTION "::=" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE VALUE-ASSIGNMENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL TYPE :-VALUE :OBJECT-GROUP) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJECT-IDENTIFIER-VALUE))) :-BUILD-FN VALUE-ASSIGNMENT1101))))
+(STATUS . #S(ZEBU::ZB-RULE :-NAME STATUS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
+(MAX-ACCESS . #S(ZEBU::ZB-RULE :-NAME MAX-ACCESS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
+(MIN-ACCESS . #S(ZEBU::ZB-RULE :-NAME MIN-ACCESS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
+(DESCRIPTION . #S(ZEBU::ZB-RULE :-NAME DESCRIPTION :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (STRING) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
+(LAST-UPDATED . #S(ZEBU::ZB-RULE :-NAME LAST-UPDATED :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (STRING) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
+(ORGANIZATION . #S(ZEBU::ZB-RULE :-NAME ORGANIZATION :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (STRING) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
+(CONTACT-INFO . #S(ZEBU::ZB-RULE :-NAME CONTACT-INFO :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (STRING) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(MODULE-REVISION . #S(ZEBU::ZB-RULE :-NAME MODULE-REVISION :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("REVISION" STRING "DESCRIPTION" STRING) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(OBJECT-TYPE-INDEX . #S(ZEBU::ZB-RULE :-NAME OBJECT-TYPE-INDEX :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("INDEX" OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(MODULE-COMPLIANCE-GROUP . #S(ZEBU::ZB-RULE :-NAME MODULE-COMPLIANCE-GROUP :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("GROUP" IDENTIFIER "DESCRIPTION" STRING) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(OBJECT-TYPE-INDEX . #S(ZEBU::ZB-RULE :-NAME OBJECT-TYPE-INDEX :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("INDEX" "{" IDENTIFIER+\,1$ "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(OBJECT-TYPE-AUGMENTS . #S(ZEBU::ZB-RULE :-NAME OBJECT-TYPE-AUGMENTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("AUGMENTS" "{" IDENTIFIER "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(OBJECT-TYPE-DEFVAL . #S(ZEBU::ZB-RULE :-NAME OBJECT-TYPE-DEFVAL :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("DEFVAL" "{" IDENTIFIER "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(MODULE-COMPLIANCE-GROUP . #S(ZEBU::ZB-RULE :-NAME MODULE-COMPLIANCE-GROUP :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("GROUP" IDENTIFIER "DESCRIPTION" DESCRIPTION) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(MODULE-COMPLIANCE-OBJECT . #S(ZEBU::ZB-RULE :-NAME MODULE-COMPLIANCE-OBJECT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("OBJECT" IDENTIFIER MODULE-COMPLIANCE-OBJECT-SYNTAX "MIN-ACCESS" MIN-ACCESS "DESCRIPTION" DESCRIPTION) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(MODULE-COMPLIANCE-OBJECT-SYNTAX . #S(ZEBU::ZB-RULE :-NAME MODULE-COMPLIANCE-OBJECT-SYNTAX :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("SYNTAX" TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(NOTIFICATION-TYPE-OBJECTS . #S(ZEBU::ZB-RULE :-NAME NOTIFICATION-TYPE-OBJECTS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("OBJECTS" "{" IDENTIFIER+\,1$ "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(TYPE . #S(ZEBU::ZB-RULE :-NAME TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (BUILTIN-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAMED-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(BUILTIN-TYPE . #S(ZEBU::ZB-RULE :-NAME BUILTIN-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJECT-IDENTIFIER-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (CHOICE-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (STRING-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (INTEGER-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SEQUENCE-OF-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SEQUENCE-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (TEXTUAL-CONVENTION-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (TAGGED-TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(NAMED-TYPE . #S(ZEBU::ZB-RULE :-NAME NAMED-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (TYPE-REFERENCE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
@@ -541,16 +628,16 @@
(OBJECT-IDENTIFIER-TYPE . #S(ZEBU::ZB-RULE :-NAME OBJECT-IDENTIFIER-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("OBJECT" "IDENTIFIER") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(VALUE . #S(ZEBU::ZB-RULE :-NAME VALUE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (BUILTIN-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(BUILTIN-VALUE . #S(ZEBU::ZB-RULE :-NAME BUILTIN-VALUE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJECT-IDENTIFIER-VALUE) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(OBJECT-IDENTIFIER-VALUE . #S(ZEBU::ZB-RULE :-NAME OBJECT-IDENTIFIER-VALUE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("{" OBJ-ID-COMPONENT+ "}") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE OBJECT-IDENTIFIER-VALUE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJ-ID-COMPONENT+))) :-BUILD-FN OBJECT-IDENTIFIER-VALUE49))))
+(OBJECT-IDENTIFIER-VALUE . #S(ZEBU::ZB-RULE :-NAME OBJECT-IDENTIFIER-VALUE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("{" OBJ-ID-COMPONENT+ "}") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE OBJECT-IDENTIFIER-VALUE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE OBJ-ID-COMPONENT+))) :-BUILD-FN OBJECT-IDENTIFIER-VALUE1093))))
(OBJ-ID-COMPONENT . #S(ZEBU::ZB-RULE :-NAME OBJ-ID-COMPONENT :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAME-AND-NUMBER-FORM) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAME-FORM) :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (NUMBER-FORM) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(NAME-AND-NUMBER-FORM . #S(ZEBU::ZB-RULE :-NAME NAME-AND-NUMBER-FORM :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "(" NUMBER-FORM ")") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE OBJ-ID-COMPONENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE NUMBER-FORM))) :-BUILD-FN NAME-AND-NUMBER-FORM48))))
+(NAME-AND-NUMBER-FORM . #S(ZEBU::ZB-RULE :-NAME NAME-AND-NUMBER-FORM :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "(" NUMBER-FORM ")") :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE OBJ-ID-COMPONENT :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL NAME :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL VALUE :-VALUE NUMBER-FORM))) :-BUILD-FN NAME-AND-NUMBER-FORM1092))))
(NAME-FORM . #S(ZEBU::ZB-RULE :-NAME NAME-FORM :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(NUMBER-FORM . #S(ZEBU::ZB-RULE :-NAME NUMBER-FORM :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (NUMBER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(CHOICE-TYPE . #S(ZEBU::ZB-RULE :-NAME CHOICE-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("CHOICE" "{" GARBAGE+ "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(STRING-TYPE . #S(ZEBU::ZB-RULE :-NAME STRING-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("OCTET" "STRING" STRING-OPTIONS) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("DisplayString" STRING-OPTIONS) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(STRING-OPTIONS . #S(ZEBU::ZB-RULE :-NAME STRING-OPTIONS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("(" "SIZE" "(" NUMBERS ")" ")") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(NUMBERS . #S(ZEBU::ZB-RULE :-NAME NUMBERS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SIGNED-NUMBER "|" SIGNED-NUMBER) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SIGNED-NUMBER ".." SIGNED-NUMBER) :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SIGNED-NUMBER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
-(INTEGER-TYPE . #S(ZEBU::ZB-RULE :-NAME INTEGER-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("INTEGER" "(" SIGNED-NUMBER ".." SIGNED-NUMBER ")") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("INTEGER" "{" NAMED-NUMBER+\,1$ "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
+(INTEGER-TYPE . #S(ZEBU::ZB-RULE :-NAME INTEGER-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("INTEGER" "(" SIGNED-NUMBER ".." SIGNED-NUMBER ")") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("INTEGER" "{" NAMED-NUMBER+\,1$ "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("Integer32" "(" SIGNED-NUMBER ".." SIGNED-NUMBER ")") :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("Integer32") :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(NAMED-NUMBER . #S(ZEBU::ZB-RULE :-NAME NAMED-NUMBER :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "(" SIGNED-NUMBER ")") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(SEQUENCE-TYPE . #S(ZEBU::ZB-RULE :-NAME SEQUENCE-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("SEQUENCE" "{" GARBAGE* "}") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(SEQUENCE-OF-TYPE . #S(ZEBU::ZB-RULE :-NAME SEQUENCE-OF-TYPE :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("SEQUENCE" "OF" TYPE) :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
@@ -558,16 +645,17 @@
(TAG . #S(ZEBU::ZB-RULE :-NAME TAG :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("[" CLASS CLASS-NUMBER "]") :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
(CLASS-NUMBER . #S(ZEBU::ZB-RULE :-NAME CLASS-NUMBER :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SIGNED-NUMBER) :-SEMANTICS NIL :-BUILD-FN IDENTITY))))
(CLASS . #S(ZEBU::ZB-RULE :-NAME CLASS :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX ("UNIVERSAL") :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("APPLICATION") :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("PRIVATE") :-SEMANTICS NIL :-BUILD-FN IDENTITY) #S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*))))
-(GARBAGE* . #S(ZEBU::ZB-RULE :-NAME GARBAGE* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE GARBAGE*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE GARBAGE*))) :-BUILD-FN GARBAGE*47))))
-(NAMED-NUMBER+\,1$ . #S(ZEBU::ZB-RULE :-NAME NAMED-NUMBER+\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAMED-NUMBER) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE NAMED-NUMBER))) :-BUILD-FN NAMED-NUMBER+\,1$45) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAMED-NUMBER "," NAMED-NUMBER+\,1$) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE NAMED-NUMBER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE NAMED-NUMBER+\,1$))) :-BUILD-FN NAMED-NUMBER+\,1$46))))
-(OBJ-ID-COMPONENT+ . #S(ZEBU::ZB-RULE :-NAME OBJ-ID-COMPONENT+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE OBJ-ID-COMPONENT))) :-BUILD-FN OBJ-ID-COMPONENT+43) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENT OBJ-ID-COMPONENT+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE OBJ-ID-COMPONENT) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE OBJ-ID-COMPONENT+))) :-BUILD-FN OBJ-ID-COMPONENT+44))))
-(MODULE-COMPLIANCE-GROUP+ . #S(ZEBU::ZB-RULE :-NAME MODULE-COMPLIANCE-GROUP+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-COMPLIANCE-GROUP) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE MODULE-COMPLIANCE-GROUP))) :-BUILD-FN MODULE-COMPLIANCE-GROUP+41) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-COMPLIANCE-GROUP MODULE-COMPLIANCE-GROUP+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE MODULE-COMPLIANCE-GROUP) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE MODULE-COMPLIANCE-GROUP+))) :-BUILD-FN MODULE-COMPLIANCE-GROUP+42))))
-(IDENTIFIER+\,1$ . #S(ZEBU::ZB-RULE :-NAME IDENTIFIER+\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE IDENTIFIER))) :-BUILD-FN IDENTIFIER+\,1$39) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "," IDENTIFIER+\,1$) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE IDENTIFIER+\,1$))) :-BUILD-FN IDENTIFIER+\,1$40))))
-(MODULE-REVISION* . #S(ZEBU::ZB-RULE :-NAME MODULE-REVISION* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-REVISION MODULE-REVISION*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE MODULE-REVISION) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE MODULE-REVISION*))) :-BUILD-FN MODULE-REVISION*38))))
-(GARBAGE+ . #S(ZEBU::ZB-RULE :-NAME GARBAGE+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE))) :-BUILD-FN GARBAGE+36) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE GARBAGE+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE GARBAGE+))) :-BUILD-FN GARBAGE+37))))
-(SYMBOL+\,1$ . #S(ZEBU::ZB-RULE :-NAME SYMBOL+\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL))) :-BUILD-FN SYMBOL+\,1$34) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL "," SYMBOL+\,1$) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE SYMBOL+\,1$))) :-BUILD-FN SYMBOL+\,1$35))))
-(SYMBOLS-FROM-MODULE* . #S(ZEBU::ZB-RULE :-NAME SYMBOLS-FROM-MODULE* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOLS-FROM-MODULE SYMBOLS-FROM-MODULE*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOLS-FROM-MODULE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE SYMBOLS-FROM-MODULE*))) :-BUILD-FN SYMBOLS-FROM-MODULE*33))))
-(|Rest-SYMBOL*,1$| . #S(ZEBU::ZB-RULE :-NAME |Rest-SYMBOL*,1$| :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("," SYMBOL |Rest-SYMBOL*,1$|) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE |Rest-SYMBOL*,1$|))) :-BUILD-FN |Rest-SYMBOL*,1$32|))))
-(SYMBOL*\,1$ . #S(ZEBU::ZB-RULE :-NAME SYMBOL*\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL |Rest-SYMBOL*,1$|) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE |Rest-SYMBOL*,1$|))) :-BUILD-FN SYMBOL*\,1$31))))
-(ASSIGNMENT* . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (ASSIGNMENT ASSIGNMENT*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE ASSIGNMENT) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE ASSIGNMENT*))) :-BUILD-FN ASSIGNMENT*30))))
+(GARBAGE* . #S(ZEBU::ZB-RULE :-NAME GARBAGE* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE GARBAGE*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE GARBAGE*))) :-BUILD-FN GARBAGE*1091))))
+(NAMED-NUMBER+\,1$ . #S(ZEBU::ZB-RULE :-NAME NAMED-NUMBER+\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAMED-NUMBER) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE NAMED-NUMBER))) :-BUILD-FN NAMED-NUMBER+\,1$1089) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (NAMED-NUMBER "," NAMED-NUMBER+\,1$) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE NAMED-NUMBER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE NAMED-NUMBER+\,1$))) :-BUILD-FN NAMED-NUMBER+\,1$1090))))
+(OBJ-ID-COMPONENT+ . #S(ZEBU::ZB-RULE :-NAME OBJ-ID-COMPONENT+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENT) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE OBJ-ID-COMPONENT))) :-BUILD-FN OBJ-ID-COMPONENT+1087) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (OBJ-ID-COMPONENT OBJ-ID-COMPONENT+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE OBJ-ID-COMPONENT) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE OBJ-ID-COMPONENT+))) :-BUILD-FN OBJ-ID-COMPONENT+1088))))
+(MODULE-COMPLIANCE-OBJECT* . #S(ZEBU::ZB-RULE :-NAME MODULE-COMPLIANCE-OBJECT* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-COMPLIANCE-OBJECT MODULE-COMPLIANCE-OBJECT*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE MODULE-COMPLIANCE-OBJECT) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE MODULE-COMPLIANCE-OBJECT*))) :-BUILD-FN MODULE-COMPLIANCE-OBJECT*1086))))
+(MODULE-COMPLIANCE-GROUP* . #S(ZEBU::ZB-RULE :-NAME MODULE-COMPLIANCE-GROUP* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-COMPLIANCE-GROUP MODULE-COMPLIANCE-GROUP*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE MODULE-COMPLIANCE-GROUP) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE MODULE-COMPLIANCE-GROUP*))) :-BUILD-FN MODULE-COMPLIANCE-GROUP*1085))))
+(IDENTIFIER+\,1$ . #S(ZEBU::ZB-RULE :-NAME IDENTIFIER+\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE IDENTIFIER))) :-BUILD-FN IDENTIFIER+\,1$1083) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (IDENTIFIER "," IDENTIFIER+\,1$) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE IDENTIFIER) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE IDENTIFIER+\,1$))) :-BUILD-FN IDENTIFIER+\,1$1084))))
+(MODULE-REVISION* . #S(ZEBU::ZB-RULE :-NAME MODULE-REVISION* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (MODULE-REVISION MODULE-REVISION*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE MODULE-REVISION) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE MODULE-REVISION*))) :-BUILD-FN MODULE-REVISION*1082))))
+(GARBAGE+ . #S(ZEBU::ZB-RULE :-NAME GARBAGE+ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE))) :-BUILD-FN GARBAGE+1080) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (GARBAGE GARBAGE+) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE GARBAGE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE GARBAGE+))) :-BUILD-FN GARBAGE+1081))))
+(SYMBOL+\,1$ . #S(ZEBU::ZB-RULE :-NAME SYMBOL+\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL))) :-BUILD-FN SYMBOL+\,1$1078) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL "," SYMBOL+\,1$) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE SYMBOL+\,1$))) :-BUILD-FN SYMBOL+\,1$1079))))
+(SYMBOLS-FROM-MODULE* . #S(ZEBU::ZB-RULE :-NAME SYMBOLS-FROM-MODULE* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOLS-FROM-MODULE SYMBOLS-FROM-MODULE*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOLS-FROM-MODULE) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE SYMBOLS-FROM-MODULE*))) :-BUILD-FN SYMBOLS-FROM-MODULE*1077))))
+(|Rest-SYMBOL*,1$| . #S(ZEBU::ZB-RULE :-NAME |Rest-SYMBOL*,1$| :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX ("," SYMBOL |Rest-SYMBOL*,1$|) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE |Rest-SYMBOL*,1$|))) :-BUILD-FN |Rest-SYMBOL*,1$1076|))))
+(SYMBOL*\,1$ . #S(ZEBU::ZB-RULE :-NAME SYMBOL*\,1$ :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (SYMBOL |Rest-SYMBOL*,1$|) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE SYMBOL) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE |Rest-SYMBOL*,1$|))) :-BUILD-FN SYMBOL*\,1$1075))))
+(ASSIGNMENT* . #S(ZEBU::ZB-RULE :-NAME ASSIGNMENT* :-PRODUCTIONS (#S(ZEBU::PRODUCTION-RHS :-SYNTAX NIL :-SEMANTICS NIL :-BUILD-FN IDENTITY*) #S(ZEBU::PRODUCTION-RHS :-SYNTAX (ASSIGNMENT ASSIGNMENT*) :-SEMANTICS #S(ZEBU::FEAT-TERM :-TYPE KB-SEQUENCE :-SLOTS (#S(ZEBU::LABEL-VALUE-PAIR :-LABEL FIRST :-VALUE ASSIGNMENT) #S(ZEBU::LABEL-VALUE-PAIR :-LABEL REST :-VALUE ASSIGNMENT*))) :-BUILD-FN ASSIGNMENT*1074))))
)
\ No newline at end of file
Modified: trunk/asn.1/asn.1.zb
==============================================================================
--- trunk/asn.1/asn.1.zb (original)
+++ trunk/asn.1/asn.1.zb Mon Sep 24 08:23:56 2007
@@ -20,10 +20,10 @@
Exports := kb-domain: [(list kb-sequence) (all-exports)];
Imports := kb-domain: [(list kb-sequence) (valid)];
Symbols-From-Module := kb-domain: [(symbols) (global-module-reference)];
-Assignment := kb-domain: [(type) (value)];
-Value-Assignment := kb-domain: [(name) (type) (value)];
-Object-Type-Assignment :=
- Value-Assignment: [(syntax) (max-access) (status) (description) (index)];
+Assignment := kb-domain: [(type) (value)]
+ <<print-function: generate-print-function>>;
+Value-Assignment := kb-domain: [(name) (type) (value)]
+ <<print-function: generate-print-function>>;
Object-Identifier-Value := kb-domain: [(value)];
Obj-Id-Component := kb-domain: [(name) (value)];
@@ -57,8 +57,7 @@
Global-Module-Reference)] };
Global-Module-Reference --> Module-Reference;
-Reference --> Type-Reference | Value-Reference;
-Value-Reference --> Identifier;
+Reference --> Type-Reference | Identifier;
Assignment --> Type-Assignment {Assignment:[(type :type) (value Type-Assignment)]}
| Value-Assignment {Assignment:[(type :value) (value Value-Assignment)]};
@@ -69,71 +68,102 @@
Garbage --> Anything;
-Value-Assignment --> Value-Reference Type "::=" Value
- { Value-Assignment:[(name Value-Reference)
+Value-Assignment --> Identifier Type "::=" Value
+ { Value-Assignment:[(name Identifier)
(type Type)
(value Value)] }
- | Value-Reference "OBJECT-IDENTITY"
- "STATUS" Identifier
- "DESCRIPTION" String
- "::=" Object-Identifier-Value
-
- | Value-Reference "MODULE-IDENTITY"
- "LAST-UPDATED" String
- "ORGANIZATION" String
- "CONTACT-INFO" String
- "DESCRIPTION" String
+ | Identifier "OBJECT-IDENTITY"
+ "STATUS" Status
+ "DESCRIPTION" Description
+ "::=" Object-Identifier-Value
+ { Value-Assignment:[(name Identifier)
+ (type :object-identity)
+ (value Object-Identifier-Value)] }
+
+ | Identifier "MODULE-IDENTITY"
+ "LAST-UPDATED" Last-Updated
+ "ORGANIZATION" Organization
+ "CONTACT-INFO" Contact-Info
+ "DESCRIPTION" Description
Module-Revision* " "
"::=" Object-Identifier-Value
+ { Value-Assignment:[(name Identifier)
+ (type :module-identity)
+ (value Object-Identifier-Value)] }
- | Value-Reference "OBJECT-TYPE"
+ | Identifier "OBJECT-TYPE"
"SYNTAX" Type
- "MAX-ACCESS" Object-Type-Access
- "STATUS" Object-Type-Status
- "DESCRIPTION" String
+ "MAX-ACCESS" Max-Access
+ "STATUS" Status
+ "DESCRIPTION" Description
Object-Type-Index
+ Object-Type-Augments
+ Object-Type-Defval
"::=" Object-Identifier-Value
- { Object-Type-Assignment:[(name Value-Reference)
- (type :object-type)
- (syntax Type)
- (max-access Object-Type-Access)
- (status Object-Type-Status)
- (description String)
- (index Object-Type-Index)
- (value Object-Identifier-Value)] }
-
- | Value-Reference "NOTIFICATION-TYPE"
- "STATUS" Identifier
- "DESCRIPTION" String
- "::=" Object-Identifier-Value
+ { Value-Assignment:[(name Identifier)
+ (type :object-type)
+ (value Object-Identifier-Value)] }
+
+ | Identifier "NOTIFICATION-TYPE"
+ Notification-Type-Objects
+ "STATUS" Status
+ "DESCRIPTION" Description
+ "::=" Object-Identifier-Value
+ { Value-Assignment:[(name Identifier)
+ (type :notification-type)
+ (value Object-Identifier-Value)] }
- | Value-Reference "NOTIFICATION-GROUP"
+ | Identifier "NOTIFICATION-GROUP"
"NOTIFICATIONS" "{" Identifier+ "," "}"
- "STATUS" Identifier
- "DESCRIPTION" String
+ "STATUS" Status
+ "DESCRIPTION" Description
"::=" Object-Identifier-Value
-
- | Value-Reference "MODULE-COMPLIANCE"
- "STATUS" Identifier
- "DESCRIPTION" String
+ { Value-Assignment:[(name Identifier)
+ (type :notification-group)
+ (value Object-Identifier-Value)] }
+
+ | Identifier "MODULE-COMPLIANCE"
+ "STATUS" Status
+ "DESCRIPTION" Description
"MODULE" "MANDATORY-GROUPS" "{" Identifier+ "," "}"
- Module-Compliance-Group+ " "
+ Module-Compliance-Group* " "
+ Module-Compliance-Object* " "
"::=" Object-Identifier-Value
+ { Value-Assignment:[(name Identifier)
+ (type :module-compliance)
+ (value Object-Identifier-Value)] }
- | Value-Reference "OBJECT-GROUP"
+ | Identifier "OBJECT-GROUP"
"OBJECTS" "{" Identifier+ "," "}"
- "STATUS" Identifier
- "DESCRIPTION" String
+ "STATUS" Status
+ "DESCRIPTION" Description
"::=" Object-Identifier-Value
+ { Value-Assignment:[(name Identifier)
+ (type :object-group)
+ (value Object-Identifier-Value)] }
;
-Object-Type-Access --> Identifier;
-Object-Type-Status --> Identifier;
+Status --> Identifier;
+Max-Access --> Identifier;
+Min-Access --> Identifier;
+Description --> String;
+Last-Updated --> String;
+Organization --> String;
+Contact-Info --> String;
Module-Revision --> "REVISION" String "DESCRIPTION" String;
-Object-Type-Index --> "INDEX" Object-Identifier-Value |;
-Module-Compliance-Group --> "GROUP" Identifier "DESCRIPTION" String;
+Object-Type-Index --> "INDEX" "{" Identifier+ "," "}" |;
+Object-Type-Augments --> "AUGMENTS" "{" Identifier "}" |;
+Object-Type-Defval --> "DEFVAL" "{" Identifier "}" |;
+Module-Compliance-Group --> "GROUP" Identifier "DESCRIPTION" Description;
+Module-Compliance-Object --> "OBJECT" Identifier
+ Module-Compliance-Object-Syntax
+ "MIN-ACCESS" Min-Access
+ "DESCRIPTION" Description;
+Module-Compliance-Object-Syntax --> "SYNTAX" Type |;
+
+Notification-Type-Objects --> "OBJECTS" "{" Identifier+ "," "}" |;
Type --> Builtin-Type | Named-Type;
@@ -146,7 +176,16 @@
| Textual-Convention-Type
| Tagged-Type;
-Named-Type --> Type-Reference;
+Named-Type --> Type-Reference ;
+
+;; "TimeTicks"
+;; | "TimeStamp"
+;; | "SysOREntry"
+;; | "Counter32"
+;; | "TestAndIncr"
+;; | "IANAifType"
+;; | "IfEntry"
+;; ;
Textual-Convention-Type --> "TEXTUAL-CONVENTION"
Textual-Convention-Display-Hint
@@ -185,7 +224,10 @@
| Signed-Number;
Integer-Type --> "INTEGER" "(" Signed-Number ".." Signed-Number ")"
- | "INTEGER" "{" Named-Number+ "," "}" ;
+ | "INTEGER" "{" Named-Number+ "," "}"
+ | "Integer32" "(" Signed-Number ".." Signed-Number ")"
+ | "Integer32" ;
+
Named-Number --> Identifier "(" Signed-Number ")";
Sequence-Type --> "SEQUENCE" "{" Garbage* " " "}";
Added: trunk/asn.1/mib-browse.lisp
==============================================================================
--- (empty file)
+++ trunk/asn.1/mib-browse.lisp Mon Sep 24 08:23:56 2007
@@ -0,0 +1,62 @@
+(in-package :asn.1)
+
+(defun children-function (x)
+ (let ((children (tree-nodes x)))
+ (and children children)))
+
+(defun print-child (x)
+ (when x
+ (let ((name (car (tree-name x)))
+ (id (car (tree-id x))))
+ (format nil "~A(~D)" name id))))
+
+(defun display-graph-selection (self data)
+ (let ((name (reverse (tree-name data)))
+ (oid (reverse (tree-id data))))
+ (with-slots (display-pane-name display-pane-oid) self
+ (setf (capi:display-pane-text display-pane-name)
+ (format nil "~A~{.~A~}" (car name) (cdr name))
+ (capi:display-pane-text display-pane-oid)
+ (format nil "~A~{.~A~}" (car oid) (cdr oid))))))
+
+(defun mib-browser ()
+ (capi:display (make-instance 'mib-browser)))
+
+(capi:define-interface mib-browser ()
+ ()
+ (:panes
+ (mib-graph
+ capi:graph-pane
+ :children-function 'children-function
+ :directed t
+ :print-function 'print-child
+ :reader graph-reader
+ :roots (tree-nodes *mib-tree*)
+ :do-cache t
+ :callback-type :interface-data
+ :selection-callback 'display-graph-selection)
+ (title-pane-name
+ capi:title-pane
+ :text "Name:")
+ (display-pane-name
+ capi:display-pane
+ :text "")
+ (title-pane-oid
+ capi:title-pane
+ :text "OID:")
+ (display-pane-oid
+ capi:display-pane
+ :text ""))
+ (:layouts
+ (main-layout
+ capi:column-layout
+ '(mib-graph grid-layout))
+ (grid-layout
+ capi:grid-layout
+ '(title-pane-name display-pane-name title-pane-oid display-pane-oid)
+ :y-adjust :center))
+ (:default-initargs
+ :layout 'main-layout
+ :best-height 768
+ :best-width 1024
+ :title "MIB Browser"))
Modified: trunk/asn.1/mib.lisp
==============================================================================
--- trunk/asn.1/mib.lisp (original)
+++ trunk/asn.1/mib.lisp Mon Sep 24 08:23:56 2007
@@ -22,18 +22,6 @@
(defvar *mib-tree* '((() () ())) "MIB Tree") ;; empty tree
(defvar *mib-index* (make-hash-table :test #'equal) "MIB Name Hash")
-(defun reset-mib-tree ()
- (progn
- (setf *mib-tree* '((() () ())))
- (clrhash *mib-index*)
- (init-mib-tree)
- *mib-tree*))
-
-(defun init-mib-tree ()
- (insert-node *mib-tree* 1 "iso")
- (insert-node "iso" 3 "org")
- (insert-node "org" 6 "dod"))
-
(defun tree-data (node) (car node))
(defun tree-nodes (node) (cdr node))
(defun tree-id (node) (first (tree-data node)))
@@ -74,22 +62,25 @@
(tree-node (cdr id) next)
(values id nil)))))
+(defmethod tree-node ((id string) &optional (node *mib-tree*))
+ (declare (ignore node))
+ (gethash id *mib-index*))
+
(defgeneric resolve (object))
-(defmethod resolve ((oids list))
- (multiple-value-bind (r v) (tree-node oids)
+(defmethod resolve ((name list))
+ (multiple-value-bind (r v) (tree-node name)
(if v (reverse (tree-name r))
(append
(reverse
(tree-name
(tree-node
- (reverse (nthcdr (list-length r) (reverse oids))))))
+ (reverse (nthcdr (list-length r) (reverse name))))))
r))))
(defmethod resolve ((name string))
- (let ((node (gethash name *mib-index*)))
- (when node
- (reverse (tree-id node)))))
+ (reverse
+ (tree-id (gethash name *mib-index*))))
(defmethod print-object ((obj object-id) stream)
(with-slots (rev-ids rev-names) obj
@@ -124,5 +115,11 @@
:directory '(:relative "asn.1" "test"))
(asdf:component-pathname (asdf:find-system :net-snmp)))))
-(eval-when (:load-toplevel :execute)
- (init-mib-tree))
+(defun reset-mib-tree ()
+ (progn
+ (setf *mib-tree* '((() () ())))
+ (clrhash *mib-index*)
+ (insert-node *mib-tree* 0 "zero")
+ (insert-node *mib-tree* 1 "iso")
+ (values *mib-tree* *mib-index*)))
+
Modified: trunk/asn.1/oid.lisp
==============================================================================
--- trunk/asn.1/oid.lisp (original)
+++ trunk/asn.1/oid.lisp Mon Sep 24 08:23:56 2007
@@ -9,7 +9,7 @@
(rev-names :initform nil :type list :reader oid-name :initarg :name)
(length :initform 0 :type integer :reader oid-length)))
-(defun oid-id (oid)
+(defun oid (oid)
(declare (type object-id oid))
(reverse (slot-value 'rev-ids oid)))
Modified: trunk/asn.1/parse.lisp
==============================================================================
--- trunk/asn.1/parse.lisp (original)
+++ trunk/asn.1/parse.lisp Mon Sep 24 08:23:56 2007
@@ -1,51 +1,60 @@
(in-package :asn.1)
-(defvar *mib-pathname-base* #p"/usr/share/snmp/mibs/")
+(defparameter *mib-pathname-base*
+ (merge-pathnames
+ (make-pathname :directory '(:relative "mibs"))
+ (asdf:component-pathname (asdf:find-system :net-snmp))))
+
+;; (defvar *mib-pathname-base* #p"/usr/share/snmp/mibs/")
(defun mib-pathname (name &optional (base *mib-pathname-base*))
(merge-pathnames (make-pathname :name name :type "txt")
base))
+(defun test-syntax-2 (name)
+ (parse-mib (mib-pathname name)))
+
(defparameter *mibs-list*
- '("RFC1155-SMI"
- "SNMPv2-SMI"
- "SNMPv2-TC"
+ '("SNMPv2-SMI"
"SNMPV2-MIB"))
-(defun parse-oia (syntax-tree)
- "Parse all OBJECT IDENTIFIER assignment"
+(defun parse-value-assignments (syntax-tree)
+ "Parse all value assignments into a list"
(let ((module (car syntax-tree)))
(let ((assignment-list (Module-Body-assignment-list
(Module-Definition-body module))))
- (mapcar #'cdr
- (delete-if-not #'(lambda (x) (eq (car x) :value))
- (mapcar #'(lambda (x) (cons (Assignment-type x)
- (Assignment-value x)))
- (kb-sequence->list assignment-list)))))))
+ (mapcar #'Assignment-value
+ (delete-if-not #'(lambda (x) (eq (Assignment-type x) :value))
+ (kb-sequence->list assignment-list))))))
-(defun parse-va (va)
- "Parse One value assignment"
+(defun parse-value-assignment (va)
+ "Parse one value assignment"
(declare (type Value-Assignment va))
- (when (equal (Value-Assignment-type va) '("OBJECT" "IDENTIFIER"))
- (let ((name (Value-Assignment-name va))
- (vlist (kb-sequence->list (Object-Identifier-Value-value
- (Value-Assignment-value va)))))
- (let ((vlist-2 (nthcdr (- (list-length vlist) 2) vlist)))
- (let ((parent (first vlist-2))
- (id (second vlist-2)))
- (values (if (symbolp parent) (symbol-name parent)
- (symbol-name (Obj-Id-Component-name parent)))
- id
- (symbol-name name)))))))
-
-(defun test-parse (name)
- (mapcar #'(lambda (x)
- (when (Value-Assignment-p x)
- (multiple-value-bind (p i n) (parse-va x)
- (insert-node p i n))))
- (parse-oia (parse-mib (mib-pathname name)))))
-
-(defun test-parse-2 (name) (parse-oia (parse-mib (mib-pathname name))))
-
-(defun test-parse-3 (name)
- (parse-mib (mib-pathname name)))
+ (let ((name (Value-Assignment-name va))
+ (vlist (kb-sequence->list (Object-Identifier-Value-value
+ (Value-Assignment-value va)))))
+ (cons (mapcar #'(lambda (x) (cond ((numberp x) x)
+ ((symbolp x) (symbol-name x))
+ ((Obj-Id-Component-p x)
+ (cons (symbol-name (Obj-Id-Component-name x))
+ (Obj-Id-Component-value x)))))
+ vlist)
+ (symbol-name name))))
+
+(defun resolve-parent (olist)
+ (if (numberp (car olist))
+ (tree-node (reverse (cdr (reverse olist))))
+ (if (and (= 2 (list-length olist)) (stringp (car olist)))
+ (or (gethash (car olist) *mib-index*)
+ nil)
+ nil)))
+
+(defun parse (name)
+ (let ((l (parse% name)))
+ (dolist (i l (list-length l))
+ (let ((oid (car i)) (name (cdr i)))
+ (insert-node (resolve-parent oid) (car (last oid)) name)))))
+
+(defun parse% (name)
+ (mapcar #'parse-value-assignment
+ (parse-value-assignments (parse-mib (mib-pathname name)))))
Modified: trunk/asn.1/syntax.lisp
==============================================================================
--- trunk/asn.1/syntax.lisp (original)
+++ trunk/asn.1/syntax.lisp Mon Sep 24 08:23:56 2007
@@ -12,8 +12,9 @@
:directory '(:relative "asn.1"))
(asdf:component-pathname (asdf:find-system :net-snmp))))
-(eval-when (:load-toplevel :execute)
- (zebu-load-file *asn.1-syntax*))
+(defun generate-print-function (ITEM STREAM LEVEL)
+ (DECLARE (IGNORE LEVEL))
+ (FORMAT STREAM "<GPF>"))
(defun update-syntax (&optional (zb *asn.1-syntax-source*) (tab *asn.1-syntax*))
(let ((*warn-conflicts* t)
@@ -21,3 +22,5 @@
(zebu-compile-file zb :output-file tab)
(zebu-load-file tab)))
+(eval-when (:load-toplevel :execute)
+ (zebu-load-file *asn.1-syntax*))
Added: trunk/mibs/IF-MIB.txt
==============================================================================
--- (empty file)
+++ trunk/mibs/IF-MIB.txt Mon Sep 24 08:23:56 2007
@@ -0,0 +1,1814 @@
+IF-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64,
+ Integer32, TimeTicks, mib-2,
+ NOTIFICATION-TYPE FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, DisplayString,
+ PhysAddress, TruthValue, RowStatus,
+ TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
+ snmpTraps FROM SNMPv2-MIB
+ IANAifType FROM IANAifType-MIB;
+
+ifMIB MODULE-IDENTITY
+ LAST-UPDATED "200006140000Z"
+ ORGANIZATION "IETF Interfaces MIB Working Group"
+ CONTACT-INFO
+ " Keith McCloghrie
+ Cisco Systems, Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134-1706
+ US
+
+ 408-526-5260
+ kzm(a)cisco.com"
+ DESCRIPTION
+ "The MIB module to describe generic objects for network
+ interface sub-layers. This MIB is an updated version of
+ MIB-II's ifTable, and incorporates the extensions defined in
+ RFC 1229."
+
+ REVISION "200006140000Z"
+ DESCRIPTION
+ "Clarifications agreed upon by the Interfaces MIB WG, and
+ published as RFC 2863."
+ REVISION "199602282155Z"
+ DESCRIPTION
+ "Revisions made by the Interfaces MIB WG, and published in
+ RFC 2233."
+ REVISION "199311082155Z"
+ DESCRIPTION
+ "Initial revision, published as part of RFC 1573."
+ ::= { mib-2 31 }
+
+ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
+
+interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
+
+--
+-- Textual Conventions
+--
+
+-- OwnerString has the same semantics as used in RFC 1271
+
+OwnerString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS deprecated
+ DESCRIPTION
+ "This data type is used to model an administratively
+ assigned name of the owner of a resource. This information
+ is taken from the NVT ASCII character set. It is suggested
+ that this name contain one or more of the following: ASCII
+ form of the manager station's transport address, management
+ station name (e.g., domain name), network management
+ personnel's name, location, or phone number. In some cases
+ the agent itself will be the owner of an entry. In these
+ cases, this string shall be set to a string starting with
+ 'agent'."
+ SYNTAX OCTET STRING (SIZE(0..255))
+
+-- InterfaceIndex contains the semantics of ifIndex and should be used
+-- for any objects defined in other MIB modules that need these semantics.
+
+InterfaceIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each interface or
+ interface sub-layer in the managed system. It is
+ recommended that values are assigned contiguously starting
+ from 1. The value for each interface sub-layer must remain
+ constant at least from one re-initialization of the entity's
+ network management system to the next re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ InterfaceIndex convention. The latter defines a greater
+ than zero value used to identify an interface or interface
+ sub-layer in the managed system. This extension permits the
+ additional value of zero. the value zero is object-specific
+ and must therefore be defined as part of the description of
+ any object which uses this syntax. Examples of the usage of
+ zero might include situations where interface was unknown,
+ or when none or all interfaces need to be referenced."
+ SYNTAX Integer32 (0..2147483647)
+
+ifNumber OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of network interfaces (regardless of their
+ current state) present on this system."
+ ::= { interfaces 1 }
+
+ifTableLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the last creation or
+ deletion of an entry in the ifTable. If the number of
+ entries has been unchanged since the last re-initialization
+ of the local network management subsystem, then this object
+ contains a zero value."
+ ::= { ifMIBObjects 5 }
+
+-- the Interfaces table
+
+-- The Interfaces table contains information on the entity's
+
+-- interfaces. Each sub-layer below the internetwork-layer
+-- of a network interface is considered to be an interface.
+
+ifTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of interface entries. The number of entries is
+ given by the value of ifNumber."
+ ::= { interfaces 2 }
+
+ifEntry OBJECT-TYPE
+ SYNTAX IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing management information applicable to a
+ particular interface."
+ INDEX { ifIndex }
+ ::= { ifTable 1 }
+
+IfEntry ::=
+ SEQUENCE {
+ ifIndex InterfaceIndex,
+ ifDescr DisplayString,
+ ifType IANAifType,
+ ifMtu Integer32,
+ ifSpeed Gauge32,
+ ifPhysAddress PhysAddress,
+ ifAdminStatus INTEGER,
+ ifOperStatus INTEGER,
+ ifLastChange TimeTicks,
+ ifInOctets Counter32,
+ ifInUcastPkts Counter32,
+ ifInNUcastPkts Counter32, -- deprecated
+ ifInDiscards Counter32,
+ ifInErrors Counter32,
+ ifInUnknownProtos Counter32,
+ ifOutOctets Counter32,
+ ifOutUcastPkts Counter32,
+ ifOutNUcastPkts Counter32, -- deprecated
+ ifOutDiscards Counter32,
+ ifOutErrors Counter32,
+ ifOutQLen Gauge32, -- deprecated
+ ifSpecific OBJECT IDENTIFIER -- deprecated
+ }
+
+ifIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each interface. It
+ is recommended that values are assigned contiguously
+ starting from 1. The value for each interface sub-layer
+ must remain constant at least from one re-initialization of
+ the entity's network management system to the next re-
+ initialization."
+ ::= { ifEntry 1 }
+
+ifDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual string containing information about the
+ interface. This string should include the name of the
+ manufacturer, the product name and the version of the
+ interface hardware/software."
+ ::= { ifEntry 2 }
+
+ifType OBJECT-TYPE
+ SYNTAX IANAifType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of interface. Additional values for ifType are
+ assigned by the Internet Assigned Numbers Authority (IANA),
+ through updating the syntax of the IANAifType textual
+ convention."
+ ::= { ifEntry 3 }
+
+ifMtu OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest packet which can be sent/received
+ on the interface, specified in octets. For interfaces that
+ are used for transmitting network datagrams, this is the
+ size of the largest network datagram that can be sent on the
+ interface."
+ ::= { ifEntry 4 }
+
+ifSpeed OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An estimate of the interface's current bandwidth in bits
+ per second. For interfaces which do not vary in bandwidth
+ or for those where no accurate estimation can be made, this
+ object should contain the nominal bandwidth. If the
+ bandwidth of the interface is greater than the maximum value
+ reportable by this object then this object should report its
+ maximum value (4,294,967,295) and ifHighSpeed must be used
+ to report the interace's speed. For a sub-layer which has
+ no concept of bandwidth, this object should be zero."
+ ::= { ifEntry 5 }
+
+ifPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The interface's address at its protocol sub-layer. For
+ example, for an 802.x interface, this object normally
+ contains a MAC address. The interface's media-specific MIB
+ must define the bit and byte ordering and the format of the
+ value of this object. For interfaces which do not have such
+ an address (e.g., a serial line), this object should contain
+ an octet string of zero length."
+ ::= { ifEntry 6 }
+
+ifAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3) -- in some test mode
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The desired state of the interface. The testing(3) state
+ indicates that no operational packets can be passed. When a
+ managed system initializes, all interfaces start with
+ ifAdminStatus in the down(2) state. As a result of either
+ explicit management action or per configuration information
+ retained by the managed system, ifAdminStatus is then
+ changed to either the up(1) or testing(3) states (or remains
+ in the down(2) state)."
+ ::= { ifEntry 7 }
+
+ifOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3), -- in some test mode
+ unknown(4), -- status can not be determined
+ -- for some reason.
+ dormant(5),
+ notPresent(6), -- some component is missing
+ lowerLayerDown(7) -- down due to state of
+ -- lower-layer interface(s)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of the interface. The
+ testing(3) state indicates that no operational packets can
+ be passed. If ifAdminStatus is down(2) then ifOperStatus
+ should be down(2). If ifAdminStatus is changed to up(1)
+ then ifOperStatus should change to up(1) if the interface is
+ ready to transmit and receive network traffic; it should
+ change to dormant(5) if the interface is waiting for
+ external actions (such as a serial line waiting for an
+ incoming connection); it should remain in the down(2) state
+ if and only if there is a fault that prevents it from going
+ to the up(1) state; it should remain in the notPresent(6)
+ state if the interface has missing (typically, hardware)
+ components."
+ ::= { ifEntry 8 }
+
+ifLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the interface entered
+ its current operational state. If the current state was
+ entered prior to the last re-initialization of the local
+ network management subsystem, then this object contains a
+ zero value."
+ ::= { ifEntry 9 }
+
+ifInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received on the interface,
+ including framing characters.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 10 }
+
+ifInUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were not addressed to a multicast
+ or broadcast address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 11 }
+
+ifInNUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast or
+ broadcast address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime.
+
+ This object is deprecated in favour of ifInMulticastPkts and
+ ifInBroadcastPkts."
+ ::= { ifEntry 12 }
+
+ifInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of inbound packets which were chosen to be
+ discarded even though no errors had been detected to prevent
+
+ their being deliverable to a higher-layer protocol. One
+ possible reason for discarding such a packet could be to
+ free up buffer space.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 13 }
+
+ifInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of inbound
+ packets that contained errors preventing them from being
+ deliverable to a higher-layer protocol. For character-
+ oriented or fixed-length interfaces, the number of inbound
+ transmission units that contained errors preventing them
+ from being deliverable to a higher-layer protocol.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 14 }
+
+ifInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of packets
+ received via the interface which were discarded because of
+ an unknown or unsupported protocol. For character-oriented
+ or fixed-length interfaces that support protocol
+ multiplexing the number of transmission units received via
+ the interface which were discarded because of an unknown or
+ unsupported protocol. For any interface that does not
+ support protocol multiplexing, this counter will always be
+ 0.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 15 }
+
+ifOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted out of the
+ interface, including framing characters.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 16 }
+
+ifOutUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were not addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 17 }
+
+ifOutNUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime.
+
+ This object is deprecated in favour of ifOutMulticastPkts
+ and ifOutBroadcastPkts."
+ ::= { ifEntry 18 }
+
+ifOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of outbound packets which were chosen to be
+ discarded even though no errors had been detected to prevent
+ their being transmitted. One possible reason for discarding
+ such a packet could be to free up buffer space.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 19 }
+
+ifOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of outbound
+ packets that could not be transmitted because of errors.
+ For character-oriented or fixed-length interfaces, the
+ number of outbound transmission units that could not be
+ transmitted because of errors.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 20 }
+
+ifOutQLen OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The length of the output packet queue (in packets)."
+ ::= { ifEntry 21 }
+
+ifSpecific OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "A reference to MIB definitions specific to the particular
+ media being used to realize the interface. It is
+
+ recommended that this value point to an instance of a MIB
+ object in the media-specific MIB, i.e., that this object
+ have the semantics associated with the InstancePointer
+ textual convention defined in RFC 2579. In fact, it is
+ recommended that the media-specific MIB specify what value
+ ifSpecific should/can take for values of ifType. If no MIB
+ definitions specific to the particular media are available,
+ the value should be set to the OBJECT IDENTIFIER { 0 0 }."
+ ::= { ifEntry 22 }
+
+--
+-- Extension to the interface table
+--
+-- This table replaces the ifExtnsTable table.
+--
+
+ifXTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfXEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of interface entries. The number of entries is
+ given by the value of ifNumber. This table contains
+ additional objects for the interface table."
+ ::= { ifMIBObjects 1 }
+
+ifXEntry OBJECT-TYPE
+ SYNTAX IfXEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing additional management information
+ applicable to a particular interface."
+ AUGMENTS { ifEntry }
+ ::= { ifXTable 1 }
+
+IfXEntry ::=
+ SEQUENCE {
+ ifName DisplayString,
+ ifInMulticastPkts Counter32,
+ ifInBroadcastPkts Counter32,
+ ifOutMulticastPkts Counter32,
+ ifOutBroadcastPkts Counter32,
+ ifHCInOctets Counter64,
+ ifHCInUcastPkts Counter64,
+ ifHCInMulticastPkts Counter64,
+ ifHCInBroadcastPkts Counter64,
+ ifHCOutOctets Counter64,
+ ifHCOutUcastPkts Counter64,
+ ifHCOutMulticastPkts Counter64,
+ ifHCOutBroadcastPkts Counter64,
+ ifLinkUpDownTrapEnable INTEGER,
+ ifHighSpeed Gauge32,
+ ifPromiscuousMode TruthValue,
+ ifConnectorPresent TruthValue,
+ ifAlias DisplayString,
+ ifCounterDiscontinuityTime TimeStamp
+ }
+
+ifName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The textual name of the interface. The value of this
+ object should be the name of the interface as assigned by
+ the local device and should be suitable for use in commands
+ entered at the device's `console'. This might be a text
+ name, such as `le0' or a simple port number, such as `1',
+ depending on the interface naming syntax of the device. If
+ several entries in the ifTable together represent a single
+ interface as named by the device, then each will have the
+ same value of ifName. Note that for an agent which responds
+ to SNMP queries concerning an interface on some other
+ (proxied) device, then the value of ifName for such an
+ interface is the proxied device's local name for it.
+
+ If there is no local name, or this object is otherwise not
+ applicable, then this object contains a zero-length string."
+ ::= { ifXEntry 1 }
+
+ifInMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast
+ address at this sub-layer. For a MAC layer protocol, this
+ includes both Group and Functional addresses.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 2 }
+
+ifInBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a broadcast
+ address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 3 }
+
+ifOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast address at this sub-layer, including those that
+ were discarded or not sent. For a MAC layer protocol, this
+ includes both Group and Functional addresses.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 4 }
+
+ifOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ broadcast address at this sub-layer, including those that
+ were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 5 }
+
+--
+-- High Capacity Counter objects. These objects are all
+-- 64 bit versions of the "basic" ifTable counters. These
+-- objects all have the same basic semantics as their 32-bit
+-- counterparts, however, their syntax has been extended
+-- to 64 bits.
+--
+
+ifHCInOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received on the interface,
+ including framing characters. This object is a 64-bit
+ version of ifInOctets.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 6 }
+
+ifHCInUcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were not addressed to a multicast
+ or broadcast address at this sub-layer. This object is a
+ 64-bit version of ifInUcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 7 }
+
+ifHCInMulticastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast
+ address at this sub-layer. For a MAC layer protocol, this
+ includes both Group and Functional addresses. This object
+ is a 64-bit version of ifInMulticastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 8 }
+
+ifHCInBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a broadcast
+ address at this sub-layer. This object is a 64-bit version
+ of ifInBroadcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 9 }
+
+ifHCOutOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted out of the
+ interface, including framing characters. This object is a
+ 64-bit version of ifOutOctets.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 10 }
+
+ifHCOutUcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were not addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent. This object is a
+ 64-bit version of ifOutUcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 11 }
+
+ifHCOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast address at this sub-layer, including those that
+ were discarded or not sent. For a MAC layer protocol, this
+ includes both Group and Functional addresses. This object
+ is a 64-bit version of ifOutMulticastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 12 }
+
+ifHCOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ broadcast address at this sub-layer, including those that
+ were discarded or not sent. This object is a 64-bit version
+ of ifOutBroadcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 13 }
+
+ifLinkUpDownTrapEnable OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates whether linkUp/linkDown traps should be generated
+ for this interface.
+
+ By default, this object should have the value enabled(1) for
+ interfaces which do not operate on 'top' of any other
+ interface (as defined in the ifStackTable), and disabled(2)
+ otherwise."
+ ::= { ifXEntry 14 }
+
+ifHighSpeed OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An estimate of the interface's current bandwidth in units
+ of 1,000,000 bits per second. If this object reports a
+ value of `n' then the speed of the interface is somewhere in
+ the range of `n-500,000' to `n+499,999'. For interfaces
+ which do not vary in bandwidth or for those where no
+ accurate estimation can be made, this object should contain
+ the nominal bandwidth. For a sub-layer which has no concept
+ of bandwidth, this object should be zero."
+ ::= { ifXEntry 15 }
+
+ifPromiscuousMode OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object has a value of false(2) if this interface only
+ accepts packets/frames that are addressed to this station.
+ This object has a value of true(1) when the station accepts
+ all packets/frames transmitted on the media. The value
+ true(1) is only legal on certain types of media. If legal,
+ setting this object to a value of true(1) may require the
+ interface to be reset before becoming effective.
+
+ The value of ifPromiscuousMode does not affect the reception
+ of broadcast and multicast packets/frames by the interface."
+ ::= { ifXEntry 16 }
+
+ifConnectorPresent OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)' if the interface
+ sublayer has a physical connector and the value 'false(2)'
+ otherwise."
+ ::= { ifXEntry 17 }
+
+ifAlias OBJECT-TYPE
+ SYNTAX DisplayString (SIZE(0..64))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object is an 'alias' name for the interface as
+ specified by a network manager, and provides a non-volatile
+ 'handle' for the interface.
+
+ On the first instantiation of an interface, the value of
+ ifAlias associated with that interface is the zero-length
+ string. As and when a value is written into an instance of
+ ifAlias through a network management set operation, then the
+ agent must retain the supplied value in the ifAlias instance
+ associated with the same interface for as long as that
+ interface remains instantiated, including across all re-
+ initializations/reboots of the network management system,
+ including those which result in a change of the interface's
+ ifIndex value.
+
+ An example of the value which a network manager might store
+ in this object for a WAN interface is the (Telco's) circuit
+ number/identifier of the interface.
+
+ Some agents may support write-access only for interfaces
+ having particular values of ifType. An agent which supports
+ write access to this object is required to keep the value in
+ non-volatile storage, but it may limit the length of new
+ values depending on how much storage is already occupied by
+ the current values for other interfaces."
+ ::= { ifXEntry 18 }
+
+ifCounterDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this interface's counters suffered a
+ discontinuity. The relevant counters are the specific
+ instances associated with this interface of any Counter32 or
+
+ Counter64 object contained in the ifTable or ifXTable. If
+ no such discontinuities have occurred since the last re-
+ initialization of the local management subsystem, then this
+ object contains a zero value."
+ ::= { ifXEntry 19 }
+
+-- The Interface Stack Group
+--
+-- Implementation of this group is optional, but strongly recommended
+-- for all systems
+--
+
+ifStackTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing information on the relationships
+ between the multiple sub-layers of network interfaces. In
+ particular, it contains information on which sub-layers run
+ 'on top of' which other sub-layers, where each sub-layer
+ corresponds to a conceptual row in the ifTable. For
+ example, when the sub-layer with ifIndex value x runs over
+ the sub-layer with ifIndex value y, then this table
+ contains:
+
+ ifStackStatus.x.y=active
+
+ For each ifIndex value, I, which identifies an active
+ interface, there are always at least two instantiated rows
+ in this table associated with I. For one of these rows, I
+ is the value of ifStackHigherLayer; for the other, I is the
+ value of ifStackLowerLayer. (If I is not involved in
+ multiplexing, then these are the only two rows associated
+ with I.)
+
+ For example, two rows exist even for an interface which has
+ no others stacked on top or below it:
+
+ ifStackStatus.0.x=active
+ ifStackStatus.x.0=active "
+ ::= { ifMIBObjects 2 }
+
+ifStackEntry OBJECT-TYPE
+ SYNTAX IfStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information on a particular relationship between two sub-
+ layers, specifying that one sub-layer runs on 'top' of the
+ other sub-layer. Each sub-layer corresponds to a conceptual
+ row in the ifTable."
+ INDEX { ifStackHigherLayer, ifStackLowerLayer }
+ ::= { ifStackTable 1 }
+
+IfStackEntry ::=
+ SEQUENCE {
+ ifStackHigherLayer InterfaceIndexOrZero,
+ ifStackLowerLayer InterfaceIndexOrZero,
+ ifStackStatus RowStatus
+ }
+
+ifStackHigherLayer OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex corresponding to the higher sub-layer
+ of the relationship, i.e., the sub-layer which runs on 'top'
+ of the sub-layer identified by the corresponding instance of
+ ifStackLowerLayer. If there is no higher sub-layer (below
+ the internetwork layer), then this object has the value 0."
+ ::= { ifStackEntry 1 }
+
+ifStackLowerLayer OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex corresponding to the lower sub-layer
+ of the relationship, i.e., the sub-layer which runs 'below'
+ the sub-layer identified by the corresponding instance of
+ ifStackHigherLayer. If there is no lower sub-layer, then
+ this object has the value 0."
+ ::= { ifStackEntry 2 }
+
+ifStackStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of the relationship between two sub-layers.
+
+ Changing the value of this object from 'active' to
+ 'notInService' or 'destroy' will likely have consequences up
+ and down the interface stack. Thus, write access to this
+ object is likely to be inappropriate for some types of
+ interfaces, and many implementations will choose not to
+ support write-access for any type of interface."
+ ::= { ifStackEntry 3 }
+
+ifStackLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the last change of
+ the (whole) interface stack. A change of the interface
+ stack is defined to be any creation, deletion, or change in
+ value of any instance of ifStackStatus. If the interface
+ stack has been unchanged since the last re-initialization of
+ the local network management subsystem, then this object
+ contains a zero value."
+ ::= { ifMIBObjects 6 }
+
+-- Generic Receive Address Table
+--
+-- This group of objects is mandatory for all types of
+-- interfaces which can receive packets/frames addressed to
+-- more than one address.
+--
+-- This table replaces the ifExtnsRcvAddr table. The main
+-- difference is that this table makes use of the RowStatus
+-- textual convention, while ifExtnsRcvAddr did not.
+
+ifRcvAddressTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfRcvAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains an entry for each address (broadcast,
+ multicast, or uni-cast) for which the system will receive
+ packets/frames on a particular interface, except as follows:
+
+ - for an interface operating in promiscuous mode, entries
+ are only required for those addresses for which the system
+ would receive frames were it not operating in promiscuous
+ mode.
+
+ - for 802.5 functional addresses, only one entry is
+ required, for the address which has the functional address
+ bit ANDed with the bit mask of all functional addresses for
+ which the interface will accept frames.
+
+ A system is normally able to use any unicast address which
+ corresponds to an entry in this table as a source address."
+ ::= { ifMIBObjects 4 }
+
+ifRcvAddressEntry OBJECT-TYPE
+ SYNTAX IfRcvAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of objects identifying an address for which the
+ system will accept packets/frames on the particular
+ interface identified by the index value ifIndex."
+ INDEX { ifIndex, ifRcvAddressAddress }
+ ::= { ifRcvAddressTable 1 }
+
+IfRcvAddressEntry ::=
+ SEQUENCE {
+ ifRcvAddressAddress PhysAddress,
+ ifRcvAddressStatus RowStatus,
+ ifRcvAddressType INTEGER
+ }
+
+ifRcvAddressAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An address for which the system will accept packets/frames
+ on this entry's interface."
+ ::= { ifRcvAddressEntry 1 }
+
+ifRcvAddressStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object is used to create and delete rows in the
+ ifRcvAddressTable."
+ ::= { ifRcvAddressEntry 2 }
+
+ifRcvAddressType OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ other(1),
+ volatile(2),
+ nonVolatile(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object has the value nonVolatile(3) for those entries
+ in the table which are valid and will not be deleted by the
+ next restart of the managed system. Entries having the
+ value volatile(2) are valid and exist, but have not been
+ saved, so that will not exist after the next restart of the
+ managed system. Entries having the value other(1) are valid
+ and exist but are not classified as to whether they will
+ continue to exist after the next restart."
+ DEFVAL { volatile }
+ ::= { ifRcvAddressEntry 3 }
+
+-- definition of interface-related traps.
+
+linkDown NOTIFICATION-TYPE
+ OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
+ STATUS current
+ DESCRIPTION
+ "A linkDown trap signifies that the SNMP entity, acting in
+ an agent role, has detected that the ifOperStatus object for
+ one of its communication links is about to enter the down
+ state from some other state (but not from the notPresent
+ state). This other state is indicated by the included value
+ of ifOperStatus."
+ ::= { snmpTraps 3 }
+
+linkUp NOTIFICATION-TYPE
+ OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
+ STATUS current
+ DESCRIPTION
+ "A linkUp trap signifies that the SNMP entity, acting in an
+ agent role, has detected that the ifOperStatus object for
+ one of its communication links left the down state and
+ transitioned into some other state (but not into the
+ notPresent state). This other state is indicated by the
+ included value of ifOperStatus."
+ ::= { snmpTraps 4 }
+
+-- conformance information
+
+ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
+
+ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 }
+ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
+
+-- compliance statements
+
+ifCompliance3 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which have
+ network interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralInformationGroup,
+ linkUpDownNotificationsGroup }
+
+-- The groups:
+-- ifFixedLengthGroup
+-- ifHCFixedLengthGroup
+-- ifPacketGroup
+-- ifHCPacketGroup
+-- ifVHCPacketGroup
+-- are mutually exclusive; at most one of these groups is implemented
+-- for a particular interface. When any of these groups is implemented
+-- for a particular interface, then ifCounterDiscontinuityGroup must
+-- also be implemented for that interface.
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units, and for which the value of the
+ corresponding instance of ifSpeed is less than or equal to
+ 20,000,000 bits/second."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are packet-oriented, and for which the value of the
+ corresponding instance of ifSpeed is less than or equal to
+ 20,000,000 bits/second."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second but less than or equal to 650,000,000
+ bits/second."
+
+ GROUP ifVHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifCounterDiscontinuityGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces that
+ are required to maintain counters (i.e., those for which one
+ of the ifFixedLengthGroup, ifHCFixedLengthGroup,
+ ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is
+ mandatory)."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+
+ OBJECT ifAlias
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ifCompliances 3 }
+
+-- units of conformance
+
+ifGeneralInformationGroup OBJECT-GROUP
+ OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
+ ifAdminStatus, ifOperStatus, ifLastChange,
+ ifLinkUpDownTrapEnable, ifConnectorPresent,
+ ifHighSpeed, ifName, ifNumber, ifAlias,
+ ifTableLastChange }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information applicable to
+ all network interfaces."
+ ::= { ifGroups 10 }
+
+-- the following five groups are mutually exclusive; at most
+-- one of these groups is implemented for any interface
+
+ifFixedLengthGroup OBJECT-GROUP
+ OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ non-high speed (non-high speed interfaces transmit and
+ receive at speeds less than or equal to 20,000,000
+ bits/second) character-oriented or fixed-length-transmission
+ network interfaces."
+ ::= { ifGroups 2 }
+
+ifHCFixedLengthGroup OBJECT-GROUP
+ OBJECTS { ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ high speed (greater than 20,000,000 bits/second) character-
+ oriented or fixed-length-transmission network interfaces."
+ ::= { ifGroups 3 }
+
+ifPacketGroup OBJECT-GROUP
+ OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ non-high speed (non-high speed interfaces transmit and
+ receive at speeds less than or equal to 20,000,000
+ bits/second) packet-oriented network interfaces."
+ ::= { ifGroups 4 }
+
+ifHCPacketGroup OBJECT-GROUP
+ OBJECTS { ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ high speed (greater than 20,000,000 bits/second but less
+ than or equal to 650,000,000 bits/second) packet-oriented
+ network interfaces."
+ ::= { ifGroups 5 }
+
+ifVHCPacketGroup OBJECT-GROUP
+ OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
+ ifHCInBroadcastPkts, ifHCOutUcastPkts,
+ ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
+ ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ higher speed (greater than 650,000,000 bits/second) packet-
+ oriented network interfaces."
+ ::= { ifGroups 6 }
+
+ifRcvAddressGroup OBJECT-GROUP
+ OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information on the
+ multiple addresses which an interface receives."
+ ::= { ifGroups 7 }
+
+ifStackGroup2 OBJECT-GROUP
+ OBJECTS { ifStackStatus, ifStackLastChange }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information on the
+ layering of MIB-II interfaces."
+ ::= { ifGroups 11 }
+
+ifCounterDiscontinuityGroup OBJECT-GROUP
+ OBJECTS { ifCounterDiscontinuityTime }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ interface counter discontinuities."
+ ::= { ifGroups 13 }
+
+linkUpDownNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { linkUp, linkDown }
+ STATUS current
+ DESCRIPTION
+ "The notifications which indicate specific changes in the
+ value of ifOperStatus."
+ ::= { ifGroups 14 }
+
+-- Deprecated Definitions - Objects
+
+--
+-- The Interface Test Table
+--
+-- This group of objects is optional. However, a media-specific
+
+-- MIB may make implementation of this group mandatory.
+--
+-- This table replaces the ifExtnsTestTable
+--
+
+ifTestTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfTestEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "This table contains one entry per interface. It defines
+ objects which allow a network manager to instruct an agent
+ to test an interface for various faults. Tests for an
+ interface are defined in the media-specific MIB for that
+ interface. After invoking a test, the object ifTestResult
+ can be read to determine the outcome. If an agent can not
+ perform the test, ifTestResult is set to so indicate. The
+ object ifTestCode can be used to provide further test-
+ specific or interface-specific (or even enterprise-specific)
+ information concerning the outcome of the test. Only one
+ test can be in progress on each interface at any one time.
+ If one test is in progress when another test is invoked, the
+ second test is rejected. Some agents may reject a test when
+ a prior test is active on another interface.
+
+ Before starting a test, a manager-station must first obtain
+ 'ownership' of the entry in the ifTestTable for the
+ interface to be tested. This is accomplished with the
+ ifTestId and ifTestStatus objects as follows:
+
+ try_again:
+ get (ifTestId, ifTestStatus)
+ while (ifTestStatus != notInUse)
+ /*
+ * Loop while a test is running or some other
+ * manager is configuring a test.
+ */
+ short delay
+ get (ifTestId, ifTestStatus)
+ }
+
+ /*
+ * Is not being used right now -- let's compete
+ * to see who gets it.
+ */
+ lock_value = ifTestId
+
+ if ( set(ifTestId = lock_value, ifTestStatus = inUse,
+ ifTestOwner = 'my-IP-address') == FAILURE)
+ /*
+ * Another manager got the ifTestEntry -- go
+ * try again
+ */
+ goto try_again;
+
+ /*
+ * I have the lock
+ */
+ set up any test parameters.
+
+ /*
+ * This starts the test
+ */
+ set(ifTestType = test_to_run);
+
+ wait for test completion by polling ifTestResult
+
+ when test completes, agent sets ifTestResult
+ agent also sets ifTestStatus = 'notInUse'
+
+ retrieve any additional test results, and ifTestId
+
+ if (ifTestId == lock_value+1) results are valid
+
+ A manager station first retrieves the value of the
+ appropriate ifTestId and ifTestStatus objects, periodically
+ repeating the retrieval if necessary, until the value of
+ ifTestStatus is 'notInUse'. The manager station then tries
+ to set the same ifTestId object to the value it just
+ retrieved, the same ifTestStatus object to 'inUse', and the
+ corresponding ifTestOwner object to a value indicating
+ itself. If the set operation succeeds then the manager has
+ obtained ownership of the ifTestEntry, and the value of the
+ ifTestId object is incremented by the agent (per the
+ semantics of TestAndIncr). Failure of the set operation
+ indicates that some other manager has obtained ownership of
+ the ifTestEntry.
+
+ Once ownership is obtained, any test parameters can be
+ setup, and then the test is initiated by setting ifTestType.
+ On completion of the test, the agent sets ifTestStatus to
+ 'notInUse'. Once this occurs, the manager can retrieve the
+ results. In the (rare) event that the invocation of tests
+ by two network managers were to overlap, then there would be
+ a possibility that the first test's results might be
+ overwritten by the second test's results prior to the first
+
+ results being read. This unlikely circumstance can be
+ detected by a network manager retrieving ifTestId at the
+ same time as retrieving the test results, and ensuring that
+ the results are for the desired request.
+
+ If ifTestType is not set within an abnormally long period of
+ time after ownership is obtained, the agent should time-out
+ the manager, and reset the value of the ifTestStatus object
+ back to 'notInUse'. It is suggested that this time-out
+ period be 5 minutes.
+
+ In general, a management station must not retransmit a
+ request to invoke a test for which it does not receive a
+ response; instead, it properly inspects an agent's MIB to
+ determine if the invocation was successful. Only if the
+ invocation was unsuccessful, is the invocation request
+ retransmitted.
+
+ Some tests may require the interface to be taken off-line in
+ order to execute them, or may even require the agent to
+ reboot after completion of the test. In these
+ circumstances, communication with the management station
+ invoking the test may be lost until after completion of the
+ test. An agent is not required to support such tests.
+ However, if such tests are supported, then the agent should
+ make every effort to transmit a response to the request
+ which invoked the test prior to losing communication. When
+ the agent is restored to normal service, the results of the
+ test are properly made available in the appropriate objects.
+ Note that this requires that the ifIndex value assigned to
+ an interface must be unchanged even if the test causes a
+ reboot. An agent must reject any test for which it cannot,
+ perhaps due to resource constraints, make available at least
+ the minimum amount of information after that test
+ completes."
+ ::= { ifMIBObjects 3 }
+
+ifTestEntry OBJECT-TYPE
+ SYNTAX IfTestEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "An entry containing objects for invoking tests on an
+ interface."
+ AUGMENTS { ifEntry }
+ ::= { ifTestTable 1 }
+
+IfTestEntry ::=
+
+ SEQUENCE {
+ ifTestId TestAndIncr,
+ ifTestStatus INTEGER,
+ ifTestType AutonomousType,
+ ifTestResult INTEGER,
+ ifTestCode OBJECT IDENTIFIER,
+ ifTestOwner OwnerString
+ }
+
+ifTestId OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "This object identifies the current invocation of the
+ interface's test."
+ ::= { ifTestEntry 1 }
+
+ifTestStatus OBJECT-TYPE
+ SYNTAX INTEGER { notInUse(1), inUse(2) }
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "This object indicates whether or not some manager currently
+ has the necessary 'ownership' required to invoke a test on
+ this interface. A write to this object is only successful
+ when it changes its value from 'notInUse(1)' to 'inUse(2)'.
+ After completion of a test, the agent resets the value back
+ to 'notInUse(1)'."
+ ::= { ifTestEntry 2 }
+
+ifTestType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "A control variable used to start and stop operator-
+ initiated interface tests. Most OBJECT IDENTIFIER values
+ assigned to tests are defined elsewhere, in association with
+ specific types of interface. However, this document assigns
+ a value for a full-duplex loopback test, and defines the
+ special meanings of the subject identifier:
+
+ noTest OBJECT IDENTIFIER ::= { 0 0 }
+
+ When the value noTest is written to this object, no action
+ is taken unless a test is in progress, in which case the
+ test is aborted. Writing any other value to this object is
+
+ only valid when no test is currently in progress, in which
+ case the indicated test is initiated.
+
+ When read, this object always returns the most recent value
+ that ifTestType was set to. If it has not been set since
+ the last initialization of the network management subsystem
+ on the agent, a value of noTest is returned."
+ ::= { ifTestEntry 3 }
+
+ifTestResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1), -- no test yet requested
+ success(2),
+ inProgress(3),
+ notSupported(4),
+ unAbleToRun(5), -- due to state of system
+ aborted(6),
+ failed(7)
+ }
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "This object contains the result of the most recently
+ requested test, or the value none(1) if no tests have been
+ requested since the last reset. Note that this facility
+ provides no provision for saving the results of one test
+ when starting another, as could be required if used by
+ multiple managers concurrently."
+ ::= { ifTestEntry 4 }
+
+ifTestCode OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "This object contains a code which contains more specific
+ information on the test result, for example an error-code
+ after a failed test. Error codes and other values this
+ object may take are specific to the type of interface and/or
+ test. The value may have the semantics of either the
+ AutonomousType or InstancePointer textual conventions as
+ defined in RFC 2579. The identifier:
+
+ testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
+
+ is defined for use if no additional result code is
+ available."
+ ::= { ifTestEntry 5 }
+
+ifTestOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The entity which currently has the 'ownership' required to
+ invoke a test on this interface."
+ ::= { ifTestEntry 6 }
+
+-- Deprecated Definitions - Groups
+
+ifGeneralGroup OBJECT-GROUP
+ OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
+ ifAdminStatus, ifOperStatus, ifLastChange,
+ ifLinkUpDownTrapEnable, ifConnectorPresent,
+ ifHighSpeed, ifName }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects deprecated in favour of
+ ifGeneralInformationGroup."
+ ::= { ifGroups 1 }
+
+ifTestGroup OBJECT-GROUP
+ OBJECTS { ifTestId, ifTestStatus, ifTestType,
+ ifTestResult, ifTestCode, ifTestOwner }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing the ability to invoke
+ tests on an interface."
+ ::= { ifGroups 8 }
+
+ifStackGroup OBJECT-GROUP
+ OBJECTS { ifStackStatus }
+ STATUS deprecated
+ DESCRIPTION
+ "The previous collection of objects providing information on
+ the layering of MIB-II interfaces."
+ ::= { ifGroups 9 }
+
+ifOldObjectsGroup OBJECT-GROUP
+ OBJECTS { ifInNUcastPkts, ifOutNUcastPkts,
+ ifOutQLen, ifSpecific }
+ STATUS deprecated
+ DESCRIPTION
+ "The collection of objects deprecated from the original MIB-
+ II interfaces group."
+ ::= { ifGroups 12 }
+
+-- Deprecated Definitions - Compliance
+
+ifCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "A compliance statement defined in a previous version of
+ this MIB module, for SNMP entities which have network
+ interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are character-oriented or transmit data in fixed-
+ length transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are packet-oriented."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifTestGroup
+ DESCRIPTION
+ "This group is optional. Media-specific MIBs which require
+ interface tests are strongly encouraged to use this group
+ for invoking tests and reporting results. A medium specific
+ MIB which has mandatory tests may make implementation of
+
+ this group mandatory."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifStackStatus
+ SYNTAX INTEGER { active(1) } -- subset of RowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, and only one of the six
+ enumerated values for the RowStatus textual convention need
+ be supported, specifically: active(1)."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+ ::= { ifCompliances 1 }
+
+ifCompliance2 MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "A compliance statement defined in a previous version of
+ this MIB module, for SNMP entities which have network
+ interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2,
+ ifCounterDiscontinuityGroup }
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are character-oriented or transmit data in fixed-
+ length transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are packet-oriented."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifStackStatus
+ SYNTAX INTEGER { active(1) } -- subset of RowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, and only one of the six
+ enumerated values for the RowStatus textual convention need
+ be supported, specifically: active(1)."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+
+ OBJECT ifAlias
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ifCompliances 2 }
+
+END
Added: trunk/mibs/SNMPv2-MIB.txt
==============================================================================
--- (empty file)
+++ trunk/mibs/SNMPv2-MIB.txt Mon Sep 24 08:23:56 2007
@@ -0,0 +1,854 @@
+SNMPv2-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ TimeTicks, Counter32, snmpModules, mib-2
+ FROM SNMPv2-SMI
+ DisplayString, TestAndIncr, TimeStamp
+
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF;
+
+snmpMIB MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-EMail: snmpv3(a)lists.tislabs.com
+ Subscribe: snmpv3-request(a)lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy(a)tislabs.com
+ phone: +1 301 947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester, NH 03866-5005
+ USA
+ EMail: dbh(a)enterasys.com
+ phone: +1 603 337-2614
+
+ Editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ EMail: randy_presuhn(a)bmc.com
+ phone: +1 408 546-1006"
+ DESCRIPTION
+ "The MIB module for SNMP entities.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3418;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210160000Z"
+ DESCRIPTION
+ "This revision of this MIB module was published as
+ RFC 3418."
+ REVISION "199511090000Z"
+ DESCRIPTION
+ "This revision of this MIB module was published as
+ RFC 1907."
+ REVISION "199304010000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was published
+ as RFC 1450."
+ ::= { snmpModules 1 }
+
+snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
+
+-- ::= { snmpMIBObjects 1 } this OID is obsolete
+-- ::= { snmpMIBObjects 2 } this OID is obsolete
+-- ::= { snmpMIBObjects 3 } this OID is obsolete
+
+-- the System group
+--
+-- a collection of objects common to all managed systems.
+
+system OBJECT IDENTIFIER ::= { mib-2 1 }
+
+sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the entity. This value should
+ include the full name and version identification of
+ the system's hardware type, software operating-system,
+ and networking software."
+ ::= { system 1 }
+
+sysObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The vendor's authoritative identification of the
+ network management subsystem contained in the entity.
+ This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and
+ unambiguous means for determining `what kind of box' is
+ being managed. For example, if vendor `Flintstones,
+ Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
+ it could assign the identifier 1.3.6.1.4.1.424242.1.1
+ to its `Fred Router'."
+ ::= { system 2 }
+
+sysUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in hundredths of a second) since the
+ network management portion of the system was last
+ re-initialized."
+ ::= { system 3 }
+
+sysContact OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The textual identification of the contact person for
+ this managed node, together with information on how
+ to contact this person. If no contact information is
+ known, the value is the zero-length string."
+ ::= { system 4 }
+
+sysName OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An administratively-assigned name for this managed
+ node. By convention, this is the node's fully-qualified
+ domain name. If the name is unknown, the value is
+ the zero-length string."
+ ::= { system 5 }
+
+sysLocation OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The physical location of this node (e.g., 'telephone
+ closet, 3rd floor'). If the location is unknown, the
+ value is the zero-length string."
+ ::= { system 6 }
+
+sysServices OBJECT-TYPE
+ SYNTAX INTEGER (0..127)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A value which indicates the set of services that this
+ entity may potentially offer. The value is a sum.
+
+ This sum initially takes the value zero. Then, for
+ each layer, L, in the range 1 through 7, that this node
+ performs transactions for, 2 raised to (L - 1) is added
+ to the sum. For example, a node which performs only
+ routing functions would have a value of 4 (2^(3-1)).
+ In contrast, a node which is a host offering application
+ services would have a value of 72 (2^(4-1) + 2^(7-1)).
+ Note that in the context of the Internet suite of
+ protocols, values should be calculated accordingly:
+
+ layer functionality
+ 1 physical (e.g., repeaters)
+ 2 datalink/subnetwork (e.g., bridges)
+ 3 internet (e.g., supports the IP)
+ 4 end-to-end (e.g., supports the TCP)
+ 7 applications (e.g., supports the SMTP)
+
+ For systems including OSI protocols, layers 5 and 6
+ may also be counted."
+ ::= { system 7 }
+
+-- object resource information
+--
+-- a collection of objects which describe the SNMP entity's
+-- (statically and dynamically configurable) support of
+-- various MIB modules.
+
+sysORLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the most recent
+ change in state or value of any instance of sysORID."
+ ::= { system 8 }
+
+sysORTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table listing the capabilities of
+ the local SNMP application acting as a command
+ responder with respect to various MIB modules.
+ SNMP entities having dynamically-configurable support
+ of MIB modules will have a dynamically-varying number
+ of conceptual rows."
+ ::= { system 9 }
+
+sysOREntry OBJECT-TYPE
+ SYNTAX SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) in the sysORTable."
+ INDEX { sysORIndex }
+ ::= { sysORTable 1 }
+
+SysOREntry ::= SEQUENCE {
+ sysORIndex INTEGER,
+ sysORID OBJECT IDENTIFIER,
+ sysORDescr DisplayString,
+ sysORUpTime TimeStamp
+}
+
+sysORIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The auxiliary variable used for identifying instances
+ of the columnar objects in the sysORTable."
+ ::= { sysOREntry 1 }
+
+sysORID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An authoritative identification of a capabilities
+ statement with respect to various MIB modules supported
+ by the local SNMP application acting as a command
+ responder."
+ ::= { sysOREntry 2 }
+
+sysORDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the capabilities identified
+ by the corresponding instance of sysORID."
+ ::= { sysOREntry 3 }
+
+sysORUpTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this conceptual
+ row was last instantiated."
+ ::= { sysOREntry 4 }
+
+-- the SNMP group
+--
+-- a collection of objects providing basic instrumentation and
+-- control of an SNMP entity.
+
+snmp OBJECT IDENTIFIER ::= { mib-2 11 }
+
+snmpInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages delivered to the SNMP
+ entity from the transport service."
+ ::= { snmp 1 }
+
+snmpInBadVersions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages which were delivered
+ to the SNMP entity and were for an unsupported SNMP
+ version."
+ ::= { snmp 3 }
+
+snmpInBadCommunityNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of community-based SNMP messages (for
+ example, SNMPv1) delivered to the SNMP entity which
+ used an SNMP community name not known to said entity.
+ Also, implementations which authenticate community-based
+ SNMP messages using check(s) in addition to matching
+ the community name (for example, by also checking
+ whether the message originated from a transport address
+ allowed to use a specified community name) MAY include
+ in this value the number of messages which failed the
+ additional check(s). It is strongly RECOMMENDED that
+
+ the documentation for any security model which is used
+ to authenticate community-based SNMP messages specify
+ the precise conditions that contribute to this value."
+ ::= { snmp 4 }
+
+snmpInBadCommunityUses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of community-based SNMP messages (for
+ example, SNMPv1) delivered to the SNMP entity which
+ represented an SNMP operation that was not allowed for
+ the SNMP community named in the message. The precise
+ conditions under which this counter is incremented
+ (if at all) depend on how the SNMP entity implements
+ its access control mechanism and how its applications
+ interact with that access control mechanism. It is
+ strongly RECOMMENDED that the documentation for any
+ access control mechanism which is used to control access
+ to and visibility of MIB instrumentation specify the
+ precise conditions that contribute to this value."
+ ::= { snmp 5 }
+
+snmpInASNParseErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ASN.1 or BER errors encountered by
+ the SNMP entity when decoding received SNMP messages."
+ ::= { snmp 6 }
+
+snmpEnableAuthenTraps OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates whether the SNMP entity is permitted to
+ generate authenticationFailure traps. The value of this
+ object overrides any configuration information; as such,
+ it provides a means whereby all authenticationFailure
+ traps may be disabled.
+
+ Note that it is strongly recommended that this object
+ be stored in non-volatile memory so that it remains
+ constant across re-initializations of the network
+ management system."
+ ::= { snmp 30 }
+
+snmpSilentDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Confirmed Class PDUs (such as
+ GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and
+ InformRequest-PDUs) delivered to the SNMP entity which
+ were silently dropped because the size of a reply
+ containing an alternate Response Class PDU (such as a
+ Response-PDU) with an empty variable-bindings field
+ was greater than either a local constraint or the
+ maximum message size associated with the originator of
+ the request."
+ ::= { snmp 31 }
+
+snmpProxyDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Confirmed Class PDUs
+ (such as GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and
+ InformRequest-PDUs) delivered to the SNMP entity which
+ were silently dropped because the transmission of
+ the (possibly translated) message to a proxy target
+ failed in a manner (other than a time-out) such that
+ no Response Class PDU (such as a Response-PDU) could
+ be returned."
+ ::= { snmp 32 }
+
+-- information for notifications
+--
+-- a collection of objects which allow the SNMP entity, when
+-- supporting a notification originator application,
+-- to be configured to generate SNMPv2-Trap-PDUs.
+
+snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
+
+snmpTrapOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the notification
+ currently being sent. This variable occurs as
+ the second varbind in every SNMPv2-Trap-PDU and
+ InformRequest-PDU."
+ ::= { snmpTrap 1 }
+
+-- ::= { snmpTrap 2 } this OID is obsolete
+
+snmpTrapEnterprise OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the enterprise
+ associated with the trap currently being sent. When an
+ SNMP proxy agent is mapping an RFC1157 Trap-PDU
+ into a SNMPv2-Trap-PDU, this variable occurs as the
+ last varbind."
+ ::= { snmpTrap 3 }
+
+-- ::= { snmpTrap 4 } this OID is obsolete
+
+-- well-known traps
+
+snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
+
+coldStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A coldStart trap signifies that the SNMP entity,
+ supporting a notification originator application, is
+ reinitializing itself and that its configuration may
+ have been altered."
+ ::= { snmpTraps 1 }
+
+warmStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A warmStart trap signifies that the SNMP entity,
+ supporting a notification originator application,
+ is reinitializing itself such that its configuration
+ is unaltered."
+ ::= { snmpTraps 2 }
+
+-- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 }
+-- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 }
+-- are defined in RFC 2863 [RFC2863]
+
+authenticationFailure NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "An authenticationFailure trap signifies that the SNMP
+ entity has received a protocol message that is not
+ properly authenticated. While all implementations
+ of SNMP entities MAY be capable of generating this
+ trap, the snmpEnableAuthenTraps object indicates
+ whether this trap will be generated."
+ ::= { snmpTraps 5 }
+
+-- Note the egpNeighborLoss notification is defined
+-- as { snmpTraps 6 } in RFC 1213
+
+-- the set group
+--
+-- a collection of objects which allow several cooperating
+-- command generator applications to coordinate their use of the
+-- set operation.
+
+snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
+
+snmpSetSerialNo OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow several cooperating
+ command generator applications to coordinate their
+ use of the SNMP set operation.
+
+ This object is used for coarse-grain coordination.
+ To achieve fine-grain coordination, one or more similar
+ objects might be defined within each MIB group, as
+ appropriate."
+ ::= { snmpSet 1 }
+
+-- conformance information
+
+snmpMIBConformance
+ OBJECT IDENTIFIER ::= { snmpMIB 2 }
+
+snmpMIBCompliances
+ OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
+snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
+
+-- compliance statements
+
+-- ::= { snmpMIBCompliances 1 } this OID is obsolete
+snmpBasicCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement the SNMPv2 MIB.
+
+ This compliance statement is replaced by
+ snmpBasicComplianceRev2."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
+ snmpBasicNotificationsGroup }
+
+ GROUP snmpCommunityGroup
+ DESCRIPTION
+ "This group is mandatory for SNMPv2 entities which
+ support community-based authentication."
+ ::= { snmpMIBCompliances 2 }
+
+snmpBasicComplianceRev2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which
+ implement this MIB module."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
+ snmpBasicNotificationsGroup }
+
+ GROUP snmpCommunityGroup
+ DESCRIPTION
+ "This group is mandatory for SNMP entities which
+ support community-based authentication."
+
+ GROUP snmpWarmStartNotificationGroup
+ DESCRIPTION
+ "This group is mandatory for an SNMP entity which
+ supports command responder applications, and is
+ able to reinitialize itself such that its
+ configuration is unaltered."
+ ::= { snmpMIBCompliances 3 }
+
+-- units of conformance
+
+-- ::= { snmpMIBGroups 1 } this OID is obsolete
+-- ::= { snmpMIBGroups 2 } this OID is obsolete
+-- ::= { snmpMIBGroups 3 } this OID is obsolete
+
+-- ::= { snmpMIBGroups 4 } this OID is obsolete
+
+snmpGroup OBJECT-GROUP
+ OBJECTS { snmpInPkts,
+ snmpInBadVersions,
+ snmpInASNParseErrs,
+ snmpSilentDrops,
+ snmpProxyDrops,
+ snmpEnableAuthenTraps }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation
+ and control of an SNMP entity."
+ ::= { snmpMIBGroups 8 }
+
+snmpCommunityGroup OBJECT-GROUP
+ OBJECTS { snmpInBadCommunityNames,
+ snmpInBadCommunityUses }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation
+ of a SNMP entity which supports community-based
+ authentication."
+ ::= { snmpMIBGroups 9 }
+
+snmpSetGroup OBJECT-GROUP
+ OBJECTS { snmpSetSerialNo }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects which allow several cooperating
+ command generator applications to coordinate their
+ use of the set operation."
+ ::= { snmpMIBGroups 5 }
+
+systemGroup OBJECT-GROUP
+ OBJECTS { sysDescr, sysObjectID, sysUpTime,
+ sysContact, sysName, sysLocation,
+ sysServices,
+ sysORLastChange, sysORID,
+ sysORUpTime, sysORDescr }
+ STATUS current
+ DESCRIPTION
+ "The system group defines objects which are common to all
+ managed systems."
+ ::= { snmpMIBGroups 6 }
+
+snmpBasicNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { coldStart, authenticationFailure }
+ STATUS current
+ DESCRIPTION
+ "The basic notifications implemented by an SNMP entity
+ supporting command responder applications."
+ ::= { snmpMIBGroups 7 }
+
+snmpWarmStartNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { warmStart }
+ STATUS current
+ DESCRIPTION
+ "An additional notification for an SNMP entity supporting
+ command responder applications, if it is able to reinitialize
+ itself such that its configuration is unaltered."
+ ::= { snmpMIBGroups 11 }
+
+snmpNotificationGroup OBJECT-GROUP
+ OBJECTS { snmpTrapOID, snmpTrapEnterprise }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for entities
+ which support notification originator applications."
+ ::= { snmpMIBGroups 12 }
+
+-- definitions in RFC 1213 made obsolete by the inclusion of a
+-- subset of the snmp group in this MIB
+
+snmpOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ passed from the SNMP protocol entity to the
+ transport service."
+ ::= { snmp 2 }
+
+-- { snmp 7 } is not used
+
+snmpInTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `tooBig'."
+ ::= { snmp 8 }
+
+snmpInNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `noSuchName'."
+ ::= { snmp 9 }
+
+snmpInBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `badValue'."
+ ::= { snmp 10 }
+
+snmpInReadOnlys OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number valid SNMP PDUs which were delivered
+ to the SNMP protocol entity and for which the value
+ of the error-status field was `readOnly'. It should
+ be noted that it is a protocol error to generate an
+ SNMP PDU which contains the value `readOnly' in the
+ error-status field, as such this object is provided
+ as a means of detecting incorrect implementations of
+ the SNMP."
+ ::= { snmp 11 }
+
+snmpInGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were delivered
+ to the SNMP protocol entity and for which the value
+ of the error-status field was `genErr'."
+ ::= { snmp 12 }
+
+snmpInTotalReqVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ retrieved successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Get-Request
+ and Get-Next PDUs."
+ ::= { snmp 13 }
+
+snmpInTotalSetVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ altered successfully by the SNMP protocol entity as
+ the result of receiving valid SNMP Set-Request PDUs."
+ ::= { snmp 14 }
+
+snmpInGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 15 }
+
+snmpInGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have been
+ accepted and processed by the SNMP protocol entity."
+ ::= { snmp 16 }
+
+snmpInSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 17 }
+
+snmpInGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 18 }
+
+snmpInTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have been
+ accepted and processed by the SNMP protocol entity."
+ ::= { snmp 19 }
+
+snmpOutTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `tooBig.'"
+ ::= { snmp 20 }
+
+snmpOutNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status was `noSuchName'."
+ ::= { snmp 21 }
+
+snmpOutBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `badValue'."
+ ::= { snmp 22 }
+
+-- { snmp 23 } is not used
+
+snmpOutGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `genErr'."
+ ::= { snmp 24 }
+
+snmpOutGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 25 }
+
+snmpOutGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 26 }
+
+snmpOutSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 27 }
+
+snmpOutGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 28 }
+
+snmpOutTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 29 }
+
+snmpObsoleteGroup OBJECT-GROUP
+ OBJECTS { snmpOutPkts, snmpInTooBigs, snmpInNoSuchNames,
+ snmpInBadValues, snmpInReadOnlys, snmpInGenErrs,
+ snmpInTotalReqVars, snmpInTotalSetVars,
+ snmpInGetRequests, snmpInGetNexts, snmpInSetRequests,
+ snmpInGetResponses, snmpInTraps, snmpOutTooBigs,
+ snmpOutNoSuchNames, snmpOutBadValues,
+ snmpOutGenErrs, snmpOutGetRequests, snmpOutGetNexts,
+ snmpOutSetRequests, snmpOutGetResponses, snmpOutTraps
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects from RFC 1213 made obsolete
+ by this MIB module."
+ ::= { snmpMIBGroups 10 }
+
+END
Added: trunk/mibs/SNMPv2-SMI.txt
==============================================================================
--- (empty file)
+++ trunk/mibs/SNMPv2-SMI.txt Mon Sep 24 08:23:56 2007
@@ -0,0 +1,344 @@
+SNMPv2-SMI DEFINITIONS ::= BEGIN
+
+-- the path to the root
+
+org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1
+dod OBJECT IDENTIFIER ::= { org 6 }
+internet OBJECT IDENTIFIER ::= { dod 1 }
+
+directory OBJECT IDENTIFIER ::= { internet 1 }
+
+mgmt OBJECT IDENTIFIER ::= { internet 2 }
+mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
+transmission OBJECT IDENTIFIER ::= { mib-2 10 }
+
+experimental OBJECT IDENTIFIER ::= { internet 3 }
+
+private OBJECT IDENTIFIER ::= { internet 4 }
+enterprises OBJECT IDENTIFIER ::= { private 1 }
+
+security OBJECT IDENTIFIER ::= { internet 5 }
+
+snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
+
+-- transport domains
+snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
+
+-- transport proxies
+snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
+
+-- module identities
+snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
+
+-- Extended UTCTime, to allow dates with four-digit years
+-- (Note that this definition of ExtUTCTime is not to be IMPORTed
+-- by MIB modules.)
+ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
+ -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
+
+ -- where: YY - last two digits of year (only years
+ -- between 1900-1999)
+ -- YYYY - last four digits of the year (any year)
+ -- MM - month (01 through 12)
+ -- DD - day of month (01 through 31)
+ -- HH - hours (00 through 23)
+ -- MM - minutes (00 through 59)
+ -- Z - denotes GMT (the ASCII character Z)
+ --
+ -- For example, "9502192015Z" and "199502192015Z" represent
+ -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
+ -- the four digit year format. Years 1900-1999 may use the
+ -- two or four digit format.
+
+-- definitions for information modules
+
+MODULE-IDENTITY MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "LAST-UPDATED" value(Update ExtUTCTime)
+ "ORGANIZATION" Text
+ "CONTACT-INFO" Text
+ "DESCRIPTION" Text
+ RevisionPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ RevisionPart ::=
+ Revisions
+ | empty
+ Revisions ::=
+ Revision
+ | Revisions Revision
+ Revision ::=
+ "REVISION" value(Update ExtUTCTime)
+ "DESCRIPTION" Text
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+OBJECT-IDENTITY MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "STATUS" Status
+ "DESCRIPTION" Text
+
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- names of objects
+-- (Note that these definitions of ObjectName and NotificationName
+-- are not to be IMPORTed by MIB modules.)
+
+ObjectName ::=
+ OBJECT IDENTIFIER
+
+NotificationName ::=
+ OBJECT IDENTIFIER
+
+-- syntax of objects
+
+-- the "base types" defined here are:
+-- 3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
+-- 8 application-defined types: Integer32, IpAddress, Counter32,
+-- Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
+
+ObjectSyntax ::=
+ CHOICE {
+ simple
+ SimpleSyntax,
+ -- note that SEQUENCEs for conceptual tables and
+ -- rows are not mentioned here...
+
+ application-wide
+ ApplicationSyntax
+ }
+
+-- built-in ASN.1 types
+
+SimpleSyntax ::=
+ CHOICE {
+ -- INTEGERs with a more restrictive range
+ -- may also be used
+ integer-value -- includes Integer32
+ INTEGER (-2147483648..2147483647),
+ -- OCTET STRINGs with a more restrictive size
+ -- may also be used
+ string-value
+ OCTET STRING (SIZE (0..65535)),
+ objectID-value
+ OBJECT IDENTIFIER
+ }
+
+-- indistinguishable from INTEGER, but never needs more than
+-- 32-bits for a two's complement representation
+Integer32 ::=
+ INTEGER (-2147483648..2147483647)
+
+-- application-wide types
+
+ApplicationSyntax ::=
+ CHOICE {
+ ipAddress-value
+ IpAddress,
+ counter-value
+ Counter32,
+ timeticks-value
+ TimeTicks,
+ arbitrary-value
+ Opaque,
+ big-counter-value
+ Counter64,
+ unsigned-integer-value -- includes Gauge32
+ Unsigned32
+ }
+
+-- in network-byte order
+
+-- (this is a tagged type for historical reasons)
+IpAddress ::=
+ [APPLICATION 0]
+ IMPLICIT OCTET STRING (SIZE (4))
+
+-- this wraps
+Counter32 ::=
+ [APPLICATION 1]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- this doesn't wrap
+Gauge32 ::=
+ [APPLICATION 2]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- an unsigned 32-bit quantity
+-- indistinguishable from Gauge32
+Unsigned32 ::=
+ [APPLICATION 2]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- hundredths of seconds since an epoch
+TimeTicks ::=
+ [APPLICATION 3]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- for backward-compatibility only
+Opaque ::=
+ [APPLICATION 4]
+ IMPLICIT OCTET STRING
+
+-- for counters that wrap in less than one hour with only 32 bits
+Counter64 ::=
+ [APPLICATION 6]
+ IMPLICIT INTEGER (0..18446744073709551615)
+
+-- definition for objects
+
+OBJECT-TYPE MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "SYNTAX" Syntax
+ UnitsPart
+ "MAX-ACCESS" Access
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ IndexPart
+ DefValPart
+
+ VALUE NOTATION ::=
+ value(VALUE ObjectName)
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement),
+ -- a textual convention (or its refinement), or
+ -- a BITS pseudo-type
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+ UnitsPart ::=
+ "UNITS" Text
+ | empty
+
+ Access ::=
+ "not-accessible"
+ | "accessible-for-notify"
+ | "read-only"
+ | "read-write"
+ | "read-create"
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ IndexPart ::=
+ "INDEX" "{" IndexTypes "}"
+ | "AUGMENTS" "{" Entry "}"
+ | empty
+ IndexTypes ::=
+ IndexType
+ | IndexTypes "," IndexType
+ IndexType ::=
+ "IMPLIED" Index
+ | Index
+
+ Index ::=
+ -- use the SYNTAX value of the
+ -- correspondent OBJECT-TYPE invocation
+ value(ObjectName)
+ Entry ::=
+ -- use the INDEX value of the
+ -- correspondent OBJECT-TYPE invocation
+ value(ObjectName)
+
+ DefValPart ::= "DEFVAL" "{" Defvalue "}"
+ | empty
+
+ Defvalue ::= -- must be valid for the type specified in
+ -- SYNTAX clause of same OBJECT-TYPE macro
+ value(ObjectSyntax)
+ | "{" BitsValue "}"
+
+ BitsValue ::= BitNames
+ | empty
+
+ BitNames ::= BitName
+ | BitNames "," BitName
+
+ BitName ::= identifier
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- definitions for notifications
+
+NOTIFICATION-TYPE MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ ObjectsPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE NotificationName)
+
+ ObjectsPart ::=
+ "OBJECTS" "{" Objects "}"
+ | empty
+ Objects ::=
+ Object
+
+ | Objects "," Object
+ Object ::=
+ value(ObjectName)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- definitions of administrative identifiers
+
+zeroDotZero OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "A value used for null identifiers."
+ ::= { 0 0 }
+
+END
Modified: trunk/net-snmp.asd
==============================================================================
--- trunk/net-snmp.asd (original)
+++ trunk/net-snmp.asd Mon Sep 24 08:23:56 2007
@@ -23,7 +23,10 @@
(:file "smi" :depends-on ("ber"))
(:file "oid" :depends-on ("syntax" "ber"))
(:file "mib" :depends-on ("syntax" "oid"))
- (:file "parse" :depends-on ("mib"))))))
+ (:file "parse" :depends-on ("mib"))
+ #+lispworks
+ (:file "mib-browse" :depends-on ("mib"))))))
+
;; (:file "package")
;; (:file "constants" :depends-on ("package"))
;; (:file "typedefs" :depends-on ("constants"))