Lines Matching refs:scmd
44 uscsi_cmd_init(struct uscsi_cmd *scmd, char *cdb, int cdblen) in uscsi_cmd_init() argument
46 bzero(scmd, sizeof (*scmd)); in uscsi_cmd_init()
48 scmd->uscsi_cdb = cdb; in uscsi_cmd_init()
52 uscsi(int fd, struct uscsi_cmd *scmd) in uscsi() argument
59 scmd->uscsi_flags |= USCSI_RQENABLE; in uscsi()
60 scmd->uscsi_rqlen = RQLEN; in uscsi()
61 scmd->uscsi_rqbuf = rqbuf; in uscsi()
64 scmd->uscsi_status = 0; in uscsi()
67 ret = ioctl(fd, USCSICMD, scmd); in uscsi()
69 if ((ret == 0) && (scmd->uscsi_status == 2)) { in uscsi()
73 if ((ret < 0) && (scmd->uscsi_status == 2)) { in uscsi()
117 (uchar_t)scmd->uscsi_cdb[0], ret, in uscsi()
118 scmd->uscsi_status, in uscsi()
136 struct uscsi_cmd scmd; in mode_sense() local
139 uscsi_cmd_init(&scmd, cdb, sizeof (cdb)); in mode_sense()
140 scmd.uscsi_flags = USCSI_READ|USCSI_SILENT; in mode_sense()
141 scmd.uscsi_buflen = page_len; in mode_sense()
142 scmd.uscsi_bufaddr = (char *)buffer; in mode_sense()
143 scmd.uscsi_timeout = CD_USCSI_TIMEOUT; in mode_sense()
144 scmd.uscsi_cdblen = 0xa; in mode_sense()
145 scmd.uscsi_cdb[0] = 0x5a; /* MODE SENSE 10 */ in mode_sense()
147 scmd.uscsi_cdb[1] = 0x8; /* no block descriptors */ in mode_sense()
149 scmd.uscsi_cdb[2] = pc; in mode_sense()
150 scmd.uscsi_cdb[7] = (page_len >> 8) & 0xff; in mode_sense()
151 scmd.uscsi_cdb[8] = page_len & 0xff; in mode_sense()
153 return (uscsi(fd, &scmd) == 0); in mode_sense()
191 struct uscsi_cmd scmd; in get_configuration() local
194 uscsi_cmd_init(&scmd, cdb, sizeof (cdb)); in get_configuration()
195 scmd.uscsi_flags = USCSI_READ|USCSI_SILENT; in get_configuration()
196 scmd.uscsi_timeout = CD_USCSI_TIMEOUT; in get_configuration()
197 scmd.uscsi_cdb[0] = 0x46; /* GET CONFIGURATION */ in get_configuration()
198 scmd.uscsi_cdb[1] = 0x2; /* request type */ in get_configuration()
199 scmd.uscsi_cdb[2] = (feature >> 8) & 0xff; /* starting feature # */ in get_configuration()
200 scmd.uscsi_cdb[3] = feature & 0xff; in get_configuration()
201 scmd.uscsi_cdb[7] = (bufsize >> 8) & 0xff; /* allocation length */ in get_configuration()
202 scmd.uscsi_cdb[8] = bufsize & 0xff; in get_configuration()
203 scmd.uscsi_cdblen = 10; in get_configuration()
204 scmd.uscsi_bufaddr = (char *)buf; in get_configuration()
205 scmd.uscsi_buflen = bufsize; in get_configuration()
207 return (uscsi(fd, &scmd) == 0); in get_configuration()
366 struct uscsi_cmd scmd; in get_disc_info() local
372 uscsi_cmd_init(&scmd, cdb, sizeof (cdb)); in get_disc_info()
373 scmd.uscsi_flags = USCSI_READ|USCSI_SILENT; in get_disc_info()
374 scmd.uscsi_timeout = CD_USCSI_TIMEOUT; in get_disc_info()
375 scmd.uscsi_cdb[0] = 0x51; /* READ DISC INFORMATION */ in get_disc_info()
376 scmd.uscsi_cdb[7] = (bufsize >> 8) & 0xff; /* allocation length */ in get_disc_info()
377 scmd.uscsi_cdb[8] = bufsize & 0xff; in get_disc_info()
378 scmd.uscsi_cdblen = 10; in get_disc_info()
379 scmd.uscsi_bufaddr = (char *)buf; in get_disc_info()
380 scmd.uscsi_buflen = bufsize; in get_disc_info()
382 if ((uscsi(fd, &scmd)) != 0) { in get_disc_info()
412 struct uscsi_cmd scmd; in read_format_capacity() local
420 uscsi_cmd_init(&scmd, cdb, sizeof (cdb)); in read_format_capacity()
421 scmd.uscsi_flags = USCSI_READ|USCSI_SILENT; in read_format_capacity()
422 scmd.uscsi_timeout = CD_USCSI_TIMEOUT; in read_format_capacity()
423 scmd.uscsi_cdb[0] = 0x23; /* READ FORMAT CAPACITIRES */ in read_format_capacity()
424 scmd.uscsi_cdb[7] = (bufsize >> 8) & 0xff; /* allocation length */ in read_format_capacity()
425 scmd.uscsi_cdb[8] = bufsize & 0xff; in read_format_capacity()
426 scmd.uscsi_cdblen = 12; in read_format_capacity()
427 scmd.uscsi_bufaddr = (char *)buf; in read_format_capacity()
428 scmd.uscsi_buflen = bufsize; in read_format_capacity()
430 if ((uscsi(fd, &scmd)) != 0) { in read_format_capacity()
483 struct uscsi_cmd scmd; in read_toc() local
487 uscsi_cmd_init(&scmd, cdb, sizeof (cdb)); in read_toc()
488 scmd.uscsi_flags = USCSI_READ|USCSI_SILENT; in read_toc()
489 scmd.uscsi_timeout = CD_USCSI_TIMEOUT; in read_toc()
490 scmd.uscsi_cdb[0] = 0x43 /* READ_TOC_CMD */; in read_toc()
491 scmd.uscsi_cdb[2] = format & 0xf; in read_toc()
492 scmd.uscsi_cdb[6] = trackno; in read_toc()
493 scmd.uscsi_cdb[8] = buflen & 0xff; in read_toc()
494 scmd.uscsi_cdb[7] = (buflen >> 8) & 0xff; in read_toc()
495 scmd.uscsi_cdblen = 10; in read_toc()
496 scmd.uscsi_bufaddr = (char *)buf; in read_toc()
497 scmd.uscsi_buflen = buflen; in read_toc()
499 if ((uscsi(fd, &scmd)) != 0) { in read_toc()