stmf_defines.h revision 8fe960854f0d52e2e8a80ba68e8621a5ac6a866d
843e19887f64dde75055cf8842fc4db2171eff45johnlev * CDDL HEADER START
843e19887f64dde75055cf8842fc4db2171eff45johnlev * The contents of this file are subject to the terms of the
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Common Development and Distribution License (the "License").
843e19887f64dde75055cf8842fc4db2171eff45johnlev * You may not use this file except in compliance with the License.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
843e19887f64dde75055cf8842fc4db2171eff45johnlev * See the License for the specific language governing permissions
843e19887f64dde75055cf8842fc4db2171eff45johnlev * and limitations under the License.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * When distributing Covered Code, include this CDDL HEADER in each
843e19887f64dde75055cf8842fc4db2171eff45johnlev * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * If applicable, add the following below this CDDL HEADER, with the
843e19887f64dde75055cf8842fc4db2171eff45johnlev * fields enclosed by brackets "[]" replaced with your own identifying
843e19887f64dde75055cf8842fc4db2171eff45johnlev * information: Portions Copyright [yyyy] [name of copyright owner]
843e19887f64dde75055cf8842fc4db2171eff45johnlev * CDDL HEADER END
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
7f0b8309074a5d8e9f9d8ffe7aad7bb0b1ee6b1fEdward Pilatowicz * Use is subject to license terms.
843e19887f64dde75055cf8842fc4db2171eff45johnlevextern "C" {
843e19887f64dde75055cf8842fc4db2171eff45johnlev * stmf status definitions
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_TARGET_FAILURE ((uint64_t)0x2000000000000000)
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_LU_FAILURE ((uint64_t)0x3000000000000000)
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_GET_FSC(x) ((((uint64_t)(x)) >> 32) & 0xFFFFFF)
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_RETRY_BIT ((uint64_t)0x0080000000000000)
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_BUSY (STMF_FAILURE | STMF_RETRY_BIT | STMF_FSC(0))
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_INVALID_ARG (STMF_FAILURE | STMF_FSC(2))
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_ABORT_SUCCESS (STMF_FAILURE | STMF_FSC(6))
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_ALLOC_FAILURE (STMF_FAILURE | STMF_FSC(7))
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_NOT_SUPPORTED (STMF_FAILURE | STMF_FSC(10))
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define GET_BYTE_OFFSET(ptr, off) (((uint8_t *)(ptr)) + (off))
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define GET_STRUCT_SIZE(s) ((sizeof (s) + 7) & 0xfffffff8)
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define READ_SCSI16(addr, type) ((((type)(((uint8_t *)(addr))[0])) \
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define READ_SCSI21(addr, type) ((((type)(((uint8_t *)(addr))[0] & \
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define READ_SCSI32(addr, type) (((READ_SCSI16(addr, type)) << 16) |\
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define READ_SCSI64(addr, type) (((READ_SCSI32(addr, type)) << 32) |\
843e19887f64dde75055cf8842fc4db2171eff45johnlev * CDB definitions that don't exist in commands.h
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Common key, asc, ascq for stmf_scsilib_send_status
65908c77dfc02644236ba18bffe67b5ed6f23135yu, larry liu - Sun Microsystems - Beijing China#define STMF_SAA_INVALID_OPCODE 0x052000
65908c77dfc02644236ba18bffe67b5ed6f23135yu, larry liu - Sun Microsystems - Beijing China#define STMF_SAA_INVALID_LU 0x052009
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_SAA_INVALID_FIELD_IN_PARAM_LIST 0x052600
843e19887f64dde75055cf8842fc4db2171eff45johnlev#define STMF_SAA_REPORT_LUN_DATA_HAS_CHANGED 0x063F0E
843e19887f64dde75055cf8842fc4db2171eff45johnlev#endif /* _STMF_DEFINES_H */