cmd: remove sparc-only virtinfo
[unleashed.git] / usr / src / cmd / picl / plugins / sun4v / include / picloids.h
blob3149cdcd4dae08942b33c73f0340a581a530ae4a
1 /*
2 * CDDL HEADER START
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.
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.
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]
19 * CDDL HEADER END
23 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
27 #ifndef _PICLOIDS_H
28 #define _PICLOIDS_H
30 #pragma ident "%Z%%M% %I% %E% SMI"
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
37 * IETF OIDs (not all are used by PICL)
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"
44 #define OID_PRIVATE OID_INTERNET ".4"
45 #define OID_ENTERPRISES OID_PRIVATE ".1"
46 #define OID_SUN OID_ENTERPRISES ".42"
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"
53 #define OID_entityPhysical OID_entityMIBObjects ".1"
54 #define OID_entPhysicalTable OID_entityPhysical ".1"
55 #define OID_entPhysicalEntry OID_entPhysicalTable ".1"
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"
75 * Conceptual row change time for handling hotplug/hotswap events
77 #define OID_entityGeneral OID_entityMIBObjects ".4"
78 #define OID_entLastChangeTime OID_entityGeneral ".1"
81 * Sun Platform MIB OIDs used by PICL
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"
90 * Equipment Table
92 #define OID_sunPlatEquipmentTable OID_sunPlatMIBPhysicalObjects ".2"
93 #define OID_sunPlatEquipmentEntry OID_sunPlatEquipmentTable ".1"
94 #define OID_sunPlatEquipmentOperationalState \
95 OID_sunPlatEquipmentEntry ".2"
98 * Equipment Holder Table
100 #define OID_sunPlatEquipmentHolderTable OID_sunPlatMIBPhysicalObjects ".3"
101 #define OID_sunPlatEquipmentHolderEntry OID_sunPlatEquipmentHolderTable ".1"
102 #define OID_sunPlatEquipmentHolderAcceptableTypes \
103 OID_sunPlatEquipmentHolderEntry ".2"
106 * Circuit Pack Table
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"
116 * Physical Class Table
118 #define OID_sunPlatPhysicalTable OID_sunPlatMIBPhysicalObjects ".5"
119 #define OID_sunPlatPhysicalEntry OID_sunPlatPhysicalTable ".1"
120 #define OID_sunPlatPhysicalClass OID_sunPlatPhysicalEntry ".1"
123 * Sensor Table
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"
131 * Binary Sensor Table
133 #define OID_sunPlatBinarySensorTable OID_sunPlatMIBPhysicalObjects ".7"
134 #define OID_sunPlatBinarySensorEntry OID_sunPlatBinarySensorTable ".1"
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"
144 * Numeric Sensor Table
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"
171 * Alarm Table
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"
179 * Power Supply Table
181 #define OID_sunPlatPowerSupplyTable OID_sunPlatMIBPhysicalObjects ".14"
182 #define OID_sunPlatPowerSupplyEntry OID_sunPlatPowerSupplyTable ".1"
183 #define OID_sunPlatPowerSupplyClass OID_sunPlatPowerSupplyEntry ".1"
186 * Battery Table
188 #define OID_sunPlatBatteryTable OID_sunPlatMIBPhysicalObjects ".15"
189 #define OID_sunPlatBatteryEntry OID_sunPlatBatteryTable ".1"
190 #define OID_sunPlatBatteryStatus OID_sunPlatBatteryEntry ".1"
193 * Integer enumeration classes used by PICL
195 typedef enum {
196 ST_TRUE = 1,
197 ST_FALSE = 2
198 } snmp_truthval_t;
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)
206 #define STR_ST_TRUE "true"
207 #define STR_ST_FALSE "false"
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;
224 /* sunPlatEquipmentOperationalState */
225 typedef enum {
226 SSOS_DISABLED = 1,
227 SSOS_ENABLED = 2
228 } snmp_sunplat_op_state_t;
231 * Update MAX_OPSTATE_LEN below if these strings are changed
233 #define STR_SSOS_DISABLED "disabled"
234 #define STR_SSOS_ENABLED "enabled"
236 /* sunPlatPhysicalClass */
237 typedef enum {
238 SSPC_OTHER = 1,
239 SSPC_ALARM = 2,
240 SSPC_WATCHDOG = 3
241 } snmp_sunplat_phys_class_t;
243 /* sunPlatSensorClass */
244 typedef enum {
245 SSSC_BINARY = 1,
246 SSSC_NUMERIC = 2,
247 SSSC_DISCRETE = 3
248 } snmp_sunplat_sensor_class_t;
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;
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;
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;
285 * Update MAX_ALARMSTATE_LEN below if these strings are changed
287 #define STR_SSAS_UNKNOWN "unknown"
288 #define STR_SSAS_OFF "off"
289 #define STR_SSAS_STEADY "steady"
290 #define STR_SSAS_ALTERNATING "alternating"
293 * Bit masks for the sunPlatNumericSensorEnabledThresholds
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
303 * sunPlatPowerSupplyClass
305 typedef enum {
306 SSPSC_OTHER = 1,
307 SSPSC_POWERSUPPLY = 2,
308 SSPSC_BATTERY = 3
309 } snmp_sunplat_power_supply_class_t;
312 * sunPlatBatteryStatus
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;
329 * Update MAX_BATTERYSTATUS_LEN below if these strings are changed
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"
344 * Max limits of all volatiles
346 #define MAX_OPSTATE_LEN 10
347 #define MAX_ALARMSTATE_LEN 12
348 #define MAX_TRUTHVAL_LEN 32
349 #define MAX_BATTERYSTATUS_LEN 32
351 #ifdef __cplusplus
353 #endif
355 #endif /* _PICLOIDS_H */