summaryrefslogtreecommitdiff
path: root/usr/src/cmd/picl/plugins/sun4v/include/picloids.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/picl/plugins/sun4v/include/picloids.h')
-rw-r--r--usr/src/cmd/picl/plugins/sun4v/include/picloids.h355
1 files changed, 355 insertions, 0 deletions
diff --git a/usr/src/cmd/picl/plugins/sun4v/include/picloids.h b/usr/src/cmd/picl/plugins/sun4v/include/picloids.h
new file mode 100644
index 0000000000..3149cdcd4d
--- /dev/null
+++ b/usr/src/cmd/picl/plugins/sun4v/include/picloids.h
@@ -0,0 +1,355 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#ifndef _PICLOIDS_H
+#define _PICLOIDS_H
+
+#pragma ident "%Z%%M% %I% %E% SMI"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * IETF OIDs (not all are used by PICL)
+ */
+#define OID_ISO "1"
+#define OID_ORG OID_ISO ".3"
+#define OID_DOD OID_ORG ".6"
+#define OID_INTERNET OID_DOD ".1"
+
+#define OID_PRIVATE OID_INTERNET ".4"
+#define OID_ENTERPRISES OID_PRIVATE ".1"
+#define OID_SUN OID_ENTERPRISES ".42"
+
+#define OID_MGMT OID_INTERNET ".2"
+#define OID_MIB2 OID_MGMT ".1"
+#define OID_entityMIB OID_MIB2 ".47"
+#define OID_entityMIBObjects OID_entityMIB ".1"
+
+#define OID_entityPhysical OID_entityMIBObjects ".1"
+#define OID_entPhysicalTable OID_entityPhysical ".1"
+#define OID_entPhysicalEntry OID_entPhysicalTable ".1"
+
+#define OID_entPhysicalIndex OID_entPhysicalEntry ".1"
+#define OID_entPhysicalDescr OID_entPhysicalEntry ".2"
+#define OID_entPhysicalVendorType OID_entPhysicalEntry ".3"
+#define OID_entPhysicalContainedIn OID_entPhysicalEntry ".4"
+#define OID_entPhysicalClass OID_entPhysicalEntry ".5"
+#define OID_entPhysicalParentRelPos OID_entPhysicalEntry ".6"
+#define OID_entPhysicalName OID_entPhysicalEntry ".7"
+#define OID_entPhysicalHardwareRev OID_entPhysicalEntry ".8"
+#define OID_entPhysicalFirmwareRev OID_entPhysicalEntry ".9"
+#define OID_entPhysicalSoftwareRev OID_entPhysicalEntry ".10"
+#define OID_entPhysicalSerialNum OID_entPhysicalEntry ".11"
+#define OID_entPhysicalMfgName OID_entPhysicalEntry ".12"
+#define OID_entPhysicalModelName OID_entPhysicalEntry ".13"
+#define OID_entPhysicalAlias OID_entPhysicalEntry ".14"
+#define OID_entPhysicalAssetID OID_entPhysicalEntry ".15"
+#define OID_entPhysicalIsFRU OID_entPhysicalEntry ".16"
+
+/*
+ * Conceptual row change time for handling hotplug/hotswap events
+ */
+#define OID_entityGeneral OID_entityMIBObjects ".4"
+#define OID_entLastChangeTime OID_entityGeneral ".1"
+
+/*
+ * Sun Platform MIB OIDs used by PICL
+ */
+#define OID_products OID_SUN ".2"
+#define OID_sunFire OID_products ".70"
+#define OID_sunPlatMIB OID_sunFire ".101"
+#define OID_sunPlatMIBObjects OID_sunPlatMIB ".1"
+#define OID_sunPlatMIBPhysicalObjects OID_sunPlatMIBObjects ".1"
+
+/*
+ * Equipment Table
+ */
+#define OID_sunPlatEquipmentTable OID_sunPlatMIBPhysicalObjects ".2"
+#define OID_sunPlatEquipmentEntry OID_sunPlatEquipmentTable ".1"
+#define OID_sunPlatEquipmentOperationalState \
+ OID_sunPlatEquipmentEntry ".2"
+
+/*
+ * Equipment Holder Table
+ */
+#define OID_sunPlatEquipmentHolderTable OID_sunPlatMIBPhysicalObjects ".3"
+#define OID_sunPlatEquipmentHolderEntry OID_sunPlatEquipmentHolderTable ".1"
+#define OID_sunPlatEquipmentHolderAcceptableTypes \
+ OID_sunPlatEquipmentHolderEntry ".2"
+
+/*
+ * Circuit Pack Table
+ */
+#define OID_sunPlatCircuitPackTable OID_sunPlatMIBPhysicalObjects ".4"
+#define OID_sunPlatCircuitPackEntry OID_sunPlatCircuitPackTable ".1"
+#define OID_sunPlatCircuitPackReplaceable \
+ OID_sunPlatCircuitPackEntry ".3"
+#define OID_sunPlatCircuitPackHotSwappable \
+ OID_sunPlatCircuitPackEntry ".4"
+
+/*
+ * Physical Class Table
+ */
+#define OID_sunPlatPhysicalTable OID_sunPlatMIBPhysicalObjects ".5"
+#define OID_sunPlatPhysicalEntry OID_sunPlatPhysicalTable ".1"
+#define OID_sunPlatPhysicalClass OID_sunPlatPhysicalEntry ".1"
+
+/*
+ * Sensor Table
+ */
+#define OID_sunPlatSensorTable OID_sunPlatMIBPhysicalObjects ".6"
+#define OID_sunPlatSensorEntry OID_sunPlatSensorTable ".1"
+#define OID_sunPlatSensorClass OID_sunPlatSensorEntry ".1"
+#define OID_sunPlatSensorType OID_sunPlatSensorEntry ".2"
+
+/*
+ * Binary Sensor Table
+ */
+#define OID_sunPlatBinarySensorTable OID_sunPlatMIBPhysicalObjects ".7"
+#define OID_sunPlatBinarySensorEntry OID_sunPlatBinarySensorTable ".1"
+
+#define OID_sunPlatBinarySensorCurrent OID_sunPlatBinarySensorEntry ".1"
+#define OID_sunPlatBinarySensorExpected OID_sunPlatBinarySensorEntry ".2"
+#define OID_sunPlatBinarySensorInterpretTrue \
+ OID_sunPlatBinarySensorEntry ".3"
+#define OID_sunPlatBinarySensorInterpretFalse \
+ OID_sunPlatBinarySensorEntry ".4"
+
+/*
+ * Numeric Sensor Table
+ */
+#define OID_sunPlatNumericSensorTable OID_sunPlatMIBPhysicalObjects ".8"
+#define OID_sunPlatNumericSensorEntry OID_sunPlatNumericSensorTable ".1"
+#define OID_sunPlatNumericSensorCurrent OID_sunPlatNumericSensorEntry ".4"
+#define OID_sunPlatNumericSensorBaseUnits \
+ OID_sunPlatNumericSensorEntry ".1"
+#define OID_sunPlatNumericSensorExponent \
+ OID_sunPlatNumericSensorEntry ".2"
+#define OID_sunPlatNumericSensorRateUnits \
+ OID_sunPlatNumericSensorEntry ".3"
+#define OID_sunPlatNumericSensorLowerThresholdNonCritical \
+ OID_sunPlatNumericSensorEntry ".8"
+#define OID_sunPlatNumericSensorUpperThresholdNonCritical \
+ OID_sunPlatNumericSensorEntry ".9"
+#define OID_sunPlatNumericSensorLowerThresholdCritical \
+ OID_sunPlatNumericSensorEntry ".10"
+#define OID_sunPlatNumericSensorUpperThresholdCritical \
+ OID_sunPlatNumericSensorEntry ".11"
+#define OID_sunPlatNumericSensorLowerThresholdFatal \
+ OID_sunPlatNumericSensorEntry ".12"
+#define OID_sunPlatNumericSensorUpperThresholdFatal \
+ OID_sunPlatNumericSensorEntry ".13"
+#define OID_sunPlatNumericSensorEnabledThresholds \
+ OID_sunPlatNumericSensorEntry ".15"
+
+/*
+ * Alarm Table
+ */
+#define OID_sunPlatAlarmTable OID_sunPlatMIBPhysicalObjects ".12"
+#define OID_sunPlatAlarmEntry OID_sunPlatAlarmTable ".1"
+#define OID_sunPlatAlarmType OID_sunPlatAlarmEntry ".1"
+#define OID_sunPlatAlarmState OID_sunPlatAlarmEntry ".2"
+
+/*
+ * Power Supply Table
+ */
+#define OID_sunPlatPowerSupplyTable OID_sunPlatMIBPhysicalObjects ".14"
+#define OID_sunPlatPowerSupplyEntry OID_sunPlatPowerSupplyTable ".1"
+#define OID_sunPlatPowerSupplyClass OID_sunPlatPowerSupplyEntry ".1"
+
+/*
+ * Battery Table
+ */
+#define OID_sunPlatBatteryTable OID_sunPlatMIBPhysicalObjects ".15"
+#define OID_sunPlatBatteryEntry OID_sunPlatBatteryTable ".1"
+#define OID_sunPlatBatteryStatus OID_sunPlatBatteryEntry ".1"
+
+/*
+ * Integer enumeration classes used by PICL
+ */
+typedef enum {
+ ST_TRUE = 1,
+ ST_FALSE = 2
+} snmp_truthval_t;
+
+/*
+ * Note that the truth values could be much longer than the length
+ * of the strings "true" or "false", since we actuallly interpret them
+ * using InterpretTrue and InterpretFalse values in the MIB. Currently
+ * we limit them to be 32 (see MAX_TRUTHVAL_LEN definition below)
+ */
+#define STR_ST_TRUE "true"
+#define STR_ST_FALSE "false"
+
+/* entPhysicalClass */
+typedef enum {
+ SPC_OTHER = 1,
+ SPC_UNKNOWN = 2,
+ SPC_CHASSIS = 3,
+ SPC_BACKPLANE = 4,
+ SPC_CONTAINER = 5,
+ SPC_POWERSUPPLY = 6,
+ SPC_FAN = 7,
+ SPC_SENSOR = 8,
+ SPC_MODULE = 9,
+ SPC_PORT = 10,
+ SPC_STACK = 11
+} snmp_physical_class_t;
+
+/* sunPlatEquipmentOperationalState */
+typedef enum {
+ SSOS_DISABLED = 1,
+ SSOS_ENABLED = 2
+} snmp_sunplat_op_state_t;
+
+/*
+ * Update MAX_OPSTATE_LEN below if these strings are changed
+ */
+#define STR_SSOS_DISABLED "disabled"
+#define STR_SSOS_ENABLED "enabled"
+
+/* sunPlatPhysicalClass */
+typedef enum {
+ SSPC_OTHER = 1,
+ SSPC_ALARM = 2,
+ SSPC_WATCHDOG = 3
+} snmp_sunplat_phys_class_t;
+
+/* sunPlatSensorClass */
+typedef enum {
+ SSSC_BINARY = 1,
+ SSSC_NUMERIC = 2,
+ SSSC_DISCRETE = 3
+} snmp_sunplat_sensor_class_t;
+
+/* sunPlatSensorType */
+typedef enum {
+ SSST_OTHER = 1,
+ SSST_UNKNOWN = 2,
+ SSST_TEMPERATURE = 3,
+ SSST_VOLTAGE = 4,
+ SSST_CURRENT = 5,
+ SSST_TACHOMETER = 6,
+ SSST_COUNTER = 7,
+ SSST_SWITCH = 8,
+ SSST_LOCK = 9,
+ SSST_HUMIDITY = 10,
+ SSST_SMOKE_DETECTION = 11,
+ SSST_PRESENCE = 12,
+ SSST_AIRFLOW = 13
+} snmp_sunplat_sensor_type_t;
+
+/* sunPlatAlarmType */
+typedef enum {
+ SSAT_OTHER = 1,
+ SSAT_AUDIBLE = 2,
+ SSAT_VISIBLE = 3,
+ SSAT_MOTION = 4,
+ SSAT_SWITCH = 5
+} snmp_sunplat_alarm_type_t;
+
+/* sunPlatAlarmState */
+typedef enum {
+ SSAS_UNKNOWN = 1,
+ SSAS_OFF = 2,
+ SSAS_STEADY = 3,
+ SSAS_ALTERNATING = 4
+} snmp_sunplat_alarm_state_t;
+
+/*
+ * Update MAX_ALARMSTATE_LEN below if these strings are changed
+ */
+#define STR_SSAS_UNKNOWN "unknown"
+#define STR_SSAS_OFF "off"
+#define STR_SSAS_STEADY "steady"
+#define STR_SSAS_ALTERNATING "alternating"
+
+/*
+ * Bit masks for the sunPlatNumericSensorEnabledThresholds
+ */
+#define LOWER_NON_CRITICAL 0x80
+#define UPPER_NON_CRITICAL 0x40
+#define LOWER_CRITICAL 0x20
+#define UPPER_CRITICAL 0x10
+#define LOWER_FATAL 0x08
+#define UPPER_FATAL 0x04
+
+/*
+ * sunPlatPowerSupplyClass
+ */
+typedef enum {
+ SSPSC_OTHER = 1,
+ SSPSC_POWERSUPPLY = 2,
+ SSPSC_BATTERY = 3
+} snmp_sunplat_power_supply_class_t;
+
+/*
+ * sunPlatBatteryStatus
+ */
+typedef enum {
+ SSBS_OTHER = 1,
+ SSBS_UNKNOWN = 2,
+ SSBS_FULLYCHARGED = 3,
+ SSBS_LOW = 4,
+ SSBS_CRITICAL = 5,
+ SSBS_CHARGING = 6,
+ SSBS_CHARGING_AND_LOW = 7,
+ SSBS_CHARGING_AND_HIGH = 8,
+ SSBS_CHARGING_AND_CRITICAL = 9,
+ SSBS_UNDEFINED = 10,
+ SSBS_PARTIALLY_CHARGED = 11
+} snmp_sunplat_battery_status_t;
+
+/*
+ * Update MAX_BATTERYSTATUS_LEN below if these strings are changed
+ */
+#define STR_SSBS_OTHER "Other"
+#define STR_SSBS_UNKNOWN "Unknown"
+#define STR_SSBS_FULLYCHARGED "Fully Charged"
+#define STR_SSBS_LOW "Low"
+#define STR_SSBS_CRITICAL "Critical"
+#define STR_SSBS_CHARGING "Charging"
+#define STR_SSBS_CHARGING_AND_LOW "Charging and Low"
+#define STR_SSBS_CHARGING_AND_HIGH "Charging and High"
+#define STR_SSBS_CHARGING_AND_CRITICAL "Charging and Critical"
+#define STR_SSBS_UNDEFINED "Undefined"
+#define STR_SSBS_PARTIALLY_CHARGED "Partially Charged"
+
+/*
+ * Max limits of all volatiles
+ */
+#define MAX_OPSTATE_LEN 10
+#define MAX_ALARMSTATE_LEN 12
+#define MAX_TRUTHVAL_LEN 32
+#define MAX_BATTERYSTATUS_LEN 32
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PICLOIDS_H */