/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* local SCSI definitions
*/
#ifndef _G_SCSI_H
#define _G_SCSI_H
/*
* Include any headers you depend on.
*/
/*
* I18N message number ranges
* This file: 18500 - 18999
* Shared common messages: 1 - 1999
*/
#ifdef __cplusplus
extern "C" {
#endif
/* NOTE: These command op codes are not defined in commands.h */
/*
*
*/
typedef struct mode_header_10_struct {
typedef struct mode_page_04_struct {
#if defined(_BIT_FIELDS_LTOH)
: 6;
#elif defined(_BIT_FIELDS_HTOL)
#else
#endif /* _BIT_FIELDS_LTOH */
} Mp_04;
typedef struct mode_page_01_struct {
#if defined(_BIT_FIELDS_LTOH)
#elif defined(_BIT_FIELDS_HTOL)
#else
#endif /* _BIT_FIELDS_LTOH */
} Mp_01;
/*
* I define here for backward compatability
* with 2.5.1
* For 2.6 & above you can use "mode_caching"
*/
struct my_mode_caching {
#if defined(_BIT_FIELDS_LTOH)
: 5; /* Reserved */
#elif defined(_BIT_FIELDS_HTOL)
#else
#endif /* _BIT_FIELDS_LTOH */
};
/*
* SCSI CDB structures
*/
typedef struct my_cdb_g0 {
unsigned char cmd;
unsigned char lba_msb;
unsigned char lba;
unsigned char lba_lsb;
unsigned char count;
unsigned char control;
typedef struct {
unsigned char cmd;
unsigned char byte1;
unsigned char byte2;
unsigned char byte3;
unsigned char byte4;
unsigned char byte5;
unsigned char byte6;
unsigned char byte7;
unsigned char byte8;
unsigned char byte9;
typedef struct l_inquiry80_struct {
/*
* byte 0
*
* Bits 7-5 are the Peripheral Device Qualifier
* Bits 4-0 are the Peripheral Device Type
*
*/
} L_inquiry80;
typedef struct l_inquiry00_struct {
} L_inquiry00;
#ifdef __cplusplus
}
#endif
#endif /* _G_SCSI_H */