1*7c478bd9Sstevel@tonic-gate /* 2*7c478bd9Sstevel@tonic-gate * CDDL HEADER START 3*7c478bd9Sstevel@tonic-gate * 4*7c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*7c478bd9Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 6*7c478bd9Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 7*7c478bd9Sstevel@tonic-gate * with the License. 8*7c478bd9Sstevel@tonic-gate * 9*7c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*7c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 11*7c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions 12*7c478bd9Sstevel@tonic-gate * and limitations under the License. 13*7c478bd9Sstevel@tonic-gate * 14*7c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 15*7c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*7c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 17*7c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 18*7c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 19*7c478bd9Sstevel@tonic-gate * 20*7c478bd9Sstevel@tonic-gate * CDDL HEADER END 21*7c478bd9Sstevel@tonic-gate */ 22*7c478bd9Sstevel@tonic-gate /* 23*7c478bd9Sstevel@tonic-gate * Copyright (c) 1996-1998 by Sun Microsystems, Inc. 24*7c478bd9Sstevel@tonic-gate * All rights reserved. 25*7c478bd9Sstevel@tonic-gate */ 26*7c478bd9Sstevel@tonic-gate 27*7c478bd9Sstevel@tonic-gate #ifndef _SYS_SCSI_GENERIC_DAD_MODE_H 28*7c478bd9Sstevel@tonic-gate #define _SYS_SCSI_GENERIC_DAD_MODE_H 29*7c478bd9Sstevel@tonic-gate 30*7c478bd9Sstevel@tonic-gate #ifdef __cplusplus 31*7c478bd9Sstevel@tonic-gate extern "C" { 32*7c478bd9Sstevel@tonic-gate #endif 33*7c478bd9Sstevel@tonic-gate 34*7c478bd9Sstevel@tonic-gate /* 35*7c478bd9Sstevel@tonic-gate * Structures and defines for DIRECT ACCESS mode sense/select operations 36*7c478bd9Sstevel@tonic-gate */ 37*7c478bd9Sstevel@tonic-gate 38*7c478bd9Sstevel@tonic-gate /* 39*7c478bd9Sstevel@tonic-gate * Direct Access Device mode header device specific byte definitions. 40*7c478bd9Sstevel@tonic-gate * 41*7c478bd9Sstevel@tonic-gate * On MODE SELECT operations, the effect of the state of the WP bit is unknown, 42*7c478bd9Sstevel@tonic-gate * else reflects the Write-Protect status of the device. 43*7c478bd9Sstevel@tonic-gate * 44*7c478bd9Sstevel@tonic-gate * On MODE SELECT operations, the the DPOFUA bit is reserved and must 45*7c478bd9Sstevel@tonic-gate * be zero, else on MODE SENSE operations it reflects whether or not 46*7c478bd9Sstevel@tonic-gate * DPO and FUA bits are supported. 47*7c478bd9Sstevel@tonic-gate */ 48*7c478bd9Sstevel@tonic-gate 49*7c478bd9Sstevel@tonic-gate #define MODE_DAD_WP 0x80 50*7c478bd9Sstevel@tonic-gate #define MODE_DAD_DPOFUA 0x10 51*7c478bd9Sstevel@tonic-gate 52*7c478bd9Sstevel@tonic-gate /* 53*7c478bd9Sstevel@tonic-gate * Direct Access Device Medium Types (for non direct-access magentic tapes) 54*7c478bd9Sstevel@tonic-gate */ 55*7c478bd9Sstevel@tonic-gate 56*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_DFLT 0x0 /* default (currently mounted) type */ 57*7c478bd9Sstevel@tonic-gate 58*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLXSS 0x1 /* flexible disk, single side, unspec. media */ 59*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLXDS 0x2 /* flexible disk, double side, unspec. media */ 60*7c478bd9Sstevel@tonic-gate 61*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_8SSSD 0x05 /* 8", single side, single density, 48tpi */ 62*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_8DSSD 0x06 /* 8", double side, single density, 48tpi */ 63*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_8SSDD 0x09 /* 8", single side, double density, 48tpi */ 64*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_8DSDD 0x0A /* 8", double side, double density, 48tpi */ 65*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_5SSLD 0x0D /* 5.25", single side, single density, 48tpi */ 66*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_5DSMD1 0x12 /* 5.25", double side, medium density, 48tpi */ 67*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_5DSMD2 0x16 /* 5.25", double side, medium density, 96tpi */ 68*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_5DSQD 0x1A /* 5.25", double side, quad density, 96tpi */ 69*7c478bd9Sstevel@tonic-gate #define DAD_MTYP_FLX_3DSLD 0x1E /* 3.5", double side, low density, 135tpi */ 70*7c478bd9Sstevel@tonic-gate 71*7c478bd9Sstevel@tonic-gate 72*7c478bd9Sstevel@tonic-gate /* 73*7c478bd9Sstevel@tonic-gate * Direct Access device Mode Sense/Mode Select Defined pages 74*7c478bd9Sstevel@tonic-gate */ 75*7c478bd9Sstevel@tonic-gate 76*7c478bd9Sstevel@tonic-gate #define DAD_MODE_ERR_RECOV 0x01 77*7c478bd9Sstevel@tonic-gate #define DAD_MODE_FORMAT 0x03 78*7c478bd9Sstevel@tonic-gate #define DAD_MODE_GEOMETRY 0x04 79*7c478bd9Sstevel@tonic-gate #define DAD_MODE_FLEXDISK 0x05 80*7c478bd9Sstevel@tonic-gate #define DAD_MODE_VRFY_ERR_RECOV 0x07 81*7c478bd9Sstevel@tonic-gate #define DAD_MODE_CACHE 0x08 82*7c478bd9Sstevel@tonic-gate #define DAD_MODE_MEDIA_TYPES 0x0B 83*7c478bd9Sstevel@tonic-gate #define DAD_MODE_NOTCHPART 0x0C 84*7c478bd9Sstevel@tonic-gate #define DAD_MODE_POWER_COND 0x0D 85*7c478bd9Sstevel@tonic-gate 86*7c478bd9Sstevel@tonic-gate /* 87*7c478bd9Sstevel@tonic-gate * Definitions of selected pages 88*7c478bd9Sstevel@tonic-gate */ 89*7c478bd9Sstevel@tonic-gate 90*7c478bd9Sstevel@tonic-gate /* 91*7c478bd9Sstevel@tonic-gate * Page 0x1 - Error Recovery Parameters 92*7c478bd9Sstevel@tonic-gate * 93*7c478bd9Sstevel@tonic-gate * Note: This structure is incompatible with previous SCSI 94*7c478bd9Sstevel@tonic-gate * implementations. See <scsi/impl/mode.h> for an 95*7c478bd9Sstevel@tonic-gate * alternative form of this structure. They can be 96*7c478bd9Sstevel@tonic-gate * distinguished by the length of data returned 97*7c478bd9Sstevel@tonic-gate * from a MODE SENSE command. 98*7c478bd9Sstevel@tonic-gate */ 99*7c478bd9Sstevel@tonic-gate 100*7c478bd9Sstevel@tonic-gate #define PAGELENGTH_DAD_MODE_ERR_RECOV 0x0A 101*7c478bd9Sstevel@tonic-gate 102*7c478bd9Sstevel@tonic-gate struct mode_err_recov { 103*7c478bd9Sstevel@tonic-gate struct mode_page mode_page; /* common mode page header */ 104*7c478bd9Sstevel@tonic-gate #if defined(_BIT_FIELDS_LTOH) 105*7c478bd9Sstevel@tonic-gate uchar_t dcr : 1, /* disable correction */ 106*7c478bd9Sstevel@tonic-gate dte : 1, /* disable transfer on error */ 107*7c478bd9Sstevel@tonic-gate per : 1, /* post error */ 108*7c478bd9Sstevel@tonic-gate eec : 1, /* enable early correction */ 109*7c478bd9Sstevel@tonic-gate rc : 1, /* read continuous */ 110*7c478bd9Sstevel@tonic-gate tb : 1, /* transfer block */ 111*7c478bd9Sstevel@tonic-gate arre : 1, /* auto read realloc enabled */ 112*7c478bd9Sstevel@tonic-gate awre : 1; /* auto write realloc enabled */ 113*7c478bd9Sstevel@tonic-gate #elif defined(_BIT_FIELDS_HTOL) 114*7c478bd9Sstevel@tonic-gate uchar_t awre : 1, /* auto write realloc enabled */ 115*7c478bd9Sstevel@tonic-gate arre : 1, /* auto read realloc enabled */ 116*7c478bd9Sstevel@tonic-gate tb : 1, /* transfer block */ 117*7c478bd9Sstevel@tonic-gate rc : 1, /* read continuous */ 118*7c478bd9Sstevel@tonic-gate eec : 1, /* enable early correction */ 119*7c478bd9Sstevel@tonic-gate per : 1, /* post error */ 120*7c478bd9Sstevel@tonic-gate dte : 1, /* disable transfer on error */ 121*7c478bd9Sstevel@tonic-gate dcr : 1; /* disable correction */ 122*7c478bd9Sstevel@tonic-gate #else 123*7c478bd9Sstevel@tonic-gate #error One of _BIT_FIELDS_LTOH or _BIT_FIELDS_HTOL must be defined 124*7c478bd9Sstevel@tonic-gate #endif /* _BIT_FIELDS_LTOH */ 125*7c478bd9Sstevel@tonic-gate uchar_t read_retry_count; 126*7c478bd9Sstevel@tonic-gate uchar_t correction_span; 127*7c478bd9Sstevel@tonic-gate uchar_t head_offset_count; 128*7c478bd9Sstevel@tonic-gate uchar_t strobe_offset_count; 129*7c478bd9Sstevel@tonic-gate uchar_t reserved; 130*7c478bd9Sstevel@tonic-gate uchar_t write_retry_count; 131*7c478bd9Sstevel@tonic-gate uchar_t reserved_2; 132*7c478bd9Sstevel@tonic-gate ushort_t recovery_time_limit; 133*7c478bd9Sstevel@tonic-gate }; 134*7c478bd9Sstevel@tonic-gate 135*7c478bd9Sstevel@tonic-gate /* 136*7c478bd9Sstevel@tonic-gate * Page 0x3 - Direct Access Device Format Parameters 137*7c478bd9Sstevel@tonic-gate */ 138*7c478bd9Sstevel@tonic-gate 139*7c478bd9Sstevel@tonic-gate struct mode_format { 140*7c478bd9Sstevel@tonic-gate struct mode_page mode_page; /* common mode page header */ 141*7c478bd9Sstevel@tonic-gate ushort_t tracks_per_zone; /* Handling of Defects Fields */ 142*7c478bd9Sstevel@tonic-gate ushort_t alt_sect_zone; 143*7c478bd9Sstevel@tonic-gate ushort_t alt_tracks_zone; 144*7c478bd9Sstevel@tonic-gate ushort_t alt_tracks_vol; 145*7c478bd9Sstevel@tonic-gate ushort_t sect_track; /* Track Format Field */ 146*7c478bd9Sstevel@tonic-gate ushort_t data_bytes_sect; /* Sector Format Fields */ 147*7c478bd9Sstevel@tonic-gate ushort_t interleave; 148*7c478bd9Sstevel@tonic-gate ushort_t track_skew; 149*7c478bd9Sstevel@tonic-gate ushort_t cylinder_skew; 150*7c478bd9Sstevel@tonic-gate #if defined(_BIT_FIELDS_LTOH) 151*7c478bd9Sstevel@tonic-gate uchar_t : 3, 152*7c478bd9Sstevel@tonic-gate _reserved_ins : 1, /* see <scsi/impl/mode.h> */ 153*7c478bd9Sstevel@tonic-gate surf : 1, 154*7c478bd9Sstevel@tonic-gate rmb : 1, 155*7c478bd9Sstevel@tonic-gate hsec : 1, 156*7c478bd9Sstevel@tonic-gate ssec : 1; /* Drive Type Field */ 157*7c478bd9Sstevel@tonic-gate #elif defined(_BIT_FIELDS_HTOL) 158*7c478bd9Sstevel@tonic-gate uchar_t ssec : 1, /* Drive Type Field */ 159*7c478bd9Sstevel@tonic-gate hsec : 1, 160*7c478bd9Sstevel@tonic-gate rmb : 1, 161*7c478bd9Sstevel@tonic-gate surf : 1, 162*7c478bd9Sstevel@tonic-gate _reserved_ins : 1, /* see <scsi/impl/mode.h> */ 163*7c478bd9Sstevel@tonic-gate : 3; 164*7c478bd9Sstevel@tonic-gate #else 165*7c478bd9Sstevel@tonic-gate #error One of _BIT_FIELDS_LTOH or _BIT_FIELDS_HTOL must be defined 166*7c478bd9Sstevel@tonic-gate #endif /* _BIT_FIELDS_LTOH */ 167*7c478bd9Sstevel@tonic-gate uchar_t reserved[2]; 168*7c478bd9Sstevel@tonic-gate }; 169*7c478bd9Sstevel@tonic-gate 170*7c478bd9Sstevel@tonic-gate /* 171*7c478bd9Sstevel@tonic-gate * Page 0x4 - Rigid Disk Drive Geometry Parameters 172*7c478bd9Sstevel@tonic-gate */ 173*7c478bd9Sstevel@tonic-gate 174*7c478bd9Sstevel@tonic-gate struct mode_geometry { 175*7c478bd9Sstevel@tonic-gate struct mode_page mode_page; /* common mode page header */ 176*7c478bd9Sstevel@tonic-gate uchar_t cyl_ub; /* number of cylinders */ 177*7c478bd9Sstevel@tonic-gate uchar_t cyl_mb; 178*7c478bd9Sstevel@tonic-gate uchar_t cyl_lb; 179*7c478bd9Sstevel@tonic-gate uchar_t heads; /* number of heads */ 180*7c478bd9Sstevel@tonic-gate uchar_t precomp_cyl_ub; /* cylinder to start precomp */ 181*7c478bd9Sstevel@tonic-gate uchar_t precomp_cyl_mb; 182*7c478bd9Sstevel@tonic-gate uchar_t precomp_cyl_lb; 183*7c478bd9Sstevel@tonic-gate uchar_t current_cyl_ub; /* cyl to start reduced current */ 184*7c478bd9Sstevel@tonic-gate uchar_t current_cyl_mb; 185*7c478bd9Sstevel@tonic-gate uchar_t current_cyl_lb; 186*7c478bd9Sstevel@tonic-gate ushort_t step_rate; /* drive step rate */ 187*7c478bd9Sstevel@tonic-gate uchar_t landing_cyl_ub; /* landing zone cylinder */ 188*7c478bd9Sstevel@tonic-gate uchar_t landing_cyl_mb; 189*7c478bd9Sstevel@tonic-gate uchar_t landing_cyl_lb; 190*7c478bd9Sstevel@tonic-gate #if defined(_BIT_FIELDS_LTOH) 191*7c478bd9Sstevel@tonic-gate uchar_t rpl : 2, /* rotational position locking */ 192*7c478bd9Sstevel@tonic-gate : 6; 193*7c478bd9Sstevel@tonic-gate #elif defined(_BIT_FIELDS_HTOL) 194*7c478bd9Sstevel@tonic-gate uchar_t : 6, 195*7c478bd9Sstevel@tonic-gate rpl : 2; /* rotational position locking */ 196*7c478bd9Sstevel@tonic-gate #else 197*7c478bd9Sstevel@tonic-gate #error One of _BIT_FIELDS_LTOH or _BIT_FIELDS_HTOL must be defined 198*7c478bd9Sstevel@tonic-gate #endif /* _BIT_FIELDS_LTOH */ 199*7c478bd9Sstevel@tonic-gate uchar_t rotational_offset; /* rotational offset */ 200*7c478bd9Sstevel@tonic-gate uchar_t reserved; 201*7c478bd9Sstevel@tonic-gate ushort_t rpm; /* rotations per minute */ 202*7c478bd9Sstevel@tonic-gate uchar_t reserved2[2]; 203*7c478bd9Sstevel@tonic-gate }; 204*7c478bd9Sstevel@tonic-gate 205*7c478bd9Sstevel@tonic-gate #define RPL_SPINDLE_SLAVE 1 206*7c478bd9Sstevel@tonic-gate #define RPL_SPINDLE_MASTER 2 207*7c478bd9Sstevel@tonic-gate #define RPL_SPINDLE_MASTER_CONTROL 3 208*7c478bd9Sstevel@tonic-gate 209*7c478bd9Sstevel@tonic-gate /* 210*7c478bd9Sstevel@tonic-gate * Page 0x8 - Caching Page 211*7c478bd9Sstevel@tonic-gate * 212*7c478bd9Sstevel@tonic-gate * Note: This structure is incompatible with previous SCSI 213*7c478bd9Sstevel@tonic-gate * implementations. See <scsi/impl/mode.h> for an 214*7c478bd9Sstevel@tonic-gate * alternative form of this structure. They can be 215*7c478bd9Sstevel@tonic-gate * distinguished by the length of data returned 216*7c478bd9Sstevel@tonic-gate * from a MODE SENSE command. 217*7c478bd9Sstevel@tonic-gate */ 218*7c478bd9Sstevel@tonic-gate 219*7c478bd9Sstevel@tonic-gate #define PAGELENGTH_DAD_MODE_CACHE_SCSI3 0x12 220*7c478bd9Sstevel@tonic-gate 221*7c478bd9Sstevel@tonic-gate struct mode_cache_scsi3 { 222*7c478bd9Sstevel@tonic-gate struct mode_page mode_page; /* common mode page header */ 223*7c478bd9Sstevel@tonic-gate #if defined(_BIT_FIELDS_LTOH) 224*7c478bd9Sstevel@tonic-gate uchar_t rcd : 1, /* Read Cache Disable */ 225*7c478bd9Sstevel@tonic-gate mf : 1, /* Multiplication Factor */ 226*7c478bd9Sstevel@tonic-gate wce : 1, /* Write Cache Enable */ 227*7c478bd9Sstevel@tonic-gate size : 1, /* Size Enable */ 228*7c478bd9Sstevel@tonic-gate disc : 1, /* Discontinuity */ 229*7c478bd9Sstevel@tonic-gate cap : 1, /* Caching Analysis Permitted */ 230*7c478bd9Sstevel@tonic-gate abpf : 1, /* Abort Pre-Fetch */ 231*7c478bd9Sstevel@tonic-gate ic : 1; /* Initiator Control */ 232*7c478bd9Sstevel@tonic-gate uchar_t write_reten_pri : 4, /* Write Retention Priority */ 233*7c478bd9Sstevel@tonic-gate read_reten_pri : 4; /* Demand Read Retention Priority */ 234*7c478bd9Sstevel@tonic-gate #elif defined(_BIT_FIELDS_HTOL) 235*7c478bd9Sstevel@tonic-gate uchar_t ic : 1, /* Initiator Control */ 236*7c478bd9Sstevel@tonic-gate abpf : 1, /* Abort Pre-Fetch */ 237*7c478bd9Sstevel@tonic-gate cap : 1, /* Caching Analysis Permitted */ 238*7c478bd9Sstevel@tonic-gate disc : 1, /* Discontinuity */ 239*7c478bd9Sstevel@tonic-gate size : 1, /* Size Enable */ 240*7c478bd9Sstevel@tonic-gate wce : 1, /* Write Cache Enable */ 241*7c478bd9Sstevel@tonic-gate mf : 1, /* Multiplication Factor */ 242*7c478bd9Sstevel@tonic-gate rcd : 1; /* Read Cache Disable */ 243*7c478bd9Sstevel@tonic-gate uchar_t read_reten_pri : 4, /* Demand Read Retention Priority */ 244*7c478bd9Sstevel@tonic-gate write_reten_pri : 4; /* Write Retention Priority */ 245*7c478bd9Sstevel@tonic-gate #else 246*7c478bd9Sstevel@tonic-gate #error One of _BIT_FIELDS_LTOH or _BIT_FIELDS_HTOL must be defined 247*7c478bd9Sstevel@tonic-gate #endif /* _BIT_FIELDS_LTOH */ 248*7c478bd9Sstevel@tonic-gate ushort_t dis_prefetch_len; /* Disable prefetch xfer length */ 249*7c478bd9Sstevel@tonic-gate ushort_t min_prefetch; /* minimum prefetch length */ 250*7c478bd9Sstevel@tonic-gate ushort_t max_prefetch; /* maximum prefetch length */ 251*7c478bd9Sstevel@tonic-gate ushort_t prefetch_ceiling; /* max prefetch ceiling */ 252*7c478bd9Sstevel@tonic-gate #if defined(_BIT_FIELDS_LTOH) 253*7c478bd9Sstevel@tonic-gate uchar_t : 3, /* reserved */ 254*7c478bd9Sstevel@tonic-gate vu_123 : 1, /* Vendor Specific, byte 12 bit 3 */ 255*7c478bd9Sstevel@tonic-gate vu_124 : 1, /* Vendor Specific, byte 12 bit 4 */ 256*7c478bd9Sstevel@tonic-gate dra : 1, /* Disable Read-Ahead */ 257*7c478bd9Sstevel@tonic-gate lbcss : 1, /* Logical Block Cache Segment Size */ 258*7c478bd9Sstevel@tonic-gate fsw : 1; /* Force Sequential Write */ 259*7c478bd9Sstevel@tonic-gate #elif defined(_BIT_FIELDS_HTOL) 260*7c478bd9Sstevel@tonic-gate uchar_t fsw : 1, /* Force Sequential Write */ 261*7c478bd9Sstevel@tonic-gate lbcss : 1, /* Logical Block Cache Segment Size */ 262*7c478bd9Sstevel@tonic-gate dra : 1, /* Disable Read-Ahead */ 263*7c478bd9Sstevel@tonic-gate vu_124 : 1, /* Vendor Specific, byte 12 bit 4 */ 264*7c478bd9Sstevel@tonic-gate vu_123 : 1, /* Vendor Specific, byte 12 bit 3 */ 265*7c478bd9Sstevel@tonic-gate : 3; /* reserved */ 266*7c478bd9Sstevel@tonic-gate #else 267*7c478bd9Sstevel@tonic-gate #error One of _BIT_FIELDS_LTOH or _BIT_FIELDS_HTOL must be defined 268*7c478bd9Sstevel@tonic-gate #endif /* _BIT_FIELDS_LTOH */ 269*7c478bd9Sstevel@tonic-gate uchar_t num_cache_seg; /* Number of cache segments */ 270*7c478bd9Sstevel@tonic-gate ushort_t cache_seg_size; /* Cache segment size */ 271*7c478bd9Sstevel@tonic-gate uchar_t reserved; 272*7c478bd9Sstevel@tonic-gate uchar_t non_cache_seg_size_ub; /* Non cache segment size */ 273*7c478bd9Sstevel@tonic-gate uchar_t non_cache_seg_size_mb; 274*7c478bd9Sstevel@tonic-gate uchar_t non_cache_seg_size_lb; 275*7c478bd9Sstevel@tonic-gate }; 276*7c478bd9Sstevel@tonic-gate 277*7c478bd9Sstevel@tonic-gate #ifdef __cplusplus 278*7c478bd9Sstevel@tonic-gate } 279*7c478bd9Sstevel@tonic-gate #endif 280*7c478bd9Sstevel@tonic-gate 281*7c478bd9Sstevel@tonic-gate #endif /* _SYS_SCSI_GENERIC_DAD_MODE_H */ 282