1 /* 2 * Copyright (c) 1992 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This software was developed by the Computer Systems Engineering group 6 * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and 7 * contributed to Berkeley. 8 * 9 * All advertising materials mentioning features or use of this software 10 * must display the following acknowledgement: 11 * This product includes software developed by the University of 12 * California, Lawrence Berkeley Laboratories. 13 * 14 * %sccs.include.redist.c% 15 * 16 * @(#)disktape.h 5.2 (Berkeley) 07/23/92 17 * 18 * from: $Header: disktape.h,v 1.2 92/05/15 11:24:00 torek Exp $ (LBL) 19 */ 20 21 /* 22 * Commands common to disk and tape devices, but not other SCSI devices. 23 */ 24 25 /* 26 * Structure of a MODE SENSE command (i.e., the cdb). 27 */ 28 struct scsi_cdb_modesense { 29 u_char cdb_cmd, /* command */ 30 cdb_lun:3, /* logical unit number */ 31 cdb_xxx0:5, /* reserved */ 32 cdb_xxx1, /* reserved */ 33 cdb_xxx2, /* reserved */ 34 cdb_len, /* allocation length */ 35 cdb_ctrl; /* control byte */ 36 }; 37 38 /* 39 * Structure of returned mode sense data. 40 */ 41 struct scsi_modesense { 42 u_char ms_len, /* total sense data length */ 43 ms_mt, /* medium type */ 44 ms_wbs, /* write protect, buffered mode, & speed */ 45 ms_bdl; /* block descriptor length */ 46 struct scsi_ms_bdesc { 47 u_char dc, /* density code */ 48 nbh, /* number of blocks (MSB) */ 49 nbm, /* number of blocks */ 50 nbl, /* number of blocks (LSB) */ 51 xxx, /* reserved */ 52 blh, /* block length (MSB) */ 53 blm, /* block length */ 54 bll; /* block length (LSB) */ 55 } ms_bd[1]; 56 /* followed by Vendor Unique bytes */ 57 }; 58 59 /* 60 * Structure of a PREVENT/ALLOW MEDIUM REMOVAL command. 61 */ 62 struct scsi_cdb_pamr { 63 u_char cdb_cmd, /* 0x1e */ 64 cdb_lun:3, /* logical unit number */ 65 cdb_xxx0:5, /* reserved */ 66 cdb_xxx1, /* reserved */ 67 cdb_xxx2, /* reserved */ 68 cdb_prevent, /* 1=prevent, 0=allow */ 69 cdb_ctrl; 70 }; 71