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@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@lists.tislabs.com + Subscribe: snmpv3-request@lists.tislabs.com + + Co-Chair: Russ Mundy + Network Associates Laboratories + postal: 15204 Omega Drive, Suite 300 + Rockville, MD 20850-4601 + USA + EMail: mundy@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@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@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"))