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 (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _PICLOIDS_H 28 #define _PICLOIDS_H 29 30 #pragma ident "%Z%%M% %I% %E% SMI" 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 /* 37 * IETF OIDs (not all are used by PICL) 38 */ 39 #define OID_ISO "1" 40 #define OID_ORG OID_ISO ".3" 41 #define OID_DOD OID_ORG ".6" 42 #define OID_INTERNET OID_DOD ".1" 43 44 #define OID_PRIVATE OID_INTERNET ".4" 45 #define OID_ENTERPRISES OID_PRIVATE ".1" 46 #define OID_SUN OID_ENTERPRISES ".42" 47 48 #define OID_MGMT OID_INTERNET ".2" 49 #define OID_MIB2 OID_MGMT ".1" 50 #define OID_entityMIB OID_MIB2 ".47" 51 #define OID_entityMIBObjects OID_entityMIB ".1" 52 53 #define OID_entityPhysical OID_entityMIBObjects ".1" 54 #define OID_entPhysicalTable OID_entityPhysical ".1" 55 #define OID_entPhysicalEntry OID_entPhysicalTable ".1" 56 57 #define OID_entPhysicalIndex OID_entPhysicalEntry ".1" 58 #define OID_entPhysicalDescr OID_entPhysicalEntry ".2" 59 #define OID_entPhysicalVendorType OID_entPhysicalEntry ".3" 60 #define OID_entPhysicalContainedIn OID_entPhysicalEntry ".4" 61 #define OID_entPhysicalClass OID_entPhysicalEntry ".5" 62 #define OID_entPhysicalParentRelPos OID_entPhysicalEntry ".6" 63 #define OID_entPhysicalName OID_entPhysicalEntry ".7" 64 #define OID_entPhysicalHardwareRev OID_entPhysicalEntry ".8" 65 #define OID_entPhysicalFirmwareRev OID_entPhysicalEntry ".9" 66 #define OID_entPhysicalSoftwareRev OID_entPhysicalEntry ".10" 67 #define OID_entPhysicalSerialNum OID_entPhysicalEntry ".11" 68 #define OID_entPhysicalMfgName OID_entPhysicalEntry ".12" 69 #define OID_entPhysicalModelName OID_entPhysicalEntry ".13" 70 #define OID_entPhysicalAlias OID_entPhysicalEntry ".14" 71 #define OID_entPhysicalAssetID OID_entPhysicalEntry ".15" 72 #define OID_entPhysicalIsFRU OID_entPhysicalEntry ".16" 73 74 /* 75 * Conceptual row change time for handling hotplug/hotswap events 76 */ 77 #define OID_entityGeneral OID_entityMIBObjects ".4" 78 #define OID_entLastChangeTime OID_entityGeneral ".1" 79 80 /* 81 * Sun Platform MIB OIDs used by PICL 82 */ 83 #define OID_products OID_SUN ".2" 84 #define OID_sunFire OID_products ".70" 85 #define OID_sunPlatMIB OID_sunFire ".101" 86 #define OID_sunPlatMIBObjects OID_sunPlatMIB ".1" 87 #define OID_sunPlatMIBPhysicalObjects OID_sunPlatMIBObjects ".1" 88 89 /* 90 * Equipment Table 91 */ 92 #define OID_sunPlatEquipmentTable OID_sunPlatMIBPhysicalObjects ".2" 93 #define OID_sunPlatEquipmentEntry OID_sunPlatEquipmentTable ".1" 94 #define OID_sunPlatEquipmentOperationalState \ 95 OID_sunPlatEquipmentEntry ".2" 96 97 /* 98 * Equipment Holder Table 99 */ 100 #define OID_sunPlatEquipmentHolderTable OID_sunPlatMIBPhysicalObjects ".3" 101 #define OID_sunPlatEquipmentHolderEntry OID_sunPlatEquipmentHolderTable ".1" 102 #define OID_sunPlatEquipmentHolderAcceptableTypes \ 103 OID_sunPlatEquipmentHolderEntry ".2" 104 105 /* 106 * Circuit Pack Table 107 */ 108 #define OID_sunPlatCircuitPackTable OID_sunPlatMIBPhysicalObjects ".4" 109 #define OID_sunPlatCircuitPackEntry OID_sunPlatCircuitPackTable ".1" 110 #define OID_sunPlatCircuitPackReplaceable \ 111 OID_sunPlatCircuitPackEntry ".3" 112 #define OID_sunPlatCircuitPackHotSwappable \ 113 OID_sunPlatCircuitPackEntry ".4" 114 115 /* 116 * Physical Class Table 117 */ 118 #define OID_sunPlatPhysicalTable OID_sunPlatMIBPhysicalObjects ".5" 119 #define OID_sunPlatPhysicalEntry OID_sunPlatPhysicalTable ".1" 120 #define OID_sunPlatPhysicalClass OID_sunPlatPhysicalEntry ".1" 121 122 /* 123 * Sensor Table 124 */ 125 #define OID_sunPlatSensorTable OID_sunPlatMIBPhysicalObjects ".6" 126 #define OID_sunPlatSensorEntry OID_sunPlatSensorTable ".1" 127 #define OID_sunPlatSensorClass OID_sunPlatSensorEntry ".1" 128 #define OID_sunPlatSensorType OID_sunPlatSensorEntry ".2" 129 130 /* 131 * Binary Sensor Table 132 */ 133 #define OID_sunPlatBinarySensorTable OID_sunPlatMIBPhysicalObjects ".7" 134 #define OID_sunPlatBinarySensorEntry OID_sunPlatBinarySensorTable ".1" 135 136 #define OID_sunPlatBinarySensorCurrent OID_sunPlatBinarySensorEntry ".1" 137 #define OID_sunPlatBinarySensorExpected OID_sunPlatBinarySensorEntry ".2" 138 #define OID_sunPlatBinarySensorInterpretTrue \ 139 OID_sunPlatBinarySensorEntry ".3" 140 #define OID_sunPlatBinarySensorInterpretFalse \ 141 OID_sunPlatBinarySensorEntry ".4" 142 143 /* 144 * Numeric Sensor Table 145 */ 146 #define OID_sunPlatNumericSensorTable OID_sunPlatMIBPhysicalObjects ".8" 147 #define OID_sunPlatNumericSensorEntry OID_sunPlatNumericSensorTable ".1" 148 #define OID_sunPlatNumericSensorCurrent OID_sunPlatNumericSensorEntry ".4" 149 #define OID_sunPlatNumericSensorBaseUnits \ 150 OID_sunPlatNumericSensorEntry ".1" 151 #define OID_sunPlatNumericSensorExponent \ 152 OID_sunPlatNumericSensorEntry ".2" 153 #define OID_sunPlatNumericSensorRateUnits \ 154 OID_sunPlatNumericSensorEntry ".3" 155 #define OID_sunPlatNumericSensorLowerThresholdNonCritical \ 156 OID_sunPlatNumericSensorEntry ".8" 157 #define OID_sunPlatNumericSensorUpperThresholdNonCritical \ 158 OID_sunPlatNumericSensorEntry ".9" 159 #define OID_sunPlatNumericSensorLowerThresholdCritical \ 160 OID_sunPlatNumericSensorEntry ".10" 161 #define OID_sunPlatNumericSensorUpperThresholdCritical \ 162 OID_sunPlatNumericSensorEntry ".11" 163 #define OID_sunPlatNumericSensorLowerThresholdFatal \ 164 OID_sunPlatNumericSensorEntry ".12" 165 #define OID_sunPlatNumericSensorUpperThresholdFatal \ 166 OID_sunPlatNumericSensorEntry ".13" 167 #define OID_sunPlatNumericSensorEnabledThresholds \ 168 OID_sunPlatNumericSensorEntry ".15" 169 170 /* 171 * Alarm Table 172 */ 173 #define OID_sunPlatAlarmTable OID_sunPlatMIBPhysicalObjects ".12" 174 #define OID_sunPlatAlarmEntry OID_sunPlatAlarmTable ".1" 175 #define OID_sunPlatAlarmType OID_sunPlatAlarmEntry ".1" 176 #define OID_sunPlatAlarmState OID_sunPlatAlarmEntry ".2" 177 178 /* 179 * Power Supply Table 180 */ 181 #define OID_sunPlatPowerSupplyTable OID_sunPlatMIBPhysicalObjects ".14" 182 #define OID_sunPlatPowerSupplyEntry OID_sunPlatPowerSupplyTable ".1" 183 #define OID_sunPlatPowerSupplyClass OID_sunPlatPowerSupplyEntry ".1" 184 185 /* 186 * Battery Table 187 */ 188 #define OID_sunPlatBatteryTable OID_sunPlatMIBPhysicalObjects ".15" 189 #define OID_sunPlatBatteryEntry OID_sunPlatBatteryTable ".1" 190 #define OID_sunPlatBatteryStatus OID_sunPlatBatteryEntry ".1" 191 192 /* 193 * Integer enumeration classes used by PICL 194 */ 195 typedef enum { 196 ST_TRUE = 1, 197 ST_FALSE = 2 198 } snmp_truthval_t; 199 200 /* 201 * Note that the truth values could be much longer than the length 202 * of the strings "true" or "false", since we actuallly interpret them 203 * using InterpretTrue and InterpretFalse values in the MIB. Currently 204 * we limit them to be 32 (see MAX_TRUTHVAL_LEN definition below) 205 */ 206 #define STR_ST_TRUE "true" 207 #define STR_ST_FALSE "false" 208 209 /* entPhysicalClass */ 210 typedef enum { 211 SPC_OTHER = 1, 212 SPC_UNKNOWN = 2, 213 SPC_CHASSIS = 3, 214 SPC_BACKPLANE = 4, 215 SPC_CONTAINER = 5, 216 SPC_POWERSUPPLY = 6, 217 SPC_FAN = 7, 218 SPC_SENSOR = 8, 219 SPC_MODULE = 9, 220 SPC_PORT = 10, 221 SPC_STACK = 11 222 } snmp_physical_class_t; 223 224 /* sunPlatEquipmentOperationalState */ 225 typedef enum { 226 SSOS_DISABLED = 1, 227 SSOS_ENABLED = 2 228 } snmp_sunplat_op_state_t; 229 230 /* 231 * Update MAX_OPSTATE_LEN below if these strings are changed 232 */ 233 #define STR_SSOS_DISABLED "disabled" 234 #define STR_SSOS_ENABLED "enabled" 235 236 /* sunPlatPhysicalClass */ 237 typedef enum { 238 SSPC_OTHER = 1, 239 SSPC_ALARM = 2, 240 SSPC_WATCHDOG = 3 241 } snmp_sunplat_phys_class_t; 242 243 /* sunPlatSensorClass */ 244 typedef enum { 245 SSSC_BINARY = 1, 246 SSSC_NUMERIC = 2, 247 SSSC_DISCRETE = 3 248 } snmp_sunplat_sensor_class_t; 249 250 /* sunPlatSensorType */ 251 typedef enum { 252 SSST_OTHER = 1, 253 SSST_UNKNOWN = 2, 254 SSST_TEMPERATURE = 3, 255 SSST_VOLTAGE = 4, 256 SSST_CURRENT = 5, 257 SSST_TACHOMETER = 6, 258 SSST_COUNTER = 7, 259 SSST_SWITCH = 8, 260 SSST_LOCK = 9, 261 SSST_HUMIDITY = 10, 262 SSST_SMOKE_DETECTION = 11, 263 SSST_PRESENCE = 12, 264 SSST_AIRFLOW = 13 265 } snmp_sunplat_sensor_type_t; 266 267 /* sunPlatAlarmType */ 268 typedef enum { 269 SSAT_OTHER = 1, 270 SSAT_AUDIBLE = 2, 271 SSAT_VISIBLE = 3, 272 SSAT_MOTION = 4, 273 SSAT_SWITCH = 5 274 } snmp_sunplat_alarm_type_t; 275 276 /* sunPlatAlarmState */ 277 typedef enum { 278 SSAS_UNKNOWN = 1, 279 SSAS_OFF = 2, 280 SSAS_STEADY = 3, 281 SSAS_ALTERNATING = 4 282 } snmp_sunplat_alarm_state_t; 283 284 /* 285 * Update MAX_ALARMSTATE_LEN below if these strings are changed 286 */ 287 #define STR_SSAS_UNKNOWN "unknown" 288 #define STR_SSAS_OFF "off" 289 #define STR_SSAS_STEADY "steady" 290 #define STR_SSAS_ALTERNATING "alternating" 291 292 /* 293 * Bit masks for the sunPlatNumericSensorEnabledThresholds 294 */ 295 #define LOWER_NON_CRITICAL 0x80 296 #define UPPER_NON_CRITICAL 0x40 297 #define LOWER_CRITICAL 0x20 298 #define UPPER_CRITICAL 0x10 299 #define LOWER_FATAL 0x08 300 #define UPPER_FATAL 0x04 301 302 /* 303 * sunPlatPowerSupplyClass 304 */ 305 typedef enum { 306 SSPSC_OTHER = 1, 307 SSPSC_POWERSUPPLY = 2, 308 SSPSC_BATTERY = 3 309 } snmp_sunplat_power_supply_class_t; 310 311 /* 312 * sunPlatBatteryStatus 313 */ 314 typedef enum { 315 SSBS_OTHER = 1, 316 SSBS_UNKNOWN = 2, 317 SSBS_FULLYCHARGED = 3, 318 SSBS_LOW = 4, 319 SSBS_CRITICAL = 5, 320 SSBS_CHARGING = 6, 321 SSBS_CHARGING_AND_LOW = 7, 322 SSBS_CHARGING_AND_HIGH = 8, 323 SSBS_CHARGING_AND_CRITICAL = 9, 324 SSBS_UNDEFINED = 10, 325 SSBS_PARTIALLY_CHARGED = 11 326 } snmp_sunplat_battery_status_t; 327 328 /* 329 * Update MAX_BATTERYSTATUS_LEN below if these strings are changed 330 */ 331 #define STR_SSBS_OTHER "Other" 332 #define STR_SSBS_UNKNOWN "Unknown" 333 #define STR_SSBS_FULLYCHARGED "Fully Charged" 334 #define STR_SSBS_LOW "Low" 335 #define STR_SSBS_CRITICAL "Critical" 336 #define STR_SSBS_CHARGING "Charging" 337 #define STR_SSBS_CHARGING_AND_LOW "Charging and Low" 338 #define STR_SSBS_CHARGING_AND_HIGH "Charging and High" 339 #define STR_SSBS_CHARGING_AND_CRITICAL "Charging and Critical" 340 #define STR_SSBS_UNDEFINED "Undefined" 341 #define STR_SSBS_PARTIALLY_CHARGED "Partially Charged" 342 343 /* 344 * Max limits of all volatiles 345 */ 346 #define MAX_OPSTATE_LEN 10 347 #define MAX_ALARMSTATE_LEN 12 348 #define MAX_TRUTHVAL_LEN 32 349 #define MAX_BATTERYSTATUS_LEN 32 350 351 #ifdef __cplusplus 352 } 353 #endif 354 355 #endif /* _PICLOIDS_H */ 356