/*
* 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 */