Lines Matching defs:slink

54 read_scsi_page(scsi_link_t *slink, union scsi_cdb *cdb,
61 if (slink == 0 || slink->sl_sa == 0)
67 cdb->scc_lun = slink->sl_lun;
81 dname = sasd_slink_name(slink);
102 read_inquiry_page(scsi_link_t *slink, struct scsi_inquiry *inq)
110 return (read_scsi_page(slink, &cdb, CDB_GROUP0,
118 read_data_page(scsi_link_t *slink, int pcode, char *snum, int size)
130 return (read_scsi_page(slink, (union scsi_cdb *)&cmd, CDB_GROUP0,
139 read_serial_num_page(scsi_link_t *slink, char *snum, int size)
145 rv = read_data_page(slink, SCSI_SERIAL_PAGE, (caddr_t)&serial,
157 read_dev_name_page(scsi_link_t *slink, device_ident_header_t *devp, int len)
161 if (read_data_page(slink, SCSI_DEVICE_IDENT_PAGE, (caddr_t)devp,
189 read_device_wwn(scsi_link_t *slink, char *wwnp, int wsize)
204 if (read_dev_name_page(slink, header, page_len) == -1) {
269 add_lib(scsi_link_t *slink, struct scsi_inquiry *sd, void *arg)
275 if (!slink || !sd) {
277 slink, sd, arg);
285 l = tlm_insert_new_library(slink);
289 l, slink->sl_sid, slink->sl_lun);
291 if ((ssd = sasd_slink_drive(slink)) != NULL) {
298 (void) read_serial_num_page(slink, ssd->sd_serial,
300 (void) read_device_wwn(slink, ssd->sd_wwn,
341 make_stand_alone_drive(scsi_link_t *slink, int l)
346 if (!slink || l <= 0) {
347 NDMP_LOG(LOG_DEBUG, "Invalid argument %x %d", slink, l);
359 dp->td_slink = slink;
360 dp->td_scsi_id = slink->sl_sid;
361 dp->td_lun = slink->sl_lun;
376 new_drive(scsi_link_t *slink, int *lib)
390 if (dp->td_scsi_id == slink->sl_sid &&
391 dp->td_lun == slink->sl_lun)
405 add_drv(scsi_link_t *slink, struct scsi_inquiry *sd, void *arg)
413 if (!slink || !sd) {
415 slink, sd, arg);
421 d = new_drive(slink, &l);
429 *vlp = tlm_insert_new_library(slink);
433 if ((d = make_stand_alone_drive(slink, *vlp)) < 0) {
439 l, d, slink->sl_sid, slink->sl_lun);
442 l, d, slink->sl_sid, slink->sl_lun);
446 drive->td_slink = slink;
448 if ((ssd = sasd_slink_drive(slink)) != NULL) {
455 (void) read_serial_num_page(slink, ssd->sd_serial,
457 (void) read_device_wwn(slink, ssd->sd_wwn,
472 scsi_link_t *slink;
476 slink = sa->sa_link_head.sl_next;
477 for (; slink != &sa->sa_link_head; slink = slink->sl_next) {
479 if (read_inquiry_page(slink, &scsi_data) == -1)
482 if ((*hndlr)(slink, &scsi_data, args) != TLM_NO_ERRORS)