2N/A/*
2N/A * CDDL HEADER START
2N/A *
2N/A * The contents of this file are subject to the terms of the
2N/A * Common Development and Distribution License (the "License").
2N/A * You may not use this file except in compliance with the License.
2N/A *
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * or http://www.opensolaris.org/os/licensing.
2N/A * See the License for the specific language governing permissions
2N/A * and limitations under the License.
2N/A *
2N/A * When distributing Covered Code, include this CDDL HEADER in each
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A * If applicable, add the following below this CDDL HEADER, with the
2N/A * fields enclosed by brackets "[]" replaced with your own identifying
2N/A * information: Portions Copyright [yyyy] [name of copyright owner]
2N/A *
2N/A * CDDL HEADER END
2N/A */
2N/A
2N/A/*
2N/A * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
2N/A */
2N/A
2N/A#ifndef _FRAMEWORK_LIBSES_H
2N/A#define _FRAMEWORK_LIBSES_H
2N/A
2N/A#ifdef __cplusplus
2N/Aextern "C" {
2N/A#endif
2N/A
2N/A/*
2N/A * These are properties attached to the root target node of the enclosure, and
2N/A * represent the SCSI inquiry data.
2N/A */
2N/A#define SCSI_PROP_VENDOR "scsi-inquiry-vendor"
2N/A#define SCSI_PROP_PRODUCT "scsi-inquiry-product"
2N/A#define SCSI_PROP_REVISION "scsi-inquiry-revision"
2N/A
2N/A/*
2N/A * This property provides a human-readable name for the element type. This is
2N/A * constant, and not derived from the enclosure data.
2N/A */
2N/A#define LIBSES_PROP_ELEMENT_TYPE_NAME "libses-element-type-name"
2N/A
2N/A/*
2N/A * The following properties can be added to any node. There is no provision in
2N/A * the specification for these properties, but they can be derived from vendor
2N/A * specific data for some enclosures.
2N/A */
2N/A#define LIBSES_PROP_PART "libses-part-number"
2N/A#define LIBSES_PROP_SERIAL "libses-serial-number"
2N/A#define LIBSES_PROP_FRU "libses-is-fru"
2N/A#define LIBSES_PROP_PHYS_PARENT "libses-physical-parent-element-index"
2N/A
2N/A/*
2N/A * The chassis serial number is a pseudo property that doesn't exist in SES
2N/A * spec. A single physical chassis may present several logically different SES
2N/A * targets that are connected to the same or different elements. These targets
2N/A * can extract the chassis serial number in a vendor-specific way so that
2N/A * consumers know these SES targets refer to the same device. This defaults to
2N/A * to the logical-id, and is always present.
2N/A */
2N/A#define LIBSES_EN_PROP_CSN "libses-chassis-serial"
2N/A
2N/A/*
2N/A * This boolean property identifies a chassis as internal, where the connected
2N/A * elements are part of a single system chassis and not an external enclosure.
2N/A * This is used on platforms with a disk backplane that exports a SES target.
2N/A */
2N/A#define LIBSES_EN_PROP_INTERNAL "libses-internal"
2N/A
2N/A/*
2N/A * This property identifies the subchassis id for those systems that
2N/A * support the concept of a subchassis.
2N/A */
2N/A#define LIBSES_EN_PROP_SUBCHASSIS_ID "libses-subchassis-id"
2N/A
2N/A/*
2N/A * Maximum allowed firmware upload chunk size. Obtained in a vendor- or
2N/A * platform-specific manner but generic in nature.
2N/A */
2N/A#define LIBSES_EN_PROP_FIRMWARE_CHUNK_SIZE "libses-firmware-chunksize"
2N/A
2N/A/*
2N/A * This property indicates if fault management on the enclosure is externally
2N/A * managed. If it is the host connecected to the enclosure diagnoses a fault
2N/A * and determines the element status.
2N/A * The host FMA may or may not manage the service LED of a component in such
2N/A * enclosure.
2N/A */
2N/A#define LIBSES_PROP_FAULT_EXT_MANAGED "libses-fault-externally-managed"
2N/A
2N/A/*
2N/A * This property indicates if service LED is managed by the enclosure.
2N/A * It is set for a component that the enclosure self manages the service LED
2N/A * when a fault is detected.
2N/A */
2N/A#define LIBSES_PROP_SVCLED_SELF_MANAGED "libses-service-led-self-managed"
2N/A
2N/A/*
2N/A * This property indicates that the enclosure reads sensors and reports
2N/A * out of range reading to the host through an enclosure specific way.
2N/A * The host FMA can check this property and avoid duplicate error reporting
2N/A * on sensors for the entire enclosure.
2N/A *
2N/A * When the enclosure self-reports a subset of sensors so
2N/A * LIBSES_EN_PROP_SENSOR_SELF_REPORTED can not be set at the enclosure level
2N/A * another property like "libses-elem-sensor-self-reported" can be used for
2N/A * those SES eleements that the sensor reading is self-reported.
2N/A * Currently no such support is needed.
2N/A */
2N/A#define LIBSES_EN_PROP_SENSOR_SELF_REPORTED "libses-encl-sensor-self-reported"
2N/A
2N/A#ifdef __cplusplus
2N/A}
2N/A#endif
2N/A
2N/A#endif /* _FRAMEWORK_LIBSES_H */