Lines Matching defs:cdm

3364     struct ccb_dev_match cdm;
3370 memset (&cdm, 0, sizeof (cdm));
3371 cdm.ccb_h.func_code = XPT_DEV_MATCH;
3374 cdm.match_buf_len = sizeof (struct dev_match_result);
3375 cdm.matches = (struct dev_match_result *) malloc (cdm.match_buf_len);
3376 cdm.num_matches = 0;
3379 cdm.num_patterns = 1;
3380 cdm.pattern_buf_len = sizeof (struct dev_match_pattern);
3381 cdm.patterns = (struct dev_match_pattern *) malloc (cdm.pattern_buf_len);
3384 cdm.patterns[0].type = DEV_MATCH_DEVICE;
3385 pattern = &cdm.patterns[0].pattern.device_pattern;
3391 if (ioctl (fd, CAMIOCOMMAND, &cdm) == -1)
3398 if ((cdm.ccb_h.status != CAM_REQ_CMP)
3399 || ((cdm.status != CAM_DEV_MATCH_LAST)
3400 && (cdm.status != CAM_DEV_MATCH_MORE)))
3403 cdm.ccb_h.status, cdm.status);
3408 if (cdm.num_matches == 0)
3415 if (cdm.matches[0].type != DEV_MATCH_DEVICE)
3422 inq = &cdm.matches[0].result.device_result.inq_data;
3428 free (cdm.patterns);
3429 free (cdm.matches);
3441 struct ccb_dev_match cdm;
3456 memset (&cdm, 0, sizeof (cdm));
3457 cdm.ccb_h.func_code = XPT_DEV_MATCH;
3460 cdm.match_buf_len = sizeof (struct dev_match_result) * 100;
3461 cdm.matches = (struct dev_match_result *) malloc (cdm.match_buf_len);
3462 cdm.num_matches = 0;
3465 cdm.num_patterns = 1;
3466 cdm.pattern_buf_len = sizeof (struct dev_match_pattern);
3467 cdm.patterns = (struct dev_match_pattern *) malloc (cdm.pattern_buf_len);
3470 cdm.patterns[0].type = DEV_MATCH_PERIPH;
3471 pattern = &cdm.patterns[0].pattern.periph_pattern;
3493 if (ioctl (fd, CAMIOCOMMAND, &cdm) == -1)
3499 if ((cdm.ccb_h.status != CAM_REQ_CMP)
3500 || ((cdm.status != CAM_DEV_MATCH_LAST)
3501 && (cdm.status != CAM_DEV_MATCH_MORE)))
3504 cdm.ccb_h.status, cdm.status);
3508 for (i = 0; i < cdm.num_matches; i++)
3510 if (cdm.matches[i].type != DEV_MATCH_PERIPH)
3512 result = &cdm.matches[i].result.periph_result;
3526 while ((cdm.ccb_h.status == CAM_REQ_CMP)
3527 && (cdm.status == CAM_DEV_MATCH_MORE));
3529 free (cdm.patterns);
3530 free (cdm.matches);