Lines Matching defs:cdai
1094 struct ccb_dev_advinfo cdai;
1099 memset(&cdai, 0, sizeof(cdai));
1100 xpt_setup_ccb(&cdai.ccb_h, path, CAM_PRIORITY_NORMAL);
1101 cdai.ccb_h.func_code = XPT_DEV_ADVINFO;
1102 cdai.bufsiz = len;
1105 cdai.buftype = CDAI_TYPE_SERIAL_NUM;
1107 cdai.buftype = CDAI_TYPE_PHYS_PATH;
1110 cdai.buftype = CDAI_TYPE_SCSI_DEVID;
1111 cdai.bufsiz = CAM_SCSI_DEVID_MAXLEN;
1115 cdai.buf = malloc(cdai.bufsiz, M_CAMXPT, M_NOWAIT|M_ZERO);
1116 if (cdai.buf == NULL) {
1120 xpt_action((union ccb *)&cdai); /* can only be synchronous */
1121 if ((cdai.ccb_h.status & CAM_DEV_QFRZN) != 0)
1122 cam_release_devq(cdai.ccb_h.path, 0, 0, 0, FALSE);
1123 if (cdai.provsiz == 0)
1125 if (cdai.buftype == CDAI_TYPE_SCSI_DEVID) {
1127 idd = scsi_get_devid((struct scsi_vpd_device_id *)cdai.buf,
1128 cdai.provsiz, scsi_devid_is_lun_naa);
1130 idd = scsi_get_devid((struct scsi_vpd_device_id *)cdai.buf,
1131 cdai.provsiz, scsi_devid_is_lun_eui64);
1135 idd = scsi_get_devid((struct scsi_vpd_device_id *)cdai.buf,
1136 cdai.provsiz, scsi_devid_is_lun_t10);
1138 idd = scsi_get_devid((struct scsi_vpd_device_id *)cdai.buf,
1139 cdai.provsiz, scsi_devid_is_lun_name);
1168 if (strlcpy(buf, cdai.buf, len) >= len)
1173 if (cdai.buf != NULL)
1174 free(cdai.buf, M_CAMXPT);