expander
free_expander(slmp, expander);
(void) snprintf(expander->slt_path, MAXPATHLEN, "%s", target_path);
expander->slt_label, err);
free_expander(slmp, expander);
free_expander(slmp, expander);
(void) snprintf(expander->slt_key, MAXNAMELEN, "%s", sas_address);
expander->slt_label, topo_strerror(err));
free_expander(slmp, expander);
expander->fmri = fmri;
if ((err = get_log(slmp, expander, &lib_param)) != 0) {
expander->slt_label, err);
free_expander(slmp, expander);
if ((err = process_log(slmp, expander, &lib_param)) != 0) {
expander->slt_label, err);
free_expander(slmp, expander);
create_filename(char *fileName, expander_t *expander, ses_log_monitor_t *slmp,
ses_node = strrchr(expander->slt_path, '/');
subchassis_val = access_fmri(slmp, expander->fmri, SUBCHASSIS,
label_length = strlen(expander->slt_label);
if ((!isspace(expander->slt_label[i])) &&
('/' != expander->slt_label[i])) {
(void) strncat(fileName, &expander->slt_label[i], 1);
expander_t *expander, char *format_time, FILE *fp)
(void) check_code(slmp, expander->fmri,
expander->slt_pid, atoi(code));
class_sev, ena, expander->fmri, entry_data);
get_log(ses_log_monitor_t *slmp, expander_t *expander,
if ((err = get_last_entry(slmp, expander->slt_key, &expdata)) != 0) {
(void) strncpy(lib_param->target_path, expander->slt_path, MAXPATHLEN);
(void) strncpy(lib_param->product_id, expander->slt_pid, MAXNAMELEN);
if ((err = nvlist_lookup_nvlist(slmp->slt_expanders, expander->slt_key,
process_log(ses_log_monitor_t *slmp, expander_t *expander,
err = create_filename(fileName, expander, slmp, output_count);
err = handle_log_entry(slmp, entry, expander,
expander_t *expander;
expander = (expander_t *)fmd_hdl_zalloc(slmp->slt_hdl,
(void) snprintf(expander->slt_pid, MAXNAMELEN, "%s", product_id);
free_expander(slmp, expander);
(void) snprintf(expander->slt_label, MAXNAMELEN, "%s", label);
expander->slt_label, err);
HBA_WWN expander;
(void) memset((void *)expander.wwn, 0,
(void) memcpy((void *)expander.wwn,
(memcmp((void *)expander.wwn, (void *)TPConfig->
(void *)expander.wwn, sizeof (HBA_WWN));
CTL_DESC(SES_ET_SAS_EXPANDER, expander),
void (*expander)(struct token *);
sym->expander = dynamic[i].expander;
if (sym->expander) {
sym->expander(token);
void (*expander)(struct token *);
pmcs_expander_content_discover(pmcs_hw_t *pwp, pmcs_phy_t *expander,
if (!expander->iport || !expander->valid_device_id) {
pmcs_prt(pwp, PMCS_PRT_DEBUG_CONFIG, expander, expander->target,
"%s: Can't reach PHY %s", __func__, expander->path);
pwrk = pmcs_gwork(pwp, PMCS_TAG_TYPE_WAIT, expander);
pwrk->dtype = expander->dtype;
pwrk->xp = expander->target;
msg[2] = LE_32(expander->device_id);
if (expander->tolerates_sas2) {
pmcs_hold_iport(expander->iport);
iport = expander->iport;
pmcs_unlock_phy(expander);
pmcs_lock_phy(expander);
if (expander->parent &&
memcmp(expander->parent->sas_address,
sizeof (expander->parent->sas_address)) == 0) {
if (expander->tolerates_sas2 && pptr->dtype == SATA &&
for (ctmp = expander->parent; ctmp; ctmp = ctmp->parent) {