1*130f4520SKenneth D. Merry /*- 2*130f4520SKenneth D. Merry * Copyright (c) 2003, 2004, 2005, 2009 Silicon Graphics International Corp. 3*130f4520SKenneth D. Merry * All rights reserved. 4*130f4520SKenneth D. Merry * 5*130f4520SKenneth D. Merry * Redistribution and use in source and binary forms, with or without 6*130f4520SKenneth D. Merry * modification, are permitted provided that the following conditions 7*130f4520SKenneth D. Merry * are met: 8*130f4520SKenneth D. Merry * 1. Redistributions of source code must retain the above copyright 9*130f4520SKenneth D. Merry * notice, this list of conditions, and the following disclaimer, 10*130f4520SKenneth D. Merry * without modification. 11*130f4520SKenneth D. Merry * 2. Redistributions in binary form must reproduce at minimum a disclaimer 12*130f4520SKenneth D. Merry * substantially similar to the "NO WARRANTY" disclaimer below 13*130f4520SKenneth D. Merry * ("Disclaimer") and any redistribution must be conditioned upon 14*130f4520SKenneth D. Merry * including a substantially similar Disclaimer requirement for further 15*130f4520SKenneth D. Merry * binary redistribution. 16*130f4520SKenneth D. Merry * 17*130f4520SKenneth D. Merry * NO WARRANTY 18*130f4520SKenneth D. Merry * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19*130f4520SKenneth D. Merry * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20*130f4520SKenneth D. Merry * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 21*130f4520SKenneth D. Merry * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22*130f4520SKenneth D. Merry * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23*130f4520SKenneth D. Merry * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24*130f4520SKenneth D. Merry * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25*130f4520SKenneth D. Merry * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 26*130f4520SKenneth D. Merry * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 27*130f4520SKenneth D. Merry * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28*130f4520SKenneth D. Merry * POSSIBILITY OF SUCH DAMAGES. 29*130f4520SKenneth D. Merry * 30*130f4520SKenneth D. Merry * $Id: //depot/users/kenm/FreeBSD-test2/sys/cam/ctl/ctl_cmd_table.c#4 $ 31*130f4520SKenneth D. Merry * $FreeBSD$ 32*130f4520SKenneth D. Merry */ 33*130f4520SKenneth D. Merry /* 34*130f4520SKenneth D. Merry * CAM Target Layer command table. 35*130f4520SKenneth D. Merry * 36*130f4520SKenneth D. Merry * Author: Ken Merry <ken@FreeBSD.org>, Kim Le 37*130f4520SKenneth D. Merry */ 38*130f4520SKenneth D. Merry 39*130f4520SKenneth D. Merry #include <sys/cdefs.h> 40*130f4520SKenneth D. Merry #include <sys/param.h> 41*130f4520SKenneth D. Merry #include <sys/systm.h> 42*130f4520SKenneth D. Merry #include <sys/kernel.h> 43*130f4520SKenneth D. Merry #include <sys/types.h> 44*130f4520SKenneth D. Merry #include <sys/malloc.h> 45*130f4520SKenneth D. Merry #include <sys/condvar.h> 46*130f4520SKenneth D. Merry #include <sys/queue.h> 47*130f4520SKenneth D. Merry 48*130f4520SKenneth D. Merry #include <cam/scsi/scsi_all.h> 49*130f4520SKenneth D. Merry #include <cam/scsi/scsi_da.h> 50*130f4520SKenneth D. Merry #include <cam/ctl/ctl_io.h> 51*130f4520SKenneth D. Merry #include <cam/ctl/ctl.h> 52*130f4520SKenneth D. Merry #include <cam/ctl/ctl_frontend.h> 53*130f4520SKenneth D. Merry #include <cam/ctl/ctl_backend.h> 54*130f4520SKenneth D. Merry #include <cam/ctl/ctl_frontend_internal.h> 55*130f4520SKenneth D. Merry #include <cam/ctl/ctl_ioctl.h> 56*130f4520SKenneth D. Merry #include <cam/ctl/ctl_ha.h> 57*130f4520SKenneth D. Merry #include <cam/ctl/ctl_private.h> 58*130f4520SKenneth D. Merry 59*130f4520SKenneth D. Merry /* 60*130f4520SKenneth D. Merry * Whenever support for a new command is added, it should be added to this 61*130f4520SKenneth D. Merry * table. 62*130f4520SKenneth D. Merry */ 63*130f4520SKenneth D. Merry struct ctl_cmd_entry ctl_cmd_table[] = 64*130f4520SKenneth D. Merry { 65*130f4520SKenneth D. Merry /* 00 TEST UNIT READY */ 66*130f4520SKenneth D. Merry {ctl_tur, CTL_SERIDX_TUR, CTL_CMD_FLAG_OK_ON_BOTH | 67*130f4520SKenneth D. Merry CTL_FLAG_DATA_NONE | 68*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 69*130f4520SKenneth D. Merry CTL_LUN_PAT_TUR}, 70*130f4520SKenneth D. Merry 71*130f4520SKenneth D. Merry /* 01 REWIND */ 72*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 73*130f4520SKenneth D. Merry 74*130f4520SKenneth D. Merry /* 02 */ 75*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 76*130f4520SKenneth D. Merry 77*130f4520SKenneth D. Merry /* 03 REQUEST SENSE */ 78*130f4520SKenneth D. Merry {ctl_request_sense, CTL_SERIDX_RQ_SNS, CTL_FLAG_DATA_IN | 79*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_ALL_LUNS | 80*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_RESV | 81*130f4520SKenneth D. Merry CTL_CMD_FLAG_NO_SENSE | 82*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 83*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 84*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_OFFLINE | 85*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 86*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 87*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 88*130f4520SKenneth D. Merry 89*130f4520SKenneth D. Merry /* 04 FORMAT UNIT */ 90*130f4520SKenneth D. Merry {ctl_format, CTL_SERIDX_FORMAT, CTL_CMD_FLAG_OK_ON_SLUN | 91*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 92*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT, 93*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 94*130f4520SKenneth D. Merry 95*130f4520SKenneth D. Merry /* 05 READ BLOCK LIMITS */ 96*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 97*130f4520SKenneth D. Merry 98*130f4520SKenneth D. Merry /* 06 */ 99*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 100*130f4520SKenneth D. Merry 101*130f4520SKenneth D. Merry /* 07 REASSIGN BLOCKS */ 102*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 103*130f4520SKenneth D. Merry 104*130f4520SKenneth D. Merry /* 08 READ(6) */ 105*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_READ, CTL_CMD_FLAG_OK_ON_SLUN | 106*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN | 107*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 108*130f4520SKenneth D. Merry CTL_LUN_PAT_READ | CTL_LUN_PAT_RANGE}, 109*130f4520SKenneth D. Merry 110*130f4520SKenneth D. Merry /* 09 */ 111*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 112*130f4520SKenneth D. Merry 113*130f4520SKenneth D. Merry /* 0A WRITE(6) */ 114*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN | 115*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT, 116*130f4520SKenneth D. Merry CTL_LUN_PAT_WRITE | CTL_LUN_PAT_RANGE}, 117*130f4520SKenneth D. Merry 118*130f4520SKenneth D. Merry /* 0B SEEK(6) */ 119*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 120*130f4520SKenneth D. Merry 121*130f4520SKenneth D. Merry /* 0C */ 122*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 123*130f4520SKenneth D. Merry 124*130f4520SKenneth D. Merry /* 0D */ 125*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 126*130f4520SKenneth D. Merry 127*130f4520SKenneth D. Merry /* 0E */ 128*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 129*130f4520SKenneth D. Merry 130*130f4520SKenneth D. Merry /* 0F READ REVERSE(6) */ 131*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 132*130f4520SKenneth D. Merry 133*130f4520SKenneth D. Merry /* 10 WRITE FILEMARKS(6) */ 134*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 135*130f4520SKenneth D. Merry 136*130f4520SKenneth D. Merry /* 11 SPACE(6) */ 137*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 138*130f4520SKenneth D. Merry 139*130f4520SKenneth D. Merry /* 12 INQUIRY */ 140*130f4520SKenneth D. Merry {ctl_inquiry, CTL_SERIDX_INQ, CTL_CMD_FLAG_OK_ON_ALL_LUNS | 141*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_RESV | 142*130f4520SKenneth D. Merry CTL_CMD_FLAG_NO_SENSE | 143*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 144*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 145*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_OFFLINE | 146*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 147*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN | 148*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 149*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 150*130f4520SKenneth D. Merry 151*130f4520SKenneth D. Merry /* 13 */ 152*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 153*130f4520SKenneth D. Merry 154*130f4520SKenneth D. Merry /* 14 RECOVER BUFFERED DATA */ 155*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 156*130f4520SKenneth D. Merry 157*130f4520SKenneth D. Merry /* 15 MODE SELECT(6) */ 158*130f4520SKenneth D. Merry {ctl_mode_select, CTL_SERIDX_MD_SEL, CTL_CMD_FLAG_OK_ON_BOTH | 159*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 160*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 161*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 162*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT, 163*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 164*130f4520SKenneth D. Merry 165*130f4520SKenneth D. Merry /* 16 RESERVE(6) */ 166*130f4520SKenneth D. Merry {ctl_scsi_reserve, CTL_SERIDX_RESV, CTL_CMD_FLAG_ALLOW_ON_RESV | 167*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_BOTH | 168*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 169*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 170*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 171*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT, 172*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 173*130f4520SKenneth D. Merry 174*130f4520SKenneth D. Merry /* 17 RELEASE(6) */ 175*130f4520SKenneth D. Merry {ctl_scsi_release, CTL_SERIDX_REL, CTL_CMD_FLAG_ALLOW_ON_RESV | 176*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_BOTH | 177*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 178*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 179*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 180*130f4520SKenneth D. Merry CTL_FLAG_DATA_NONE, 181*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 182*130f4520SKenneth D. Merry 183*130f4520SKenneth D. Merry /* 18 COPY */ 184*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 185*130f4520SKenneth D. Merry 186*130f4520SKenneth D. Merry /* 19 ERASE(6) */ 187*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 188*130f4520SKenneth D. Merry 189*130f4520SKenneth D. Merry /* 1A MODE SENSE(6) */ 190*130f4520SKenneth D. Merry {ctl_mode_sense, CTL_SERIDX_MD_SNS, CTL_CMD_FLAG_OK_ON_BOTH | 191*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 192*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 193*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 194*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN, 195*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 196*130f4520SKenneth D. Merry 197*130f4520SKenneth D. Merry /* 1B START STOP UNIT */ 198*130f4520SKenneth D. Merry {ctl_start_stop, CTL_SERIDX_START, CTL_CMD_FLAG_OK_ON_SLUN | 199*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 200*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 201*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_OFFLINE | 202*130f4520SKenneth D. Merry CTL_FLAG_DATA_NONE | 203*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 204*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 205*130f4520SKenneth D. Merry 206*130f4520SKenneth D. Merry /* 1C RECEIVE DIAGNOSTIC RESULTS */ 207*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 208*130f4520SKenneth D. Merry 209*130f4520SKenneth D. Merry /* 1D SEND DIAGNOSTIC */ 210*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 211*130f4520SKenneth D. Merry 212*130f4520SKenneth D. Merry /* 1E PREVENT ALLOW MEDIUM REMOVAL */ 213*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 214*130f4520SKenneth D. Merry 215*130f4520SKenneth D. Merry /* 1F */ 216*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 217*130f4520SKenneth D. Merry 218*130f4520SKenneth D. Merry /* 20 */ 219*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 220*130f4520SKenneth D. Merry 221*130f4520SKenneth D. Merry /* 21 */ 222*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 223*130f4520SKenneth D. Merry 224*130f4520SKenneth D. Merry /* 22 */ 225*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 226*130f4520SKenneth D. Merry 227*130f4520SKenneth D. Merry /* 23 */ 228*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 229*130f4520SKenneth D. Merry 230*130f4520SKenneth D. Merry /* 24 SET WINDOW */ 231*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 232*130f4520SKenneth D. Merry 233*130f4520SKenneth D. Merry /* 25 READ CAPACITY(10) */ 234*130f4520SKenneth D. Merry {ctl_read_capacity, CTL_SERIDX_RD_CAP, CTL_CMD_FLAG_OK_ON_SLUN| 235*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 236*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 237*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 238*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN | 239*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 240*130f4520SKenneth D. Merry CTL_LUN_PAT_READCAP}, 241*130f4520SKenneth D. Merry 242*130f4520SKenneth D. Merry /* 26 */ 243*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 244*130f4520SKenneth D. Merry 245*130f4520SKenneth D. Merry /* 27 */ 246*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 247*130f4520SKenneth D. Merry 248*130f4520SKenneth D. Merry /* 28 READ(10) */ 249*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_READ, CTL_CMD_FLAG_OK_ON_SLUN | 250*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN | 251*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 252*130f4520SKenneth D. Merry CTL_LUN_PAT_READ | CTL_LUN_PAT_RANGE}, 253*130f4520SKenneth D. Merry 254*130f4520SKenneth D. Merry /* 29 READ GENERATION */ 255*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 256*130f4520SKenneth D. Merry 257*130f4520SKenneth D. Merry /* 2A WRITE(10) */ 258*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN| CTL_FLAG_DATA_OUT, 259*130f4520SKenneth D. Merry CTL_LUN_PAT_WRITE | CTL_LUN_PAT_RANGE}, 260*130f4520SKenneth D. Merry 261*130f4520SKenneth D. Merry /* 2B SEEK(10) */ 262*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 263*130f4520SKenneth D. Merry 264*130f4520SKenneth D. Merry /* 2C ERASE(10) */ 265*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 266*130f4520SKenneth D. Merry 267*130f4520SKenneth D. Merry /* 2D READ UPDATED BLOCK */ 268*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 269*130f4520SKenneth D. Merry 270*130f4520SKenneth D. Merry /* 2E WRITE AND VERIFY(10) */ 271*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN| CTL_FLAG_DATA_OUT, 272*130f4520SKenneth D. Merry CTL_LUN_PAT_WRITE | CTL_LUN_PAT_RANGE}, 273*130f4520SKenneth D. Merry 274*130f4520SKenneth D. Merry /* 2F VERIFY(10) */ 275*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 276*130f4520SKenneth D. Merry 277*130f4520SKenneth D. Merry /* 30 SEARCH DATA HIGH(10) */ 278*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 279*130f4520SKenneth D. Merry 280*130f4520SKenneth D. Merry /* 31 SEARCH DATA EQUAL(10) */ 281*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 282*130f4520SKenneth D. Merry 283*130f4520SKenneth D. Merry /* 32 SEARCH DATA LOW(10) */ 284*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 285*130f4520SKenneth D. Merry 286*130f4520SKenneth D. Merry /* 33 SET LIMITS(10) */ 287*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 288*130f4520SKenneth D. Merry 289*130f4520SKenneth D. Merry /* 34 PRE-FETCH(10) */ 290*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 291*130f4520SKenneth D. Merry 292*130f4520SKenneth D. Merry /* 35 SYNCHRONIZE CACHE(10) */ 293*130f4520SKenneth D. Merry {ctl_sync_cache, CTL_SERIDX_START, CTL_CMD_FLAG_OK_ON_SLUN | 294*130f4520SKenneth D. Merry CTL_FLAG_DATA_NONE, 295*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 296*130f4520SKenneth D. Merry 297*130f4520SKenneth D. Merry /* 36 LOCK UNLOCK CACHE(10) */ 298*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 299*130f4520SKenneth D. Merry 300*130f4520SKenneth D. Merry /* 37 READ DEFECT DATA(10) */ 301*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 302*130f4520SKenneth D. Merry 303*130f4520SKenneth D. Merry /* 38 MEDIUM SCAN */ 304*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 305*130f4520SKenneth D. Merry 306*130f4520SKenneth D. Merry /* 39 COMPARE */ 307*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 308*130f4520SKenneth D. Merry 309*130f4520SKenneth D. Merry /* 3A COPY AND VERIFY */ 310*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 311*130f4520SKenneth D. Merry 312*130f4520SKenneth D. Merry /* 3B WRITE BUFFER */ 313*130f4520SKenneth D. Merry {ctl_write_buffer, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_PROC | 314*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT, 315*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 316*130f4520SKenneth D. Merry 317*130f4520SKenneth D. Merry /* 3C READ BUFFER */ 318*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 319*130f4520SKenneth D. Merry 320*130f4520SKenneth D. Merry /* 3D UPDATE BLOCK */ 321*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 322*130f4520SKenneth D. Merry 323*130f4520SKenneth D. Merry /* 3E READ LONG */ 324*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 325*130f4520SKenneth D. Merry 326*130f4520SKenneth D. Merry /* 3F WRITE LONG */ 327*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 328*130f4520SKenneth D. Merry 329*130f4520SKenneth D. Merry /* 40 CHANGE DEFINITION */ 330*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 331*130f4520SKenneth D. Merry 332*130f4520SKenneth D. Merry /* 41 WRITE SAME(10) */ 333*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 334*130f4520SKenneth D. Merry 335*130f4520SKenneth D. Merry /* 42 READ SUB-CHANNEL */ 336*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 337*130f4520SKenneth D. Merry 338*130f4520SKenneth D. Merry /* 43 READ TOC/PMA/ATIP */ 339*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 340*130f4520SKenneth D. Merry 341*130f4520SKenneth D. Merry /* 44 REPORT DENSITY SUPPORT */ 342*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 343*130f4520SKenneth D. Merry 344*130f4520SKenneth D. Merry /* 45 PLAY AUDIO(10) */ 345*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 346*130f4520SKenneth D. Merry 347*130f4520SKenneth D. Merry /* 46 GET CONFIGURATION */ 348*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 349*130f4520SKenneth D. Merry 350*130f4520SKenneth D. Merry /* 47 PLAY AUDIO MSF */ 351*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 352*130f4520SKenneth D. Merry 353*130f4520SKenneth D. Merry /* 48 PLAY AUDIO TRACK INDEX */ 354*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 355*130f4520SKenneth D. Merry 356*130f4520SKenneth D. Merry /* 49 PLAY TRACK RELATIVE(10) */ 357*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 358*130f4520SKenneth D. Merry 359*130f4520SKenneth D. Merry /* 4A GET EVENT STATUS NOTIFICATION */ 360*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 361*130f4520SKenneth D. Merry 362*130f4520SKenneth D. Merry /* 4B PAUSE/RESUME */ 363*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 364*130f4520SKenneth D. Merry 365*130f4520SKenneth D. Merry /* 4C LOG SELECT */ 366*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 367*130f4520SKenneth D. Merry 368*130f4520SKenneth D. Merry /* 4D LOG SENSE */ 369*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 370*130f4520SKenneth D. Merry 371*130f4520SKenneth D. Merry /* 4E STOP PLAY/SCAN */ 372*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 373*130f4520SKenneth D. Merry 374*130f4520SKenneth D. Merry /* 4F */ 375*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 376*130f4520SKenneth D. Merry 377*130f4520SKenneth D. Merry /* 50 XDWRITE(10) */ 378*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 379*130f4520SKenneth D. Merry 380*130f4520SKenneth D. Merry /* 51 XPWRITE(10) */ 381*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 382*130f4520SKenneth D. Merry 383*130f4520SKenneth D. Merry /* 52 XDREAD(10) */ 384*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 385*130f4520SKenneth D. Merry 386*130f4520SKenneth D. Merry /* 53 RESERVE TRACK */ 387*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 388*130f4520SKenneth D. Merry 389*130f4520SKenneth D. Merry /* 54 SEND OPC INFORMATION */ 390*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 391*130f4520SKenneth D. Merry 392*130f4520SKenneth D. Merry /* 55 MODE SELECT(10) */ 393*130f4520SKenneth D. Merry {ctl_mode_select, CTL_SERIDX_MD_SEL, CTL_CMD_FLAG_OK_ON_BOTH | 394*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 395*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 396*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 397*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT, 398*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 399*130f4520SKenneth D. Merry 400*130f4520SKenneth D. Merry /* 56 RESERVE(10) */ 401*130f4520SKenneth D. Merry {ctl_scsi_reserve, CTL_SERIDX_RESV, CTL_CMD_FLAG_ALLOW_ON_RESV | 402*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_BOTH | 403*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 404*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 405*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 406*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT, 407*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 408*130f4520SKenneth D. Merry 409*130f4520SKenneth D. Merry /* 57 RELEASE(10) */ 410*130f4520SKenneth D. Merry {ctl_scsi_release, CTL_SERIDX_REL, CTL_CMD_FLAG_ALLOW_ON_RESV | 411*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_BOTH | 412*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 413*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 414*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 415*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT, 416*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 417*130f4520SKenneth D. Merry 418*130f4520SKenneth D. Merry /* 58 REPAIR TRACK */ 419*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 420*130f4520SKenneth D. Merry 421*130f4520SKenneth D. Merry /* 59 READ MASTER CUE */ 422*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 423*130f4520SKenneth D. Merry 424*130f4520SKenneth D. Merry /* 5A MODE SENSE(10) */ 425*130f4520SKenneth D. Merry {ctl_mode_sense, CTL_SERIDX_MD_SNS, CTL_CMD_FLAG_OK_ON_BOTH | 426*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 427*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 428*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 429*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN, 430*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 431*130f4520SKenneth D. Merry 432*130f4520SKenneth D. Merry /* 5B CLOSE TRACK/SESSION */ 433*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 434*130f4520SKenneth D. Merry 435*130f4520SKenneth D. Merry /* 5C READ BUFFER CAPACITY */ 436*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 437*130f4520SKenneth D. Merry 438*130f4520SKenneth D. Merry /* 5D SEND CUE SHEET */ 439*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 440*130f4520SKenneth D. Merry 441*130f4520SKenneth D. Merry /* 5E PERSISTENT RESERVE IN */ 442*130f4520SKenneth D. Merry {ctl_persistent_reserve_in, CTL_SERIDX_PRES_IN, CTL_CMD_FLAG_ALLOW_ON_RESV | 443*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_BOTH | 444*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 445*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 446*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 447*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN | 448*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 449*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 450*130f4520SKenneth D. Merry 451*130f4520SKenneth D. Merry //{ctl_persistent_reserve_in, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE}, 452*130f4520SKenneth D. Merry 453*130f4520SKenneth D. Merry /* 5F PERSISTENT RESERVE OUT */ 454*130f4520SKenneth D. Merry {ctl_persistent_reserve_out, CTL_SERIDX_PRES_OUT, CTL_CMD_FLAG_ALLOW_ON_RESV | 455*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_BOTH | 456*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 457*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE| 458*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 459*130f4520SKenneth D. Merry CTL_FLAG_DATA_OUT | 460*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 461*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 462*130f4520SKenneth D. Merry 463*130f4520SKenneth D. Merry //{ctl_persistent_reserve_out, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE}, 464*130f4520SKenneth D. Merry 465*130f4520SKenneth D. Merry /* 60 */ 466*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 467*130f4520SKenneth D. Merry 468*130f4520SKenneth D. Merry /* 61 */ 469*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 470*130f4520SKenneth D. Merry 471*130f4520SKenneth D. Merry /* 62 */ 472*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 473*130f4520SKenneth D. Merry 474*130f4520SKenneth D. Merry /* 63 */ 475*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 476*130f4520SKenneth D. Merry 477*130f4520SKenneth D. Merry /* 64 */ 478*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 479*130f4520SKenneth D. Merry 480*130f4520SKenneth D. Merry /* 65 */ 481*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 482*130f4520SKenneth D. Merry 483*130f4520SKenneth D. Merry /* 66 */ 484*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 485*130f4520SKenneth D. Merry 486*130f4520SKenneth D. Merry /* 67 */ 487*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 488*130f4520SKenneth D. Merry 489*130f4520SKenneth D. Merry /* 68 */ 490*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 491*130f4520SKenneth D. Merry 492*130f4520SKenneth D. Merry /* 69 */ 493*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 494*130f4520SKenneth D. Merry 495*130f4520SKenneth D. Merry /* 6A */ 496*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 497*130f4520SKenneth D. Merry 498*130f4520SKenneth D. Merry /* 6B */ 499*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 500*130f4520SKenneth D. Merry 501*130f4520SKenneth D. Merry /* 6C */ 502*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 503*130f4520SKenneth D. Merry 504*130f4520SKenneth D. Merry /* 6D */ 505*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 506*130f4520SKenneth D. Merry 507*130f4520SKenneth D. Merry /* 6E */ 508*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 509*130f4520SKenneth D. Merry 510*130f4520SKenneth D. Merry /* 6F */ 511*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 512*130f4520SKenneth D. Merry 513*130f4520SKenneth D. Merry /* 70 */ 514*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 515*130f4520SKenneth D. Merry 516*130f4520SKenneth D. Merry /* 71 */ 517*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 518*130f4520SKenneth D. Merry 519*130f4520SKenneth D. Merry /* 72 */ 520*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 521*130f4520SKenneth D. Merry 522*130f4520SKenneth D. Merry /* 73 */ 523*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 524*130f4520SKenneth D. Merry 525*130f4520SKenneth D. Merry /* 74 */ 526*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 527*130f4520SKenneth D. Merry 528*130f4520SKenneth D. Merry /* 75 */ 529*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 530*130f4520SKenneth D. Merry 531*130f4520SKenneth D. Merry /* 76 */ 532*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 533*130f4520SKenneth D. Merry 534*130f4520SKenneth D. Merry /* 77 */ 535*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 536*130f4520SKenneth D. Merry 537*130f4520SKenneth D. Merry /* 78 */ 538*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 539*130f4520SKenneth D. Merry 540*130f4520SKenneth D. Merry /* 79 */ 541*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 542*130f4520SKenneth D. Merry 543*130f4520SKenneth D. Merry /* 7A */ 544*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 545*130f4520SKenneth D. Merry 546*130f4520SKenneth D. Merry /* 7B */ 547*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 548*130f4520SKenneth D. Merry 549*130f4520SKenneth D. Merry /* 7C */ 550*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 551*130f4520SKenneth D. Merry 552*130f4520SKenneth D. Merry /* 7D */ 553*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 554*130f4520SKenneth D. Merry 555*130f4520SKenneth D. Merry /* 7E */ 556*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 557*130f4520SKenneth D. Merry 558*130f4520SKenneth D. Merry /* 7F */ 559*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 560*130f4520SKenneth D. Merry 561*130f4520SKenneth D. Merry /* 80 XDWRITE EXTENDED(16) */ 562*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 563*130f4520SKenneth D. Merry 564*130f4520SKenneth D. Merry /* 81 REBUILD(16) */ 565*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 566*130f4520SKenneth D. Merry 567*130f4520SKenneth D. Merry /* 82 REGENERATE(16) */ 568*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 569*130f4520SKenneth D. Merry 570*130f4520SKenneth D. Merry /* 83 EXTENDED COPY */ 571*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 572*130f4520SKenneth D. Merry 573*130f4520SKenneth D. Merry /* 84 RECEIVE COPY RESULTS */ 574*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 575*130f4520SKenneth D. Merry 576*130f4520SKenneth D. Merry /* 85 */ 577*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 578*130f4520SKenneth D. Merry 579*130f4520SKenneth D. Merry /* 86 ACCESS CONTROL IN */ 580*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 581*130f4520SKenneth D. Merry 582*130f4520SKenneth D. Merry /* 87 ACCESS CONTROL OUT */ 583*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 584*130f4520SKenneth D. Merry 585*130f4520SKenneth D. Merry /* 88 READ(16) */ 586*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_READ, CTL_CMD_FLAG_OK_ON_SLUN | CTL_FLAG_DATA_IN | 587*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 588*130f4520SKenneth D. Merry CTL_LUN_PAT_READ | CTL_LUN_PAT_RANGE}, 589*130f4520SKenneth D. Merry 590*130f4520SKenneth D. Merry /* 89 */ 591*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 592*130f4520SKenneth D. Merry 593*130f4520SKenneth D. Merry /* 8A WRITE(16) */ 594*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN| CTL_FLAG_DATA_OUT, 595*130f4520SKenneth D. Merry CTL_LUN_PAT_WRITE | CTL_LUN_PAT_RANGE}, 596*130f4520SKenneth D. Merry 597*130f4520SKenneth D. Merry /* 8B */ 598*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 599*130f4520SKenneth D. Merry 600*130f4520SKenneth D. Merry /* 8C READ ATTRIBUTE */ 601*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 602*130f4520SKenneth D. Merry 603*130f4520SKenneth D. Merry /* 8D WRITE ATTRIBUTE */ 604*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 605*130f4520SKenneth D. Merry 606*130f4520SKenneth D. Merry /* 8E WRITE AND VERIFY(16) */ 607*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN| CTL_FLAG_DATA_OUT, 608*130f4520SKenneth D. Merry CTL_LUN_PAT_WRITE | CTL_LUN_PAT_RANGE}, 609*130f4520SKenneth D. Merry 610*130f4520SKenneth D. Merry /* 8F VERIFY(16) */ 611*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 612*130f4520SKenneth D. Merry 613*130f4520SKenneth D. Merry /* 90 PRE-FETCH(16) */ 614*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 615*130f4520SKenneth D. Merry 616*130f4520SKenneth D. Merry /* 91 SYNCHRONIZE CACHE(16) */ 617*130f4520SKenneth D. Merry {ctl_sync_cache, CTL_SERIDX_START, CTL_CMD_FLAG_OK_ON_SLUN | 618*130f4520SKenneth D. Merry CTL_FLAG_DATA_NONE, 619*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 620*130f4520SKenneth D. Merry 621*130f4520SKenneth D. Merry /* 92 LOCK UNLOCK CACHE(16) */ 622*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 623*130f4520SKenneth D. Merry 624*130f4520SKenneth D. Merry /* 93 WRITE SAME(16) */ 625*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 626*130f4520SKenneth D. Merry 627*130f4520SKenneth D. Merry /* 94 */ 628*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 629*130f4520SKenneth D. Merry 630*130f4520SKenneth D. Merry /* 95 */ 631*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 632*130f4520SKenneth D. Merry 633*130f4520SKenneth D. Merry /* 96 */ 634*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 635*130f4520SKenneth D. Merry 636*130f4520SKenneth D. Merry /* 97 */ 637*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 638*130f4520SKenneth D. Merry 639*130f4520SKenneth D. Merry /* 98 */ 640*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 641*130f4520SKenneth D. Merry 642*130f4520SKenneth D. Merry /* 99 */ 643*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 644*130f4520SKenneth D. Merry 645*130f4520SKenneth D. Merry /* 9A */ 646*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 647*130f4520SKenneth D. Merry 648*130f4520SKenneth D. Merry /* 9B */ 649*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 650*130f4520SKenneth D. Merry 651*130f4520SKenneth D. Merry /* 9C */ 652*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 653*130f4520SKenneth D. Merry 654*130f4520SKenneth D. Merry /* 9D */ 655*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 656*130f4520SKenneth D. Merry 657*130f4520SKenneth D. Merry /* 9E SERVICE ACTION IN(16) */ 658*130f4520SKenneth D. Merry /* XXX KDM not all service actions will be read capacity!! */ 659*130f4520SKenneth D. Merry {ctl_service_action_in, CTL_SERIDX_RD_CAP, CTL_CMD_FLAG_OK_ON_SLUN | 660*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 661*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 662*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 663*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN | 664*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 665*130f4520SKenneth D. Merry CTL_LUN_PAT_READCAP}, 666*130f4520SKenneth D. Merry 667*130f4520SKenneth D. Merry /* 9F SERVICE ACTION OUT(16) */ 668*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 669*130f4520SKenneth D. Merry 670*130f4520SKenneth D. Merry /* A0 REPORT LUNS */ 671*130f4520SKenneth D. Merry {ctl_report_luns, CTL_SERIDX_INQ, CTL_CMD_FLAG_OK_ON_ALL_LUNS | 672*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_RESV | 673*130f4520SKenneth D. Merry CTL_CMD_FLAG_NO_SENSE | 674*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 675*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 676*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_OFFLINE | 677*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 678*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN | 679*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 680*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 681*130f4520SKenneth D. Merry 682*130f4520SKenneth D. Merry /* A1 BLANK */ 683*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 684*130f4520SKenneth D. Merry 685*130f4520SKenneth D. Merry /* A2 SEND EVENT */ 686*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 687*130f4520SKenneth D. Merry 688*130f4520SKenneth D. Merry /* A3 MAINTENANCE (IN) Service Action - (0A) REPORT TARGET PORT GROUP */ 689*130f4520SKenneth D. Merry {ctl_maintenance_in, CTL_SERIDX_MAIN_IN, CTL_CMD_FLAG_OK_ON_BOTH | 690*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_STOPPED | 691*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_INOPERABLE | 692*130f4520SKenneth D. Merry CTL_CMD_FLAG_OK_ON_SECONDARY | 693*130f4520SKenneth D. Merry CTL_FLAG_DATA_IN, 694*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 695*130f4520SKenneth D. Merry 696*130f4520SKenneth D. Merry /* A4 MAINTENANCE (OUT) */ 697*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 698*130f4520SKenneth D. Merry 699*130f4520SKenneth D. Merry /* A5 MOVE MEDIUM */ 700*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 701*130f4520SKenneth D. Merry 702*130f4520SKenneth D. Merry /* A6 EXCHANGE MEDIUM */ 703*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 704*130f4520SKenneth D. Merry 705*130f4520SKenneth D. Merry /* A7 MOVE MEDIUM ATTACHED */ 706*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 707*130f4520SKenneth D. Merry 708*130f4520SKenneth D. Merry /* A8 READ(12) */ 709*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_READ, CTL_CMD_FLAG_OK_ON_SLUN | CTL_FLAG_DATA_IN | 710*130f4520SKenneth D. Merry CTL_CMD_FLAG_ALLOW_ON_PR_RESV, 711*130f4520SKenneth D. Merry CTL_LUN_PAT_READ | CTL_LUN_PAT_RANGE}, 712*130f4520SKenneth D. Merry 713*130f4520SKenneth D. Merry /* A9 PLAY TRACK RELATIVE(12) */ 714*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 715*130f4520SKenneth D. Merry 716*130f4520SKenneth D. Merry /* AA WRITE(12) */ 717*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN| CTL_FLAG_DATA_OUT, 718*130f4520SKenneth D. Merry CTL_LUN_PAT_WRITE | CTL_LUN_PAT_RANGE}, 719*130f4520SKenneth D. Merry 720*130f4520SKenneth D. Merry /* AB SERVICE ACTION IN(12) */ 721*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 722*130f4520SKenneth D. Merry 723*130f4520SKenneth D. Merry /* AC ERASE(12) */ 724*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 725*130f4520SKenneth D. Merry 726*130f4520SKenneth D. Merry /* AD READ DVD STRUCTURE */ 727*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 728*130f4520SKenneth D. Merry 729*130f4520SKenneth D. Merry /* AE WRITE AND VERIFY(12) */ 730*130f4520SKenneth D. Merry {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN| CTL_FLAG_DATA_OUT, 731*130f4520SKenneth D. Merry CTL_LUN_PAT_WRITE | CTL_LUN_PAT_RANGE}, 732*130f4520SKenneth D. Merry 733*130f4520SKenneth D. Merry /* AF VERIFY(12) */ 734*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 735*130f4520SKenneth D. Merry 736*130f4520SKenneth D. Merry /* B0 SEARCH DATA HIGH(12) */ 737*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 738*130f4520SKenneth D. Merry 739*130f4520SKenneth D. Merry /* B1 SEARCH DATA EQUAL(12) */ 740*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 741*130f4520SKenneth D. Merry 742*130f4520SKenneth D. Merry /* B2 SEARCH DATA LOW(12) */ 743*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 744*130f4520SKenneth D. Merry 745*130f4520SKenneth D. Merry /* B3 SET LIMITS(12) */ 746*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 747*130f4520SKenneth D. Merry 748*130f4520SKenneth D. Merry /* B4 READ ELEMENT STATUS ATTACHED */ 749*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 750*130f4520SKenneth D. Merry 751*130f4520SKenneth D. Merry /* B5 REQUEST VOLUME ELEMENT ADDRESS */ 752*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 753*130f4520SKenneth D. Merry 754*130f4520SKenneth D. Merry /* B6 SEND VOLUME TAG */ 755*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 756*130f4520SKenneth D. Merry 757*130f4520SKenneth D. Merry /* B7 READ DEFECT DATA(12) */ 758*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 759*130f4520SKenneth D. Merry 760*130f4520SKenneth D. Merry /* B8 READ ELEMENT STATUS */ 761*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 762*130f4520SKenneth D. Merry 763*130f4520SKenneth D. Merry /* B9 READ CD MSF */ 764*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 765*130f4520SKenneth D. Merry 766*130f4520SKenneth D. Merry /* BA REDUNDANCY GROUP (IN) */ 767*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 768*130f4520SKenneth D. Merry 769*130f4520SKenneth D. Merry /* BB REDUNDANCY GROUP (OUT) */ 770*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 771*130f4520SKenneth D. Merry 772*130f4520SKenneth D. Merry /* BC SPARE (IN) */ 773*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 774*130f4520SKenneth D. Merry 775*130f4520SKenneth D. Merry /* BD SPARE (OUT) */ 776*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 777*130f4520SKenneth D. Merry 778*130f4520SKenneth D. Merry /* BE VOLUME SET (IN) */ 779*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 780*130f4520SKenneth D. Merry 781*130f4520SKenneth D. Merry /* BF VOLUME SET (OUT) */ 782*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 783*130f4520SKenneth D. Merry 784*130f4520SKenneth D. Merry /* C0 - ISC_SEND_MSG_SHORT */ 785*130f4520SKenneth D. Merry //{NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE}, 786*130f4520SKenneth D. Merry {ctl_isc, CTL_SERIDX_READ, CTL_CMD_FLAG_OK_ON_PROC | CTL_FLAG_DATA_NONE, 787*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 788*130f4520SKenneth D. Merry 789*130f4520SKenneth D. Merry /* C1 - ISC_SEND_MSG */ 790*130f4520SKenneth D. Merry //{NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE}, 791*130f4520SKenneth D. Merry {ctl_isc, CTL_SERIDX_READ, CTL_CMD_FLAG_OK_ON_PROC | CTL_FLAG_DATA_OUT, 792*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 793*130f4520SKenneth D. Merry 794*130f4520SKenneth D. Merry /* C2 - ISC_WRITE */ 795*130f4520SKenneth D. Merry //{NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE}, 796*130f4520SKenneth D. Merry {ctl_isc, CTL_SERIDX_READ, CTL_CMD_FLAG_OK_ON_PROC | CTL_FLAG_DATA_OUT, 797*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 798*130f4520SKenneth D. Merry 799*130f4520SKenneth D. Merry /* C3 - ISC_READ */ 800*130f4520SKenneth D. Merry //{NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE}, 801*130f4520SKenneth D. Merry {ctl_isc, CTL_SERIDX_READ, CTL_CMD_FLAG_OK_ON_PROC | CTL_FLAG_DATA_IN, 802*130f4520SKenneth D. Merry CTL_LUN_PAT_NONE}, 803*130f4520SKenneth D. Merry 804*130f4520SKenneth D. Merry /* C4 */ 805*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 806*130f4520SKenneth D. Merry 807*130f4520SKenneth D. Merry /* C5 */ 808*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 809*130f4520SKenneth D. Merry 810*130f4520SKenneth D. Merry /* C6 */ 811*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 812*130f4520SKenneth D. Merry 813*130f4520SKenneth D. Merry /* C7 */ 814*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 815*130f4520SKenneth D. Merry 816*130f4520SKenneth D. Merry /* C8 */ 817*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 818*130f4520SKenneth D. Merry 819*130f4520SKenneth D. Merry /* C9 */ 820*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 821*130f4520SKenneth D. Merry 822*130f4520SKenneth D. Merry /* CA */ 823*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 824*130f4520SKenneth D. Merry 825*130f4520SKenneth D. Merry /* CB */ 826*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 827*130f4520SKenneth D. Merry 828*130f4520SKenneth D. Merry /* CC */ 829*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 830*130f4520SKenneth D. Merry 831*130f4520SKenneth D. Merry /* CD */ 832*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 833*130f4520SKenneth D. Merry 834*130f4520SKenneth D. Merry /* CE */ 835*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 836*130f4520SKenneth D. Merry 837*130f4520SKenneth D. Merry /* CF */ 838*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 839*130f4520SKenneth D. Merry 840*130f4520SKenneth D. Merry /* D0 */ 841*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 842*130f4520SKenneth D. Merry 843*130f4520SKenneth D. Merry /* D1 */ 844*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 845*130f4520SKenneth D. Merry 846*130f4520SKenneth D. Merry /* D2 */ 847*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 848*130f4520SKenneth D. Merry 849*130f4520SKenneth D. Merry /* D3 */ 850*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 851*130f4520SKenneth D. Merry 852*130f4520SKenneth D. Merry /* D4 */ 853*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 854*130f4520SKenneth D. Merry 855*130f4520SKenneth D. Merry /* D5 */ 856*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 857*130f4520SKenneth D. Merry 858*130f4520SKenneth D. Merry /* D6 */ 859*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 860*130f4520SKenneth D. Merry 861*130f4520SKenneth D. Merry /* D7 */ 862*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 863*130f4520SKenneth D. Merry 864*130f4520SKenneth D. Merry /* D8 */ 865*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 866*130f4520SKenneth D. Merry 867*130f4520SKenneth D. Merry /* D9 */ 868*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 869*130f4520SKenneth D. Merry 870*130f4520SKenneth D. Merry /* DA */ 871*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 872*130f4520SKenneth D. Merry 873*130f4520SKenneth D. Merry /* DB */ 874*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 875*130f4520SKenneth D. Merry 876*130f4520SKenneth D. Merry /* DC */ 877*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 878*130f4520SKenneth D. Merry 879*130f4520SKenneth D. Merry /* DD */ 880*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 881*130f4520SKenneth D. Merry 882*130f4520SKenneth D. Merry /* DE */ 883*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 884*130f4520SKenneth D. Merry 885*130f4520SKenneth D. Merry /* DF */ 886*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 887*130f4520SKenneth D. Merry 888*130f4520SKenneth D. Merry /* E0 */ 889*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 890*130f4520SKenneth D. Merry 891*130f4520SKenneth D. Merry /* E1 */ 892*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 893*130f4520SKenneth D. Merry 894*130f4520SKenneth D. Merry /* E2 */ 895*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 896*130f4520SKenneth D. Merry 897*130f4520SKenneth D. Merry /* E3 */ 898*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 899*130f4520SKenneth D. Merry 900*130f4520SKenneth D. Merry /* E4 */ 901*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 902*130f4520SKenneth D. Merry 903*130f4520SKenneth D. Merry /* E5 */ 904*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 905*130f4520SKenneth D. Merry 906*130f4520SKenneth D. Merry /* E6 */ 907*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 908*130f4520SKenneth D. Merry 909*130f4520SKenneth D. Merry /* E7 */ 910*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 911*130f4520SKenneth D. Merry 912*130f4520SKenneth D. Merry /* E8 */ 913*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 914*130f4520SKenneth D. Merry 915*130f4520SKenneth D. Merry /* E9 */ 916*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 917*130f4520SKenneth D. Merry 918*130f4520SKenneth D. Merry /* EA */ 919*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 920*130f4520SKenneth D. Merry 921*130f4520SKenneth D. Merry /* EB */ 922*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 923*130f4520SKenneth D. Merry 924*130f4520SKenneth D. Merry /* EC */ 925*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 926*130f4520SKenneth D. Merry 927*130f4520SKenneth D. Merry /* ED */ 928*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 929*130f4520SKenneth D. Merry 930*130f4520SKenneth D. Merry /* EE */ 931*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 932*130f4520SKenneth D. Merry 933*130f4520SKenneth D. Merry /* EF */ 934*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 935*130f4520SKenneth D. Merry 936*130f4520SKenneth D. Merry /* F0 */ 937*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 938*130f4520SKenneth D. Merry 939*130f4520SKenneth D. Merry /* F1 */ 940*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 941*130f4520SKenneth D. Merry 942*130f4520SKenneth D. Merry /* F2 */ 943*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 944*130f4520SKenneth D. Merry 945*130f4520SKenneth D. Merry /* F3 */ 946*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 947*130f4520SKenneth D. Merry 948*130f4520SKenneth D. Merry /* F4 */ 949*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 950*130f4520SKenneth D. Merry 951*130f4520SKenneth D. Merry /* F5 */ 952*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 953*130f4520SKenneth D. Merry 954*130f4520SKenneth D. Merry /* F6 */ 955*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 956*130f4520SKenneth D. Merry 957*130f4520SKenneth D. Merry /* F7 */ 958*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 959*130f4520SKenneth D. Merry 960*130f4520SKenneth D. Merry /* F8 */ 961*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 962*130f4520SKenneth D. Merry 963*130f4520SKenneth D. Merry /* F9 */ 964*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 965*130f4520SKenneth D. Merry 966*130f4520SKenneth D. Merry /* FA */ 967*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 968*130f4520SKenneth D. Merry 969*130f4520SKenneth D. Merry /* FB */ 970*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 971*130f4520SKenneth D. Merry 972*130f4520SKenneth D. Merry /* FC */ 973*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 974*130f4520SKenneth D. Merry 975*130f4520SKenneth D. Merry /* FD */ 976*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 977*130f4520SKenneth D. Merry 978*130f4520SKenneth D. Merry /* FE */ 979*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, 980*130f4520SKenneth D. Merry 981*130f4520SKenneth D. Merry /* FF */ 982*130f4520SKenneth D. Merry {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE} 983*130f4520SKenneth D. Merry 984*130f4520SKenneth D. Merry }; 985