mpapi_impl.h (1480:b4782d0a388e) | mpapi_impl.h (3410:fb9ffc9fee48) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 5 unchanged lines hidden (view full) --- 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 5 unchanged lines hidden (view full) --- 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* |
22 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. | 22 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. |
23 * Use is subject to license terms. 24 */ 25 26#ifndef _SYS_SCSI_ADAPTERS_MPAPI_IMPL_H 27#define _SYS_SCSI_ADAPTERS_MPAPI_IMPL_H 28 29#pragma ident "%Z%%M% %I% %E% SMI" 30 --- 241 unchanged lines hidden (view full) --- 272 * MP_ASSIGN_LU_TO_TPG subcmd. 273 */ 274 275typedef struct mp_lu_tpg_pair { 276 uint64_t luId; 277 uint64_t tpgId; 278} mp_lu_tpg_pair_t; 279 | 23 * Use is subject to license terms. 24 */ 25 26#ifndef _SYS_SCSI_ADAPTERS_MPAPI_IMPL_H 27#define _SYS_SCSI_ADAPTERS_MPAPI_IMPL_H 28 29#pragma ident "%Z%%M% %I% %E% SMI" 30 --- 241 unchanged lines hidden (view full) --- 272 * MP_ASSIGN_LU_TO_TPG subcmd. 273 */ 274 275typedef struct mp_lu_tpg_pair { 276 uint64_t luId; 277 uint64_t tpgId; 278} mp_lu_tpg_pair_t; 279 |
280/* used for uscsi commmands */ 281typedef struct mp_uscsi_cmd { 282 struct scsi_address *ap; /* address of the path */ 283 struct uscsi_cmd *uscmdp; /* uscsi command */ 284 struct buf *cmdbp; /* original buffer */ 285 struct buf *rqbp; /* auto-rqsense packet */ 286 mdi_pathinfo_t *pip; /* path information */ 287 int arq_enabled; /* auto-rqsense enable flag */ 288}mp_uscsi_cmd_t; |
|
280 281/* 282 * Structure used as input to 283 * MP_SET_TPG_ACCESS_STATE subcmd. 284 */ 285 286typedef struct mp_set_tpg_state_req { 287 struct mp_lu_tpg_pair luTpgPair; --- 105 unchanged lines hidden (view full) --- 393#define MP_SET_TPG_ACCESS_STATE (MP_SUB_CMD + 0x12) 394#define MP_ENABLE_AUTO_FAILBACK (MP_SUB_CMD + 0x13) 395#define MP_DISABLE_AUTO_FAILBACK (MP_SUB_CMD + 0x14) 396#define MP_ENABLE_PATH (MP_SUB_CMD + 0x15) 397#define MP_DISABLE_PATH (MP_SUB_CMD + 0x16) 398#define MP_GET_PROPRIETARY_LOADBALANCE_LIST (MP_SUB_CMD + 0x17) 399#define MP_GET_PROPRIETARY_LOADBALANCE_PROP (MP_SUB_CMD + 0x18) 400#define MP_ASSIGN_LU_TO_TPG (MP_SUB_CMD + 0x19) | 289 290/* 291 * Structure used as input to 292 * MP_SET_TPG_ACCESS_STATE subcmd. 293 */ 294 295typedef struct mp_set_tpg_state_req { 296 struct mp_lu_tpg_pair luTpgPair; --- 105 unchanged lines hidden (view full) --- 402#define MP_SET_TPG_ACCESS_STATE (MP_SUB_CMD + 0x12) 403#define MP_ENABLE_AUTO_FAILBACK (MP_SUB_CMD + 0x13) 404#define MP_DISABLE_AUTO_FAILBACK (MP_SUB_CMD + 0x14) 405#define MP_ENABLE_PATH (MP_SUB_CMD + 0x15) 406#define MP_DISABLE_PATH (MP_SUB_CMD + 0x16) 407#define MP_GET_PROPRIETARY_LOADBALANCE_LIST (MP_SUB_CMD + 0x17) 408#define MP_GET_PROPRIETARY_LOADBALANCE_PROP (MP_SUB_CMD + 0x18) 409#define MP_ASSIGN_LU_TO_TPG (MP_SUB_CMD + 0x19) |
401#define MP_API_SUBCMD_MAX (MP_ASSIGN_LU_TO_TPG) | 410#define MP_SEND_SCSI_CMD (MP_SUB_CMD + 0x1a) 411#define MP_API_SUBCMD_MAX (MP_SEND_SCSI_CMD) |
402 403 404/* 405 * Typical MP API ioctl interface specific Return Values 406 */ 407 408#define MP_IOCTL_ERROR_START 0x5533 409#define MP_MORE_DATA (MP_IOCTL_ERROR_START + 1) 410#define MP_DRVR_INVALID_ID (MP_IOCTL_ERROR_START + 2) 411#define MP_DRVR_ID_OBSOLETE (MP_IOCTL_ERROR_START + 3) 412#define MP_DRVR_ACCESS_SYMMETRIC (MP_IOCTL_ERROR_START + 4) 413#define MP_DRVR_PATH_UNAVAILABLE (MP_IOCTL_ERROR_START + 5) 414#define MP_DRVR_IDS_NOT_ASSOCIATED (MP_IOCTL_ERROR_START + 6) 415#define MP_DRVR_ILLEGAL_ACCESS_STATE_REQUEST (MP_IOCTL_ERROR_START + 7) | 412 413 414/* 415 * Typical MP API ioctl interface specific Return Values 416 */ 417 418#define MP_IOCTL_ERROR_START 0x5533 419#define MP_MORE_DATA (MP_IOCTL_ERROR_START + 1) 420#define MP_DRVR_INVALID_ID (MP_IOCTL_ERROR_START + 2) 421#define MP_DRVR_ID_OBSOLETE (MP_IOCTL_ERROR_START + 3) 422#define MP_DRVR_ACCESS_SYMMETRIC (MP_IOCTL_ERROR_START + 4) 423#define MP_DRVR_PATH_UNAVAILABLE (MP_IOCTL_ERROR_START + 5) 424#define MP_DRVR_IDS_NOT_ASSOCIATED (MP_IOCTL_ERROR_START + 6) 425#define MP_DRVR_ILLEGAL_ACCESS_STATE_REQUEST (MP_IOCTL_ERROR_START + 7) |
426#define MP_DRVR_IO_ERROR (MP_IOCTL_ERROR_START + 8) |
|
416 417/* 418 * Macros for OID operations 419 */ 420#define MP_ID_SHIFT4MAJOR 32 421#define MP_GET_MAJOR_FROM_ID(id) ((id) >> MP_ID_SHIFT4MAJOR) 422#define MP_GET_INST_FROM_ID(id) ((id) & 0x00000000ffffffff) 423#define MP_STORE_INST_TO_ID(inst, id) (((uint64_t)(inst)) | id) --- 33 unchanged lines hidden --- | 427 428/* 429 * Macros for OID operations 430 */ 431#define MP_ID_SHIFT4MAJOR 32 432#define MP_GET_MAJOR_FROM_ID(id) ((id) >> MP_ID_SHIFT4MAJOR) 433#define MP_GET_INST_FROM_ID(id) ((id) & 0x00000000ffffffff) 434#define MP_STORE_INST_TO_ID(inst, id) (((uint64_t)(inst)) | id) --- 33 unchanged lines hidden --- |