275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * CDDL HEADER START
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * The contents of this file are subject to the terms of the
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * Common Development and Distribution License (the "License").
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * You may not use this file except in compliance with the License.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * See the License for the specific language governing permissions
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * and limitations under the License.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * When distributing Covered Code, include this CDDL HEADER in each
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * If applicable, add the following below this CDDL HEADER, with the
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * fields enclosed by brackets "[]" replaced with your own identifying
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * information: Portions Copyright [yyyy] [name of copyright owner]
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * CDDL HEADER END
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * Use is subject to license terms.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock#pragma ident "%Z%%M% %I% %E% SMI"
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_device(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_device_status_impl_t *dip = (ses2_device_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_DEV_PROP_SLOT_ADDR,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_REPORT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_RMV, dip->sdsi_rmv);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_READY_TO_INSERT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_ENC_BYP_B,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_ENC_BYP_A,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_DO_NOT_REMOVE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_APP_BYP_A,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_DEV_BYP_B,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_DEV_BYP_A,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_BYP_B,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_BYP_A,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_OFF,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_FAULT_RQSTD,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_FAULT_SENSED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_APP_BYP_B,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_psu(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_psu_status_impl_t *pip = (ses2_psu_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PSU_PROP_DC_OVER_CURRENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PSU_PROP_DC_UNDER_VOLTAGE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PSU_PROP_DC_OVER_VOLTAGE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PSU_PROP_DC_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PSU_PROP_AC_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PSU_PROP_TEMP_WARN,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PSU_PROP_OVERTEMP_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_OFF, pip->spsi_off);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_REQUESTED_ON,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, pip->spsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_HOT_SWAP,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_cooling(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_cooling_status_impl_t *cip = (ses2_cooling_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_COOLING_PROP_FAN_SPEED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_COOLING_PROP_SPEED_CODE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_OFF, cip->scsi_off);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_REQUESTED_ON,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, cip->scsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_temp(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_temp_status_impl_t *tip = (ses2_temp_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, tip->stsi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, tip->stsi_fail);
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_WARN_UNDER,
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_CRIT_UNDER,
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_WARN_OVER,
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_CRIT_OVER,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_lock(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_lock_status_impl_t *lip = (ses2_lock_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_LOCK_PROP_UNLOCKED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_alarm(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_alarm_status_impl_t *aip = (ses2_alarm_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, aip->sasi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_ALARM_PROP_UNRECOV,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_ALARM_PROP_CRIT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_ALARM_PROP_NONCRIT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_ALARM_PROP_INFO,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_ALARM_PROP_REMIND,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_ALARM_PROP_MUTED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_ALARM_PROP_RQST_MUTE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_esc(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, cip->scsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, cip->scsi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_REPORT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_HOT_SWAP,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_scc(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_scc_status_impl_t *sip = (ses2_scc_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, sip->sss_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, sip->sss_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_REPORT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_cache(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_nvcache_status_impl_t *np = (ses2_nvcache_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, np->snsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_CACHE_PROP_SIZE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_ups(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_ups_status_impl_t *uip = (ses2_ups_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_UPS_PROP_TIMELEFT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_INTF_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_WARN,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_UPS_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_DC_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_AC_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_AC_QUAL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_AC_HI,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_AC_LO,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_BPF, uip->susi_bpf);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_UPS_PROP_BATT_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, uip->susi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, uip->susi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_display(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_display_status_impl_t *dip = (ses2_display_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, dip->sdsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, dip->sdsi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_keypad(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_keypad_status_impl_t *kip = (ses2_keypad_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, kip->sksi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, kip->sksi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_px(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_port_status_impl_t *pip = (ses2_port_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, pip->spsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, pip->spsi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_REPORT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PX_PROP_XMIT_FAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PX_PROP_LOL, pip->spsi_lol);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_DISABLED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_lang(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_lang_status_impl_t *lip = (ses2_lang_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_LANG_PROP_LANGCODE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_comm(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_comm_status_impl_t *cip = (ses2_comm_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, cip->scsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_DISABLED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_voltage(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_voltage_status_impl_t *vip = (ses2_voltage_status_impl_t *)esip;
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_CRIT_UNDER,
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_CRIT_OVER,
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_WARN_UNDER,
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_WARN_OVER,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, vip->svsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, vip->svsi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(int64, nverr, nvl, SES_VS_PROP_VOLTAGE_MV,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_current(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_current_status_impl_t *cip = (ses2_current_status_impl_t *)esip;
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_CRIT_OVER,
9af3851a3a831b4de34b42482c22351e14f33f16eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_WARN_OVER,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, cip->scsi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, cip->scsi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(int64, nverr, nvl, SES_CS_PROP_CURRENT_MA,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_itp(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_itp_status_impl_t *iip = (ses2_itp_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, iip->sisi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_REPORT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_ITP_PROP_ENABLED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_sse(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_ss_status_impl_t *sip = (ses2_ss_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, sip->sss_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, sip->sss_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_SS_PROP_SHORT_STATUS,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_arraydev(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_AD_PROP_RR_ABORT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_AD_PROP_REBUILD,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_AD_PROP_IN_FAILED_ARRAY,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_AD_PROP_IN_CRIT_ARRAY,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_AD_PROP_CONS_CHK,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_AD_PROP_HOT_SPARE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_AD_PROP_RSVD_DEVICE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_AD_PROP_OK, aip->sadsi_ok);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_REPORT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, aip->sadsi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_RMV, aip->sadsi_rmv);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_READY_TO_INSERT,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_ENC_BYP_B,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_ENC_BYP_A,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_DO_NOT_REMOVE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_APP_BYP_A,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_DEV_BYP_B,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_DEV_BYP_A,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_BYP_B,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_BYP_A,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_OFF,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_FAULT_RQSTD,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_FAULT_SENSED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_APP_BYP_B,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_expander(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_expander_status_impl_t *eip = (ses2_expander_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, eip->sesi_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, eip->sesi_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_sasconn(const ses2_elem_status_impl_t *esip, nvlist_t *nvl)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses2_sasconn_status_impl_t *sip = (ses2_sasconn_status_impl_t *)esip;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_FAIL, sip->sss_fail);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_IDENT, sip->sss_ident);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_SC_PROP_CONNECTOR_TYPE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_SC_PROP_PHYSICAL_LINK,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock int (*func)(const ses2_elem_status_impl_t *, nvlist_t *);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock ses_node_snapshot(np), SES2_DIAGPAGE_ENCLOSURE_CTL_STATUS,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock VERIFY(nvlist_lookup_uint64(nvl, SES_PROP_ELEMENT_TYPE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_PROP_STATUS_CODE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_SWAP,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_DISABLED,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_PROP_PRDFAIL,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock for (sp = &status_parsers[0]; sp->type != (ses2_element_type_t)-1; sp++)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((desc = ses_plugin_page_lookup(sp, ses_node_snapshot(np),
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(fixed_string, nverr, props, SES_PROP_DESCRIPTION,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_aes_fc(const ses2_aes_descr_fc_eip_impl_t *fp,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_PROP_BAY_NUMBER,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_FC_PROP_NODE_NAME,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sadfi_ports)) / sizeof (ses2_aes_port_descr_impl_t));
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (-1);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock for (i = 0; i < nports; i++) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_alloc(&nva[i], NV_UNIQUE_NAME, 0)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_FC_PROP_LOOP_POS,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock fp->sadfi_ports[i].sapdi_port_loop_position)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_FC_PROP_REQ_HARDADDR,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock fp->sadfi_ports[i].sapdi_port_requested_hard_address)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock nverr = nvlist_add_uint64(nva[i], SES_FC_PROP_N_PORT_ID,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SCSI_READ24(fp->sadfi_ports[i].sapdi_n_port_identifier));
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_FC_PROP_N_PORT_NAME,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SCSI_READ64(&fp->sadfi_ports[i].sapdi_n_port_name))) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_nvlist_array(nvl, SES_FC_PROP_PORTS,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_aes_device(const ses2_aes_descr_eip_impl_t *dep, nvlist_t *nvl,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if (dep->sadei_protocol_identifier == SPC4_PROTO_FIBRE_CHANNEL) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock } else if (dep->sadei_protocol_identifier != SPC4_PROTO_SAS) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if (s0p->sadsi_descriptor_type != SES2_AESD_SAS_DEVICE)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(boolean_value, nverr, nvl, SES_DEV_PROP_SAS_NOT_ALL_PHYS,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_PROP_BAY_NUMBER,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sadsi_phys)) / sizeof (ses2_aes_phy0_descr_impl_t));
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sadsi_phys)) / sizeof (ses2_aes_phy0_descr_impl_t));
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (-1);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock for (i = 0; i < nphy; i++) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock pp = s0ep != NULL ? &s0ep->sadsi_phys[i] : &s0p->sadsi_phys[i];
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_alloc(&nva[i], NV_UNIQUE_NAME, 0)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_SAS_PROP_DEVICE_TYPE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_SAS_PROP_SMPI_PORT, pp->sapdi_smp_initiator_port)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_SAS_PROP_STPI_PORT, pp->sapdi_stp_initiator_port)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_SAS_PROP_SSPI_PORT, pp->sapdi_ssp_initiator_port)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_SAS_PROP_SATA_DEVICE, pp->sapdi_sata_device)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_SAS_PROP_SMPT_PORT, pp->sapdi_smp_target_port)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_SAS_PROP_STPT_PORT, pp->sapdi_stp_target_port)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_SAS_PROP_SSPT_PORT, pp->sapdi_ssp_target_port)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock nverr = nvlist_add_uint64(nva[i], SES_SAS_PROP_ATT_ADDR,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock nverr = nvlist_add_uint64(nva[i], SES_SAS_PROP_ADDR,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_SAS_PROP_PHY_ID,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_nvlist_array(nvl, SES_SAS_PROP_PHYS,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_aes_expander(const ses2_aes_descr_eip_impl_t *dep, nvlist_t *nvl,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * This should never happen; no current SAS expander can have any
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * other kind of ports. But maybe someday - one could envision a
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock * SAS expander with iSCSI target ports, for example.
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if (dep->sadei_protocol_identifier != SPC4_PROTO_SAS)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sep = (ses2_aes_descr_exp_impl_t *)dep->sadei_protocol_specific;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if (sep->sadei_descriptor_type != SES2_AESD_SAS_OTHER)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_EXP_PROP_SAS_ADDR,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sadei_phys)) / sizeof (ses2_aes_exp_phy_descr_impl_t));
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (-1);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock for (i = 0; i < nphy; i++) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_alloc(&nva[i], NV_UNIQUE_NAME, 0)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_PROP_CE_IDX,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sep->sadei_phys[i].saepdi_connector_element_index)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_PROP_OE_IDX,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sep->sadei_phys[i].saepdi_other_element_index)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_nvlist_array(nvl, SES_SAS_PROP_PHYS,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_aes_misc(const ses2_aes_descr_eip_impl_t *dep, nvlist_t *nvl,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if (dep->sadei_protocol_identifier == SPC4_PROTO_FIBRE_CHANNEL) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock } else if (dep->sadei_protocol_identifier != SPC4_PROTO_SAS) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock s1p = (ses2_aes_descr_sas1_impl_t *)dep->sadei_protocol_specific;
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if (s1p->sadsi_descriptor_type == SES2_AESD_SAS_DEVICE)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock sadsi_phys)) / sizeof (ses2_aes_phy1_descr_impl_t));
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (-1);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock for (i = 0; i < nphy; i++) {
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_alloc(&nva[i], NV_UNIQUE_NAME, 0)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_PROP_CE_IDX,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock s1p->sadsi_phys[i].sapdi_connector_element_index)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_PROP_OE_IDX,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock s1p->sadsi_phys[i].sapdi_other_element_index)) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_uint64(nva[i], SES_SAS_PROP_ADDR,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SCSI_READ64(&s1p->sadsi_phys[i].sapdi_sas_address))) != 0)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((nverr = nvlist_add_nvlist_array(nvl, SES_SAS_PROP_PHYS,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock int (*func)(const ses2_aes_descr_eip_impl_t *, nvlist_t *, size_t);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock { SES_ET_SCSI_INITIATOR_PORT, elem_parse_aes_misc },
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock VERIFY(nvlist_lookup_uint64(props, SES_PROP_ELEMENT_TYPE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock for (app = &aes_parsers[0]; app->func != NULL; app++)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock if ((dep = ses_plugin_page_lookup(sp, ses_node_snapshot(np),
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES2_DIAGPAGE_ADDL_ELEM_STATUS, np, &len)) == NULL)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockelem_parse_threshold(ses_plugin_t *sp, ses_node_t *np)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock VERIFY(nvlist_lookup_uint64(nvl, SES_PROP_ELEMENT_TYPE,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_PROP_THRESH_CRIT_HI,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_PROP_THRESH_WARN_HI,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_PROP_THRESH_CRIT_LO,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock SES_NV_ADD(uint64, nverr, nvl, SES_PROP_THRESH_WARN_LO,
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrockses2_fill_element_node(ses_plugin_t *sp, ses_node_t *np)
275c9da86e89f8abf71135cf63d9fc23671b2e60eschrock return (0);