1-- 2-- CDDL HEADER START 3-- 4-- The contents of this file are subject to the terms of the 5-- Common Development and Distribution License, Version 1.0 only 6-- (the "License"). You may not use this file except in compliance 7-- with the License. 8-- 9-- You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10-- or http://www.opensolaris.org/os/licensing. 11-- See the License for the specific language governing permissions 12-- and limitations under the License. 13-- 14-- When distributing Covered Code, include this CDDL HEADER in each 15-- file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16-- If applicable, add the following below this CDDL HEADER, with the 17-- fields enclosed by brackets "[]" replaced with your own identifying 18-- information: Portions Copyright [yyyy] [name of copyright owner] 19-- 20-- CDDL HEADER END 21-- 22-- Copyright 1996 Sun Microsystems, Inc. All Rights Reserved. 23-- Use is subject to license terms. 24-- 25-- #ident "%Z%%M% %I% %E% SMI" 26-- 27 28 SNMPv2-SMI DEFINITIONS ::= BEGIN 29 30 31 -- the path to the root 32 33 internet OBJECT IDENTIFIER ::= { iso 3 6 1 } 34 35 directory OBJECT IDENTIFIER ::= { internet 1 } 36 37 mgmt OBJECT IDENTIFIER ::= { internet 2 } 38 39 experimental OBJECT IDENTIFIER ::= { internet 3 } 40 41 private OBJECT IDENTIFIER ::= { internet 4 } 42 enterprises OBJECT IDENTIFIER ::= { private 1 } 43 44 security OBJECT IDENTIFIER ::= { internet 5 } 45 46 snmpV2 OBJECT IDENTIFIER ::= { internet 6 } 47 48 -- transport domains 49 snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 } 50 51 -- transport proxies 52 snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 } 53 54 -- module identities 55 snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 } 56 57 58 59 -- definitions for information modules 60 61 MODULE-IDENTITY MACRO ::= 62 BEGIN 63 TYPE NOTATION ::= 64 "LAST-UPDATED" value(Update UTCTime) 65 "ORGANIZATION" Text 66 "CONTACT-INFO" Text 67 "DESCRIPTION" Text 68 RevisionPart 69 70 VALUE NOTATION ::= 71 value(VALUE OBJECT IDENTIFIER) 72 73 RevisionPart ::= 74 Revisions 75 | empty 76 Revisions ::= 77 Revision 78 | Revisions Revision 79 Revision ::= 80 "REVISION" value(Update UTCTime) 81 "DESCRIPTION" Text 82 83 -- uses the NVT ASCII character set 84 Text ::= """" string """" 85 END 86 87 88 89 OBJECT-IDENTITY MACRO ::= 90 BEGIN 91 TYPE NOTATION ::= 92 "STATUS" Status 93 "DESCRIPTION" Text 94 ReferPart 95 96 VALUE NOTATION ::= 97 value(VALUE OBJECT IDENTIFIER) 98 99 Status ::= 100 "current" 101 | "obsolete" 102 103 ReferPart ::= 104 "REFERENCE" Text 105 | empty 106 107 Text ::= """" string """" 108 END 109 110 111 112 -- names of objects 113 114 ObjectName ::= 115 OBJECT IDENTIFIER 116 117 118 -- syntax of objects 119 120 ObjectSyntax ::= 121 CHOICE { 122 simple 123 SimpleSyntax, 124 125 -- note that SEQUENCEs for conceptual tables and 126 -- rows are not mentioned here... 127 128 application-wide 129 ApplicationSyntax 130 } 131 132 133 -- built-in ASN.1 types 134 135 SimpleSyntax ::= 136 CHOICE { 137 -- INTEGERs with a more restrictive range 138 -- may also be used 139 integer-value 140 INTEGER (-2147483648..2147483647), 141 142 string-value 143 OCTET STRING, 144 145 objectID-value 146 OBJECT IDENTIFIER, 147 148 -- only the enumerated form is allowed 149 bit-value 150 BIT STRING 151 } 152 153 154 155 -- indistinguishable from INTEGER, but never needs more than 156 -- 32-bits for a two's complement representation 157 Integer32 ::= 158 [UNIVERSAL 2] 159 IMPLICIT INTEGER (-2147483648..2147483647) 160 161 162 -- application-wide types 163 164 ApplicationSyntax ::= 165 CHOICE { 166 ipAddress-value 167 IpAddress, 168 169 counter-value 170 Counter32, 171 172 gauge-value 173 Gauge32, 174 175 timeticks-value 176 TimeTicks, 177 178 arbitrary-value 179 Opaque, 180 181 nsapAddress-value 182 NsapAddress, 183 184 big-counter-value 185 Counter64, 186 187 unsigned-integer-value 188 UInteger32 189 } 190 191 -- in network-byte order 192 -- (this is a tagged type for historical reasons) 193 IpAddress ::= 194 [APPLICATION 0] 195 IMPLICIT OCTET STRING (SIZE (4)) 196 197 -- this wraps 198 Counter32 ::= 199 [APPLICATION 1] 200 IMPLICIT INTEGER (0..4294967295) 201 202 -- this doesn't wrap 203 Gauge32 ::= 204 [APPLICATION 2] 205 IMPLICIT INTEGER (0..4294967295) 206 207 -- hundredths of seconds since an epoch 208 TimeTicks ::= 209 [APPLICATION 3] 210 IMPLICIT INTEGER (0..4294967295) 211 212 -- for backward-compatibility only 213 Opaque ::= 214 [APPLICATION 4] 215 IMPLICIT OCTET STRING 216 217 -- for OSI NSAP addresses 218 -- (this is a tagged type for historical reasons) 219 NsapAddress ::= 220 [APPLICATION 5] 221 IMPLICIT OCTET STRING (SIZE (1 | 4..21)) 222 223 -- for counters that wrap in less than one hour with only 32 bits 224 Counter64 ::= 225 [APPLICATION 6] 226 IMPLICIT INTEGER (0..18446744073709551615) 227 228 -- an unsigned 32-bit quantity 229 UInteger32 ::= 230 [APPLICATION 7] 231 IMPLICIT INTEGER (0..4294967295) 232 233 234 235 236 -- definition for objects 237 238 OBJECT-TYPE MACRO ::= 239 BEGIN 240 TYPE NOTATION ::= 241 "SYNTAX" type(Syntax) 242 UnitsPart 243 "MAX-ACCESS" Access 244 "STATUS" Status 245 "DESCRIPTION" Text 246 ReferPart 247 IndexPart 248 DefValPart 249 250 VALUE NOTATION ::= 251 value(VALUE ObjectName) 252 253 UnitsPart ::= 254 "UNITS" Text 255 | empty 256 257 Access ::= 258 "not-accessible" 259 | "read-only" 260 | "read-write" 261 | "read-create" 262 263 Status ::= 264 "current" 265 | "deprecated" 266 | "obsolete" 267 268 ReferPart ::= 269 "REFERENCE" Text 270 | empty 271 272 IndexPart ::= 273 "INDEX" "{" IndexTypes "}" 274 | "AUGMENTS" "{" Entry "}" 275 | empty 276 IndexTypes ::= 277 IndexType 278 | IndexTypes "," IndexType 279 280 IndexType ::= 281 "IMPLIED" Index 282 | Index 283 Index ::= 284 -- use the SYNTAX value of the 285 -- correspondent OBJECT-TYPE invocation 286 value(Indexobject ObjectName) 287 Entry ::= 288 -- use the INDEX value of the 289 -- correspondent OBJECT-TYPE invocation 290 value(Entryobject ObjectName) 291 292 DefValPart ::= 293 "DEFVAL" "{" value(Defval Syntax) "}" 294 | empty 295 296 -- uses the NVT ASCII character set 297 Text ::= """" string """" 298 END 299 300 301 302 -- definitions for notifications 303 304 NOTIFICATION-TYPE MACRO ::= 305 BEGIN 306 TYPE NOTATION ::= 307 ObjectsPart 308 "STATUS" Status 309 "DESCRIPTION" Text 310 ReferPart 311 312 VALUE NOTATION ::= 313 value(VALUE OBJECT IDENTIFIER) 314 315 ObjectsPart ::= 316 "OBJECTS" "{" Objects "}" 317 | empty 318 Objects ::= 319 Object 320 | Objects "," Object 321 Object ::= 322 value(Name ObjectName) 323 324 Status ::= 325 "current" 326 | "deprecated" 327 | "obsolete" 328 329 ReferPart ::= 330 "REFERENCE" Text 331 | empty 332 333 -- uses the NVT ASCII character set 334 Text ::= """" string """" 335 END 336 337 338 END 339 340