1139749Simp/*- 2139749Simp **************************************************************** 365312Smsmith * Copyright (c) 1996-2000 Distributed Processing Technology Corporation 465312Smsmith * Copyright (c) 2000 Adaptec Corporation. 565312Smsmith * All rights reserved. 696554Sobrien * 796554Sobrien * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved. 865312Smsmith * All rights reserved 996554Sobrien * 1065312Smsmith * TERMS AND CONDITIONS OF USE 1196554Sobrien * 1265312Smsmith * Redistribution and use in source form, with or without modification, are 1365312Smsmith * permitted provided that redistributions of source code must retain the 1465312Smsmith * above copyright notice, this list of conditions and the following disclaimer. 1596554Sobrien * 1665312Smsmith * This software is provided `as is' by Distributed Processing Technology and 1765312Smsmith * any express or implied warranties, including, but not limited to, the 1865312Smsmith * implied warranties of merchantability and fitness for a particular purpose, 1965312Smsmith * are disclaimed. In no event shall Distributed Processing Technology be 2065312Smsmith * liable for any direct, indirect, incidental, special, exemplary or 2165312Smsmith * consequential damages (including, but not limited to, procurement of 2265312Smsmith * substitute goods or services; loss of use, data, or profits; or business 2365312Smsmith * interruptions) however caused and on any theory of liability, whether in 2465312Smsmith * contract, strict liability, or tort (including negligence or otherwise) 2565312Smsmith * arising in any way out of the use of this driver software, even if advised 2665312Smsmith * of the possibility of such damage. 2796554Sobrien * 2865312Smsmith * This header file, and any modifications of this header file, are provided 2965312Smsmith * contingent upon your agreement and adherence to the here-listed terms and 3096554Sobrien * conditions. By accepting and/or using this header file, you agree to abide 3165312Smsmith * by these terms and conditions and that these terms and conditions will be 3265312Smsmith * construed and governed in accordance with the laws of the State of California, 3365312Smsmith * without reference to conflict-of-law provisions. If you do not agree 3465312Smsmith * to these terms and conditions, please delete this file, and any copies, 3565312Smsmith * permanently, without making any use thereof. 3696554Sobrien * 3765312Smsmith * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT 3865312Smsmith * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 3965312Smsmith * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 4065312Smsmith * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE 4165312Smsmith * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR 4265312Smsmith * ERROR-FREE. 4396554Sobrien * 4465312Smsmith * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF 4565312Smsmith * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O 4665312Smsmith * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH 4765312Smsmith * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS. 4896554Sobrien * 4965312Smsmith * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY 5065312Smsmith * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA 5165312Smsmith * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM. 5296554Sobrien * 5365312Smsmith * I2O SIG grants the user of this header file a license to copy, distribute, 5465312Smsmith * and modify it, for any purpose, under the following terms. Any copying, 5565312Smsmith * distribution, or modification of this header file must not delete or alter 5665312Smsmith * the copyright notice of I2O SIG or any of these Terms and Conditions. 5796554Sobrien * 5865312Smsmith * Any distribution of this header file must not include a charge for the 5965312Smsmith * header file (unless such charges are strictly for the physical acts of 6065312Smsmith * copying or transferring copies). However, distribution of a product in 6165312Smsmith * which this header file is embedded may include a charge so long as any 6265312Smsmith * such charge does not include any charge for the header file itself. 6396554Sobrien * 6465312Smsmith * Any modification of this header file constitutes a derivative work based 6596554Sobrien * on this header file. Any distribution of such derivative work: (1) must 6665312Smsmith * include prominent notices that the header file has been changed from the 6796554Sobrien * original, together with the dates of any changes; (2) automatically includes 6865312Smsmith * this same license to the original header file from I2O SIG, without any 6965312Smsmith * restriction thereon from the distributing user; and (3) must include a 7065312Smsmith * grant of license of the modified file under the same terms and conditions 7165312Smsmith * as these Terms and Conditions. 7296554Sobrien * 7365312Smsmith * The I2O SIG Web site can be found at: http://www.i2osig.org 7496554Sobrien * 7565312Smsmith * The I2O SIG encourages you to deposit derivative works based on this 7696554Sobrien * header file at the I2O SIG Web site. Furthermore, to become a Registered 7765312Smsmith * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352 7865312Smsmith * (United States). 7987826Sobrien * 8087826Sobrien * $FreeBSD: releng/10.3/sys/dev/asr/i2outil.h 139749 2005-01-06 01:43:34Z imp $ 8187826Sobrien * 8265312Smsmith ****************************************************************/ 8365312Smsmith 8465312Smsmith/********************************************************************* 8565312Smsmith * I2OUtil.h -- I2O Utility Class Message defintion file 8665312Smsmith * 8765312Smsmith * This file contains information presented in Chapter 6 of the I2O 8865312Smsmith * Specification. 8965312Smsmith **********************************************************************/ 9065312Smsmith 9165312Smsmith#if !defined(I2O_UTILITY_HDR) 9296615Sobrien#define I2O_UTILITY_HDR 9365312Smsmith 9496615Sobrien#define I2OUTIL_REV 1_5_4 /* I2OUtil header file revision string */ 9565312Smsmith 9665312Smsmith#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) 9765312Smsmith# if (KERN_VERSION < 3) 9865312Smsmith# include "i386/pci/i2omsg.h" /* Include the Base Message file */ 9965312Smsmith# else 10065312Smsmith# include "dev/asr/i2omsg.h" 10165312Smsmith# endif 10265312Smsmith#else 10396554Sobrien# include "i2omsg.h" /* Include the Base Message file */ 10465312Smsmith#endif 10565312Smsmith 10665312Smsmith 10765312Smsmith/* 10865312SmsmithNOTES: 10965312Smsmith 11065312Smsmith Gets, reads, receives, etc. are all even numbered functions. 11165312Smsmith Sets, writes, sends, etc. are all odd numbered functions. 11265312Smsmith Functions that both send and receive data can be either but an attempt is made 11365312Smsmith to use the function number that indicates the greater transfer amount. 11465312Smsmith Functions that do not send or receive data use odd function numbers. 11565312Smsmith 11665312Smsmith Some functions are synonyms like read, receive and send, write. 11765312Smsmith 11865312Smsmith All common functions will have a code of less than 0x80. 11965312Smsmith Unique functions to a class will start at 0x80. 12065312Smsmith Executive Functions start at 0xA0. 12165312Smsmith 12265312Smsmith Utility Message function codes range from 0 - 0x1f 12365312Smsmith Base Message function codes range from 0x20 - 0xfe 12465312Smsmith Private Message function code is 0xff. 12565312Smsmith*/ 12665312Smsmith 12765312SmsmithPRAGMA_ALIGN_PUSH 12865312Smsmith 12965312SmsmithPRAGMA_PACK_PUSH 13065312Smsmith 13165312Smsmith/* Utility Message class functions. */ 13265312Smsmith 13396554Sobrien#define I2O_UTIL_NOP 0x00 13496554Sobrien#define I2O_UTIL_ABORT 0x01 13596554Sobrien#define I2O_UTIL_CLAIM 0x09 13696554Sobrien#define I2O_UTIL_CLAIM_RELEASE 0x0B 13796554Sobrien#define I2O_UTIL_CONFIG_DIALOG 0x10 13896554Sobrien#define I2O_UTIL_DEVICE_RESERVE 0x0D 13996554Sobrien#define I2O_UTIL_DEVICE_RELEASE 0x0F 14096554Sobrien#define I2O_UTIL_EVENT_ACKNOWLEDGE 0x14 14196554Sobrien#define I2O_UTIL_EVENT_REGISTER 0x13 14296554Sobrien#define I2O_UTIL_LOCK 0x17 14396554Sobrien#define I2O_UTIL_LOCK_RELEASE 0x19 14496554Sobrien#define I2O_UTIL_PARAMS_GET 0x06 14596554Sobrien#define I2O_UTIL_PARAMS_SET 0x05 14696554Sobrien#define I2O_UTIL_REPLY_FAULT_NOTIFY 0x15 14765312Smsmith 14865312Smsmith/****************************************************************************/ 14965312Smsmith 15065312Smsmith/* ABORT Abort type defines. */ 15165312Smsmith 15296554Sobrien#define I2O_ABORT_TYPE_EXACT_ABORT 0x00 15396554Sobrien#define I2O_ABORT_TYPE_FUNCTION_ABORT 0x01 15496554Sobrien#define I2O_ABORT_TYPE_TRANSACTION_ABORT 0x02 15596554Sobrien#define I2O_ABORT_TYPE_WILD_ABORT 0x03 15696554Sobrien#define I2O_ABORT_TYPE_CLEAN_EXACT_ABORT 0x04 15796554Sobrien#define I2O_ABORT_TYPE_CLEAN_FUNCTION_ABORT 0x05 15896551Sobrien#define I2O_ABORT_TYPE_CLEAN_TRANSACTION_ABORT 0x06 15996554Sobrien#define I2O_ABORT_TYPE_CLEAN_WILD_ABORT 0x07 16065312Smsmith 16165312Smsmith/* UtilAbort Function Message Frame structure. */ 16265312Smsmith 16365312Smsmithtypedef struct _I2O_UTIL_ABORT_MESSAGE { 16496554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 16565312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 16665312Smsmith# if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) 16796554Sobrien U32 reserved; 16865312Smsmith# else 16996554Sobrien U16 reserved; 17096554Sobrien U8 AbortType; 17196554Sobrien U8 FunctionToAbort; 17265312Smsmith# endif 17365312Smsmith I2O_TRANSACTION_CONTEXT TransactionContextToAbort; 17465312Smsmith} I2O_UTIL_ABORT_MESSAGE, *PI2O_UTIL_ABORT_MESSAGE; 17565312Smsmith 17665312Smsmith 17765312Smsmithtypedef struct _I2O_UTIL_ABORT_REPLY { 17896554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 17965312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 18096554Sobrien U32 CountOfAbortedMessages; 18165312Smsmith} I2O_UTIL_ABORT_REPLY, *PI2O_UTIL_ABORT_REPLY; 18265312Smsmith 18365312Smsmith 18465312Smsmith/****************************************************************************/ 18565312Smsmith 18665312Smsmith/* Claim Flag defines */ 18765312Smsmith 18896554Sobrien#define I2O_CLAIM_FLAGS_EXCLUSIVE 0x0001 /* Reserved */ 18996554Sobrien#define I2O_CLAIM_FLAGS_RESET_SENSITIVE 0x0002 19096554Sobrien#define I2O_CLAIM_FLAGS_STATE_SENSITIVE 0x0004 19196554Sobrien#define I2O_CLAIM_FLAGS_CAPACITY_SENSITIVE 0x0008 19296551Sobrien#define I2O_CLAIM_FLAGS_PEER_SERVICE_DISABLED 0x0010 19396551Sobrien#define I2O_CLAIM_FLAGS_MGMT_SERVICE_DISABLED 0x0020 19465312Smsmith 19565312Smsmith/* Claim Type defines */ 19665312Smsmith 19796554Sobrien#define I2O_CLAIM_TYPE_PRIMARY_USER 0x01 19896554Sobrien#define I2O_CLAIM_TYPE_AUTHORIZED_USER 0x02 19996554Sobrien#define I2O_CLAIM_TYPE_SECONDARY_USER 0x03 20096554Sobrien#define I2O_CLAIM_TYPE_MANAGEMENT_USER 0x04 20165312Smsmith 20265312Smsmith/* UtilClaim Function Message Frame structure. */ 20365312Smsmith 20465312Smsmithtypedef struct _I2O_UTIL_CLAIM_MESSAGE { 20596554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 20665312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 20796554Sobrien U16 ClaimFlags; 20896554Sobrien U8 reserved; 20996554Sobrien U8 ClaimType; 21065312Smsmith} I2O_UTIL_CLAIM_MESSAGE, *PI2O_UTIL_CLAIM_MESSAGE; 21165312Smsmith 21265312Smsmith 21365312Smsmith/****************************************************************************/ 21465312Smsmith 21565312Smsmith/* Claim Release Flag defines */ 21665312Smsmith 21796554Sobrien#define I2O_RELEASE_FLAGS_CONDITIONAL 0x0001 21865312Smsmith 21965312Smsmith/* UtilClaimRelease Function Message Frame structure. */ 22065312Smsmith 22165312Smsmithtypedef struct _I2O_UTIL_CLAIM_RELEASE_MESSAGE { 22296554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 22365312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 22496554Sobrien U16 ReleaseFlags; 22596554Sobrien U8 reserved; 22696554Sobrien U8 ClaimType; 22765312Smsmith} I2O_UTIL_CLAIM_RELEASE_MESSAGE, *PI2O_UTIL_CLAIM_RELEASE_MESSAGE; 22865312Smsmith 22965312Smsmith 23065312Smsmith/****************************************************************************/ 23165312Smsmith 23265312Smsmith/* UtilConfigDialog Function Message Frame structure */ 23365312Smsmith 23465312Smsmithtypedef struct _I2O_UTIL_CONFIG_DIALOG_MESSAGE { 23596554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 23665312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 23796554Sobrien U32 PageNumber; 23896554Sobrien I2O_SG_ELEMENT SGL; 23965312Smsmith} I2O_UTIL_CONFIG_DIALOG_MESSAGE, *PI2O_UTIL_CONFIG_DIALOG_MESSAGE; 24065312Smsmith 24165312Smsmith 24265312Smsmith/****************************************************************************/ 24365312Smsmith 24465312Smsmith/* Event Acknowledge Function Message Frame structure */ 24565312Smsmith 24665312Smsmithtypedef struct _I2O_UTIL_EVENT_ACK_MESSAGE { 24796554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 24865312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 24996554Sobrien U32 EventIndicator; 25096554Sobrien U32 EventData[1]; 25165312Smsmith} I2O_UTIL_EVENT_ACK_MESSAGE, *PI2O_UTIL_EVENT_ACK_MESSAGE; 25265312Smsmith 25365312Smsmith/* Event Ack Reply structure */ 25465312Smsmith 25565312Smsmithtypedef struct _I2O_UTIL_EVENT_ACK_REPLY { 25696554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 25765312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 25896554Sobrien U32 EventIndicator; 25996554Sobrien U32 EventData[1]; 26065312Smsmith} I2O_UTIL_EVENT_ACK_REPLY, *PI2O_UTIL_EVENT_ACK_REPLY; 26165312Smsmith 26265312Smsmith 26365312Smsmith/****************************************************************************/ 26465312Smsmith 26565312Smsmith/* Event Indicator Mask Flags */ 26665312Smsmith 26796554Sobrien#define I2O_EVENT_IND_STATE_CHANGE 0x80000000 26896554Sobrien#define I2O_EVENT_IND_GENERAL_WARNING 0x40000000 26996554Sobrien#define I2O_EVENT_IND_CONFIGURATION_FLAG 0x20000000 27096554Sobrien/* #define I2O_EVENT_IND_RESERVE_RELEASE 0x10000000 */ 27196554Sobrien#define I2O_EVENT_IND_LOCK_RELEASE 0x10000000 27296554Sobrien#define I2O_EVENT_IND_CAPABILITY_CHANGE 0x08000000 27396554Sobrien#define I2O_EVENT_IND_DEVICE_RESET 0x04000000 27496554Sobrien#define I2O_EVENT_IND_EVENT_MASK_MODIFIED 0x02000000 27596554Sobrien#define I2O_EVENT_IND_FIELD_MODIFIED 0x01000000 27696554Sobrien#define I2O_EVENT_IND_VENDOR_EVENT 0x00800000 27796554Sobrien#define I2O_EVENT_IND_DEVICE_STATE 0x00400000 27865312Smsmith 27965312Smsmith/* Event Data for generic Events */ 28065312Smsmith 28196554Sobrien#define I2O_EVENT_STATE_CHANGE_NORMAL 0x00 28296554Sobrien#define I2O_EVENT_STATE_CHANGE_SUSPENDED 0x01 28396554Sobrien#define I2O_EVENT_STATE_CHANGE_RESTART 0x02 28496554Sobrien#define I2O_EVENT_STATE_CHANGE_NA_RECOVER 0x03 28596554Sobrien#define I2O_EVENT_STATE_CHANGE_NA_NO_RECOVER 0x04 28696551Sobrien#define I2O_EVENT_STATE_CHANGE_QUIESCE_REQUEST 0x05 28796554Sobrien#define I2O_EVENT_STATE_CHANGE_FAILED 0x10 28896554Sobrien#define I2O_EVENT_STATE_CHANGE_FAULTED 0x11 28965312Smsmith 29096554Sobrien#define I2O_EVENT_GEN_WARNING_NORMAL 0x00 29196551Sobrien#define I2O_EVENT_GEN_WARNING_ERROR_THRESHOLD 0x01 29296554Sobrien#define I2O_EVENT_GEN_WARNING_MEDIA_FAULT 0x02 29365312Smsmith 29496554Sobrien#define I2O_EVENT_CAPABILITY_OTHER 0x01 29596554Sobrien#define I2O_EVENT_CAPABILITY_CHANGED 0x02 29665312Smsmith 29796554Sobrien#define I2O_EVENT_SENSOR_STATE_CHANGED 0x01 29865312Smsmith 29965312Smsmith 30065312Smsmith/* UtilEventRegister Function Message Frame structure */ 30165312Smsmith 30265312Smsmithtypedef struct _I2O_UTIL_EVENT_REGISTER_MESSAGE { 30396554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 30465312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 30596554Sobrien U32 EventMask; 30665312Smsmith} I2O_UTIL_EVENT_REGISTER_MESSAGE, *PI2O_UTIL_EVENT_REGISTER_MESSAGE; 30765312Smsmith 30865312Smsmith/* UtilEventRegister Reply structure */ 30965312Smsmith 31065312Smsmithtypedef struct _I2O_UTIL_EVENT_REGISTER_REPLY { 31196554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 31265312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 31396554Sobrien U32 EventIndicator; 31496554Sobrien U32 EventData[1]; 31565312Smsmith} I2O_UTIL_EVENT_REGISTER_REPLY, *PI2O_UTIL_EVENT_REGISTER_REPLY; 31665312Smsmith 31765312Smsmith 31865312Smsmith/****************************************************************************/ 31965312Smsmith 32065312Smsmith/* UtilLock Function Message Frame structure. */ 32165312Smsmith 32265312Smsmithtypedef struct _I2O_UTIL_LOCK_MESSAGE { 32396554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 32465312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 32565312Smsmith} I2O_UTIL_LOCK_MESSAGE, *PI2O_UTIL_LOCK_MESSAGE; 32665312Smsmith 32765312Smsmith/****************************************************************************/ 32865312Smsmith 32965312Smsmith/* UtilLockRelease Function Message Frame structure. */ 33065312Smsmith 33165312Smsmithtypedef struct _I2O_UTIL_LOCK_RELEASE_MESSAGE { 33296554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 33365312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 33465312Smsmith} I2O_UTIL_LOCK_RELEASE_MESSAGE, *PI2O_UTIL_LOCK_RELEASE_MESSAGE; 33565312Smsmith 33665312Smsmith 33765312Smsmith/****************************************************************************/ 33865312Smsmith 33965312Smsmith/* UtilNOP Function Message Frame structure. */ 34065312Smsmith 34165312Smsmithtypedef struct _I2O_UTIL_NOP_MESSAGE { 34296554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 34365312Smsmith} I2O_UTIL_NOP_MESSAGE, *PI2O_UTIL_NOP_MESSAGE; 34465312Smsmith 34565312Smsmith 34665312Smsmith/****************************************************************************/ 34765312Smsmith 34865312Smsmith/* UtilParamsGet Message Frame structure. */ 34965312Smsmith 35065312Smsmithtypedef struct _I2O_UTIL_PARAMS_GET_MESSAGE { 35196554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 35265312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 35396554Sobrien U32 OperationFlags; 35496554Sobrien I2O_SG_ELEMENT SGL; 35565312Smsmith} I2O_UTIL_PARAMS_GET_MESSAGE, *PI2O_UTIL_PARAMS_GET_MESSAGE; 35665312Smsmith 35765312Smsmith 35865312Smsmith/****************************************************************************/ 35965312Smsmith 36065312Smsmith/* UtilParamsSet Message Frame structure. */ 36165312Smsmith 36265312Smsmithtypedef struct _I2O_UTIL_PARAMS_SET_MESSAGE { 36396554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 36465312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 36596554Sobrien U32 OperationFlags; 36696554Sobrien I2O_SG_ELEMENT SGL; 36765312Smsmith} I2O_UTIL_PARAMS_SET_MESSAGE, *PI2O_UTIL_PARAMS_SET_MESSAGE; 36865312Smsmith 36965312Smsmith 37065312Smsmith/****************************************************************************/ 37165312Smsmith 37265312Smsmith/* UtilReplyFaultNotify Message for Message Failure. */ 37365312Smsmith 37465312Smsmithtypedef struct _I2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE { 37596554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 37665312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 37796554Sobrien U8 LowestVersion; 37896554Sobrien U8 HighestVersion; 37996554Sobrien BF Severity:I2O_FAILCODE_SEVERITY_SZ; 38096554Sobrien BF FailureCode:I2O_FAILCODE_CODE_SZ; 38196554Sobrien BF FailingIOP_ID:I2O_IOP_ID_SZ; 38296554Sobrien BF reserved:I2O_RESERVED_4BITS; 38396554Sobrien BF FailingHostUnitID:I2O_UNIT_ID_SZ; 38496554Sobrien U32 AgeLimit; 38565312Smsmith#if I2O_64BIT_CONTEXT 38696554Sobrien PI2O_MESSAGE_FRAME OriginalMFA; 38765312Smsmith#else 38896554Sobrien PI2O_MESSAGE_FRAME OriginalMFALowPart; 38996554Sobrien U32 OriginalMFAHighPart; /* Always 0000 */ 39065312Smsmith#endif 39165312Smsmith} I2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE, *PI2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE; 39265312Smsmith 39365312Smsmith 39465312Smsmith/****************************************************************************/ 39565312Smsmith 39665312Smsmith/* Device Reserve Function Message Frame structure. */ 39765312Smsmith/* NOTE: This was previously called the Reserve Message */ 39865312Smsmith 39965312Smsmithtypedef struct _I2O_UTIL_DEVICE_RESERVE_MESSAGE { 40096554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 40165312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 40265312Smsmith} I2O_UTIL_DEVICE_RESERVE_MESSAGE, *PI2O_UTIL_DEVICE_RESERVE_MESSAGE; 40365312Smsmith 40465312Smsmith 40565312Smsmith/****************************************************************************/ 40665312Smsmith 40765312Smsmith/* Device Release Function Message Frame structure. */ 40865312Smsmith/* NOTE: This was previously called the ReserveRelease Message */ 40965312Smsmith 41065312Smsmithtypedef struct _I2O_UTIL_DEVICE_RELEASE_MESSAGE { 41196554Sobrien I2O_MESSAGE_FRAME StdMessageFrame; 41265312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 41365312Smsmith} I2O_UTIL_DEVICE_RELEASE_MESSAGE, *PI2O_UTIL_DEVICE_RELEASE_MESSAGE; 41465312Smsmith 41565312Smsmith 41665312Smsmith/****************************************************************************/ 41765312Smsmith 41865312SmsmithPRAGMA_PACK_POP 41965312SmsmithPRAGMA_ALIGN_POP 42065312Smsmith 42196554Sobrien#endif /* I2O_UTILITY_HDR */ 422