i2outil.h revision 87826
165312Smsmith/**************************************************************** 265312Smsmith * Copyright (c) 1996-2000 Distributed Processing Technology Corporation 365312Smsmith * Copyright (c) 2000 Adaptec Corporation. 465312Smsmith * All rights reserved. 565312Smsmith * 665312Smsmith * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved. 765312Smsmith * All rights reserved 865312Smsmith * 965312Smsmith * TERMS AND CONDITIONS OF USE 1065312Smsmith * 1165312Smsmith * Redistribution and use in source form, with or without modification, are 1265312Smsmith * permitted provided that redistributions of source code must retain the 1365312Smsmith * above copyright notice, this list of conditions and the following disclaimer. 1465312Smsmith * 1565312Smsmith * This software is provided `as is' by Distributed Processing Technology and 1665312Smsmith * any express or implied warranties, including, but not limited to, the 1765312Smsmith * implied warranties of merchantability and fitness for a particular purpose, 1865312Smsmith * are disclaimed. In no event shall Distributed Processing Technology be 1965312Smsmith * liable for any direct, indirect, incidental, special, exemplary or 2065312Smsmith * consequential damages (including, but not limited to, procurement of 2165312Smsmith * substitute goods or services; loss of use, data, or profits; or business 2265312Smsmith * interruptions) however caused and on any theory of liability, whether in 2365312Smsmith * contract, strict liability, or tort (including negligence or otherwise) 2465312Smsmith * arising in any way out of the use of this driver software, even if advised 2565312Smsmith * of the possibility of such damage. 2665312Smsmith * 2765312Smsmith * This header file, and any modifications of this header file, are provided 2865312Smsmith * contingent upon your agreement and adherence to the here-listed terms and 2965312Smsmith * conditions. By accepting and/or using this header file, you agree to abide 3065312Smsmith * by these terms and conditions and that these terms and conditions will be 3165312Smsmith * construed and governed in accordance with the laws of the State of California, 3265312Smsmith * without reference to conflict-of-law provisions. If you do not agree 3365312Smsmith * to these terms and conditions, please delete this file, and any copies, 3465312Smsmith * permanently, without making any use thereof. 3565312Smsmith * 3665312Smsmith * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT 3765312Smsmith * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 3865312Smsmith * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 3965312Smsmith * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE 4065312Smsmith * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR 4165312Smsmith * ERROR-FREE. 4265312Smsmith * 4365312Smsmith * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF 4465312Smsmith * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O 4565312Smsmith * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH 4665312Smsmith * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS. 4765312Smsmith * 4865312Smsmith * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY 4965312Smsmith * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA 5065312Smsmith * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM. 5165312Smsmith * 5265312Smsmith * I2O SIG grants the user of this header file a license to copy, distribute, 5365312Smsmith * and modify it, for any purpose, under the following terms. Any copying, 5465312Smsmith * distribution, or modification of this header file must not delete or alter 5565312Smsmith * the copyright notice of I2O SIG or any of these Terms and Conditions. 5665312Smsmith * 5765312Smsmith * Any distribution of this header file must not include a charge for the 5865312Smsmith * header file (unless such charges are strictly for the physical acts of 5965312Smsmith * copying or transferring copies). However, distribution of a product in 6065312Smsmith * which this header file is embedded may include a charge so long as any 6165312Smsmith * such charge does not include any charge for the header file itself. 6265312Smsmith * 6365312Smsmith * Any modification of this header file constitutes a derivative work based 6465312Smsmith * on this header file. Any distribution of such derivative work: (1) must 6565312Smsmith * include prominent notices that the header file has been changed from the 6665312Smsmith * original, together with the dates of any changes; (2) automatically includes 6765312Smsmith * this same license to the original header file from I2O SIG, without any 6865312Smsmith * restriction thereon from the distributing user; and (3) must include a 6965312Smsmith * grant of license of the modified file under the same terms and conditions 7065312Smsmith * as these Terms and Conditions. 7165312Smsmith * 7265312Smsmith * The I2O SIG Web site can be found at: http://www.i2osig.org 7365312Smsmith * 7465312Smsmith * The I2O SIG encourages you to deposit derivative works based on this 7565312Smsmith * header file at the I2O SIG Web site. Furthermore, to become a Registered 7665312Smsmith * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352 7765312Smsmith * (United States). 7887826Sobrien * 7987826Sobrien * $FreeBSD: head/sys/dev/asr/i2outil.h 87826 2001-12-13 23:48:34Z obrien $ 8087826Sobrien * 8165312Smsmith ****************************************************************/ 8265312Smsmith 8365312Smsmith/********************************************************************* 8465312Smsmith * I2OUtil.h -- I2O Utility Class Message defintion file 8565312Smsmith * 8665312Smsmith * This file contains information presented in Chapter 6 of the I2O 8765312Smsmith * Specification. 8865312Smsmith **********************************************************************/ 8965312Smsmith 9065312Smsmith#if !defined(I2O_UTILITY_HDR) 9165312Smsmith#define I2O_UTILITY_HDR 9265312Smsmith 9365312Smsmith#define I2OUTIL_REV 1_5_4 /* I2OUtil header file revision string */ 9465312Smsmith 9565312Smsmith#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) 9665312Smsmith# if (KERN_VERSION < 3) 9765312Smsmith# include "i386/pci/i2omsg.h" /* Include the Base Message file */ 9865312Smsmith# else 9965312Smsmith# include "dev/asr/i2omsg.h" 10065312Smsmith# endif 10165312Smsmith#else 10265312Smsmith# include "i2omsg.h" /* Include the Base Message file */ 10365312Smsmith#endif 10465312Smsmith 10565312Smsmith 10665312Smsmith/* 10765312SmsmithNOTES: 10865312Smsmith 10965312Smsmith Gets, reads, receives, etc. are all even numbered functions. 11065312Smsmith Sets, writes, sends, etc. are all odd numbered functions. 11165312Smsmith Functions that both send and receive data can be either but an attempt is made 11265312Smsmith to use the function number that indicates the greater transfer amount. 11365312Smsmith Functions that do not send or receive data use odd function numbers. 11465312Smsmith 11565312Smsmith Some functions are synonyms like read, receive and send, write. 11665312Smsmith 11765312Smsmith All common functions will have a code of less than 0x80. 11865312Smsmith Unique functions to a class will start at 0x80. 11965312Smsmith Executive Functions start at 0xA0. 12065312Smsmith 12165312Smsmith Utility Message function codes range from 0 - 0x1f 12265312Smsmith Base Message function codes range from 0x20 - 0xfe 12365312Smsmith Private Message function code is 0xff. 12465312Smsmith*/ 12565312Smsmith 12665312SmsmithPRAGMA_ALIGN_PUSH 12765312Smsmith 12865312SmsmithPRAGMA_PACK_PUSH 12965312Smsmith 13065312Smsmith/* Utility Message class functions. */ 13165312Smsmith 13265312Smsmith#define I2O_UTIL_NOP 0x00 13365312Smsmith#define I2O_UTIL_ABORT 0x01 13465312Smsmith#define I2O_UTIL_CLAIM 0x09 13565312Smsmith#define I2O_UTIL_CLAIM_RELEASE 0x0B 13665312Smsmith#define I2O_UTIL_CONFIG_DIALOG 0x10 13765312Smsmith#define I2O_UTIL_DEVICE_RESERVE 0x0D 13865312Smsmith#define I2O_UTIL_DEVICE_RELEASE 0x0F 13965312Smsmith#define I2O_UTIL_EVENT_ACKNOWLEDGE 0x14 14065312Smsmith#define I2O_UTIL_EVENT_REGISTER 0x13 14165312Smsmith#define I2O_UTIL_LOCK 0x17 14265312Smsmith#define I2O_UTIL_LOCK_RELEASE 0x19 14365312Smsmith#define I2O_UTIL_PARAMS_GET 0x06 14465312Smsmith#define I2O_UTIL_PARAMS_SET 0x05 14565312Smsmith#define I2O_UTIL_REPLY_FAULT_NOTIFY 0x15 14665312Smsmith 14765312Smsmith/****************************************************************************/ 14865312Smsmith 14965312Smsmith/* ABORT Abort type defines. */ 15065312Smsmith 15165312Smsmith#define I2O_ABORT_TYPE_EXACT_ABORT 0x00 15265312Smsmith#define I2O_ABORT_TYPE_FUNCTION_ABORT 0x01 15365312Smsmith#define I2O_ABORT_TYPE_TRANSACTION_ABORT 0x02 15465312Smsmith#define I2O_ABORT_TYPE_WILD_ABORT 0x03 15565312Smsmith#define I2O_ABORT_TYPE_CLEAN_EXACT_ABORT 0x04 15665312Smsmith#define I2O_ABORT_TYPE_CLEAN_FUNCTION_ABORT 0x05 15765312Smsmith#define I2O_ABORT_TYPE_CLEAN_TRANSACTION_ABORT 0x06 15865312Smsmith#define I2O_ABORT_TYPE_CLEAN_WILD_ABORT 0x07 15965312Smsmith 16065312Smsmith/* UtilAbort Function Message Frame structure. */ 16165312Smsmith 16265312Smsmithtypedef struct _I2O_UTIL_ABORT_MESSAGE { 16365312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 16465312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 16565312Smsmith# if (defined(_DPT_BIG_ENDIAN) || defined(sparc)) 16665312Smsmith U32 reserved; 16765312Smsmith# else 16865312Smsmith U16 reserved; 16965312Smsmith U8 AbortType; 17065312Smsmith U8 FunctionToAbort; 17165312Smsmith# endif 17265312Smsmith I2O_TRANSACTION_CONTEXT TransactionContextToAbort; 17365312Smsmith} I2O_UTIL_ABORT_MESSAGE, *PI2O_UTIL_ABORT_MESSAGE; 17465312Smsmith 17565312Smsmith 17665312Smsmithtypedef struct _I2O_UTIL_ABORT_REPLY { 17765312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 17865312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 17965312Smsmith U32 CountOfAbortedMessages; 18065312Smsmith} I2O_UTIL_ABORT_REPLY, *PI2O_UTIL_ABORT_REPLY; 18165312Smsmith 18265312Smsmith 18365312Smsmith/****************************************************************************/ 18465312Smsmith 18565312Smsmith/* Claim Flag defines */ 18665312Smsmith 18765312Smsmith#define I2O_CLAIM_FLAGS_EXCLUSIVE 0x0001 /* Reserved */ 18865312Smsmith#define I2O_CLAIM_FLAGS_RESET_SENSITIVE 0x0002 18965312Smsmith#define I2O_CLAIM_FLAGS_STATE_SENSITIVE 0x0004 19065312Smsmith#define I2O_CLAIM_FLAGS_CAPACITY_SENSITIVE 0x0008 19165312Smsmith#define I2O_CLAIM_FLAGS_PEER_SERVICE_DISABLED 0x0010 19265312Smsmith#define I2O_CLAIM_FLAGS_MGMT_SERVICE_DISABLED 0x0020 19365312Smsmith 19465312Smsmith/* Claim Type defines */ 19565312Smsmith 19665312Smsmith#define I2O_CLAIM_TYPE_PRIMARY_USER 0x01 19765312Smsmith#define I2O_CLAIM_TYPE_AUTHORIZED_USER 0x02 19865312Smsmith#define I2O_CLAIM_TYPE_SECONDARY_USER 0x03 19965312Smsmith#define I2O_CLAIM_TYPE_MANAGEMENT_USER 0x04 20065312Smsmith 20165312Smsmith/* UtilClaim Function Message Frame structure. */ 20265312Smsmith 20365312Smsmithtypedef struct _I2O_UTIL_CLAIM_MESSAGE { 20465312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 20565312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 20665312Smsmith U16 ClaimFlags; 20765312Smsmith U8 reserved; 20865312Smsmith U8 ClaimType; 20965312Smsmith} I2O_UTIL_CLAIM_MESSAGE, *PI2O_UTIL_CLAIM_MESSAGE; 21065312Smsmith 21165312Smsmith 21265312Smsmith/****************************************************************************/ 21365312Smsmith 21465312Smsmith/* Claim Release Flag defines */ 21565312Smsmith 21665312Smsmith#define I2O_RELEASE_FLAGS_CONDITIONAL 0x0001 21765312Smsmith 21865312Smsmith/* UtilClaimRelease Function Message Frame structure. */ 21965312Smsmith 22065312Smsmithtypedef struct _I2O_UTIL_CLAIM_RELEASE_MESSAGE { 22165312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 22265312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 22365312Smsmith U16 ReleaseFlags; 22465312Smsmith U8 reserved; 22565312Smsmith U8 ClaimType; 22665312Smsmith} I2O_UTIL_CLAIM_RELEASE_MESSAGE, *PI2O_UTIL_CLAIM_RELEASE_MESSAGE; 22765312Smsmith 22865312Smsmith 22965312Smsmith/****************************************************************************/ 23065312Smsmith 23165312Smsmith/* UtilConfigDialog Function Message Frame structure */ 23265312Smsmith 23365312Smsmithtypedef struct _I2O_UTIL_CONFIG_DIALOG_MESSAGE { 23465312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 23565312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 23665312Smsmith U32 PageNumber; 23765312Smsmith I2O_SG_ELEMENT SGL; 23865312Smsmith} I2O_UTIL_CONFIG_DIALOG_MESSAGE, *PI2O_UTIL_CONFIG_DIALOG_MESSAGE; 23965312Smsmith 24065312Smsmith 24165312Smsmith/****************************************************************************/ 24265312Smsmith 24365312Smsmith/* Event Acknowledge Function Message Frame structure */ 24465312Smsmith 24565312Smsmithtypedef struct _I2O_UTIL_EVENT_ACK_MESSAGE { 24665312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 24765312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 24865312Smsmith U32 EventIndicator; 24965312Smsmith U32 EventData[1]; 25065312Smsmith} I2O_UTIL_EVENT_ACK_MESSAGE, *PI2O_UTIL_EVENT_ACK_MESSAGE; 25165312Smsmith 25265312Smsmith/* Event Ack Reply structure */ 25365312Smsmith 25465312Smsmithtypedef struct _I2O_UTIL_EVENT_ACK_REPLY { 25565312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 25665312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 25765312Smsmith U32 EventIndicator; 25865312Smsmith U32 EventData[1]; 25965312Smsmith} I2O_UTIL_EVENT_ACK_REPLY, *PI2O_UTIL_EVENT_ACK_REPLY; 26065312Smsmith 26165312Smsmith 26265312Smsmith/****************************************************************************/ 26365312Smsmith 26465312Smsmith/* Event Indicator Mask Flags */ 26565312Smsmith 26665312Smsmith#define I2O_EVENT_IND_STATE_CHANGE 0x80000000 26765312Smsmith#define I2O_EVENT_IND_GENERAL_WARNING 0x40000000 26865312Smsmith#define I2O_EVENT_IND_CONFIGURATION_FLAG 0x20000000 26965312Smsmith/* #define I2O_EVENT_IND_RESERVE_RELEASE 0x10000000 */ 27065312Smsmith#define I2O_EVENT_IND_LOCK_RELEASE 0x10000000 27165312Smsmith#define I2O_EVENT_IND_CAPABILITY_CHANGE 0x08000000 27265312Smsmith#define I2O_EVENT_IND_DEVICE_RESET 0x04000000 27365312Smsmith#define I2O_EVENT_IND_EVENT_MASK_MODIFIED 0x02000000 27465312Smsmith#define I2O_EVENT_IND_FIELD_MODIFIED 0x01000000 27565312Smsmith#define I2O_EVENT_IND_VENDOR_EVENT 0x00800000 27665312Smsmith#define I2O_EVENT_IND_DEVICE_STATE 0x00400000 27765312Smsmith 27865312Smsmith/* Event Data for generic Events */ 27965312Smsmith 28065312Smsmith#define I2O_EVENT_STATE_CHANGE_NORMAL 0x00 28165312Smsmith#define I2O_EVENT_STATE_CHANGE_SUSPENDED 0x01 28265312Smsmith#define I2O_EVENT_STATE_CHANGE_RESTART 0x02 28365312Smsmith#define I2O_EVENT_STATE_CHANGE_NA_RECOVER 0x03 28465312Smsmith#define I2O_EVENT_STATE_CHANGE_NA_NO_RECOVER 0x04 28565312Smsmith#define I2O_EVENT_STATE_CHANGE_QUIESCE_REQUEST 0x05 28665312Smsmith#define I2O_EVENT_STATE_CHANGE_FAILED 0x10 28765312Smsmith#define I2O_EVENT_STATE_CHANGE_FAULTED 0x11 28865312Smsmith 28965312Smsmith#define I2O_EVENT_GEN_WARNING_NORMAL 0x00 29065312Smsmith#define I2O_EVENT_GEN_WARNING_ERROR_THRESHOLD 0x01 29165312Smsmith#define I2O_EVENT_GEN_WARNING_MEDIA_FAULT 0x02 29265312Smsmith 29365312Smsmith#define I2O_EVENT_CAPABILITY_OTHER 0x01 29465312Smsmith#define I2O_EVENT_CAPABILITY_CHANGED 0x02 29565312Smsmith 29665312Smsmith#define I2O_EVENT_SENSOR_STATE_CHANGED 0x01 29765312Smsmith 29865312Smsmith 29965312Smsmith/* UtilEventRegister Function Message Frame structure */ 30065312Smsmith 30165312Smsmithtypedef struct _I2O_UTIL_EVENT_REGISTER_MESSAGE { 30265312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 30365312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 30465312Smsmith U32 EventMask; 30565312Smsmith} I2O_UTIL_EVENT_REGISTER_MESSAGE, *PI2O_UTIL_EVENT_REGISTER_MESSAGE; 30665312Smsmith 30765312Smsmith/* UtilEventRegister Reply structure */ 30865312Smsmith 30965312Smsmithtypedef struct _I2O_UTIL_EVENT_REGISTER_REPLY { 31065312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 31165312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 31265312Smsmith U32 EventIndicator; 31365312Smsmith U32 EventData[1]; 31465312Smsmith} I2O_UTIL_EVENT_REGISTER_REPLY, *PI2O_UTIL_EVENT_REGISTER_REPLY; 31565312Smsmith 31665312Smsmith 31765312Smsmith/****************************************************************************/ 31865312Smsmith 31965312Smsmith/* UtilLock Function Message Frame structure. */ 32065312Smsmith 32165312Smsmithtypedef struct _I2O_UTIL_LOCK_MESSAGE { 32265312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 32365312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 32465312Smsmith} I2O_UTIL_LOCK_MESSAGE, *PI2O_UTIL_LOCK_MESSAGE; 32565312Smsmith 32665312Smsmith/****************************************************************************/ 32765312Smsmith 32865312Smsmith/* UtilLockRelease Function Message Frame structure. */ 32965312Smsmith 33065312Smsmithtypedef struct _I2O_UTIL_LOCK_RELEASE_MESSAGE { 33165312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 33265312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 33365312Smsmith} I2O_UTIL_LOCK_RELEASE_MESSAGE, *PI2O_UTIL_LOCK_RELEASE_MESSAGE; 33465312Smsmith 33565312Smsmith 33665312Smsmith/****************************************************************************/ 33765312Smsmith 33865312Smsmith/* UtilNOP Function Message Frame structure. */ 33965312Smsmith 34065312Smsmithtypedef struct _I2O_UTIL_NOP_MESSAGE { 34165312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 34265312Smsmith} I2O_UTIL_NOP_MESSAGE, *PI2O_UTIL_NOP_MESSAGE; 34365312Smsmith 34465312Smsmith 34565312Smsmith/****************************************************************************/ 34665312Smsmith 34765312Smsmith/* UtilParamsGet Message Frame structure. */ 34865312Smsmith 34965312Smsmithtypedef struct _I2O_UTIL_PARAMS_GET_MESSAGE { 35065312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 35165312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 35265312Smsmith U32 OperationFlags; 35365312Smsmith I2O_SG_ELEMENT SGL; 35465312Smsmith} I2O_UTIL_PARAMS_GET_MESSAGE, *PI2O_UTIL_PARAMS_GET_MESSAGE; 35565312Smsmith 35665312Smsmith 35765312Smsmith/****************************************************************************/ 35865312Smsmith 35965312Smsmith/* UtilParamsSet Message Frame structure. */ 36065312Smsmith 36165312Smsmithtypedef struct _I2O_UTIL_PARAMS_SET_MESSAGE { 36265312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 36365312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 36465312Smsmith U32 OperationFlags; 36565312Smsmith I2O_SG_ELEMENT SGL; 36665312Smsmith} I2O_UTIL_PARAMS_SET_MESSAGE, *PI2O_UTIL_PARAMS_SET_MESSAGE; 36765312Smsmith 36865312Smsmith 36965312Smsmith/****************************************************************************/ 37065312Smsmith 37165312Smsmith/* UtilReplyFaultNotify Message for Message Failure. */ 37265312Smsmith 37365312Smsmithtypedef struct _I2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE { 37465312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 37565312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 37665312Smsmith U8 LowestVersion; 37765312Smsmith U8 HighestVersion; 37865312Smsmith BF Severity:I2O_FAILCODE_SEVERITY_SZ; 37965312Smsmith BF FailureCode:I2O_FAILCODE_CODE_SZ; 38065312Smsmith BF FailingIOP_ID:I2O_IOP_ID_SZ; 38165312Smsmith BF reserved:I2O_RESERVED_4BITS; 38265312Smsmith BF FailingHostUnitID:I2O_UNIT_ID_SZ; 38365312Smsmith U32 AgeLimit; 38465312Smsmith#if I2O_64BIT_CONTEXT 38565312Smsmith PI2O_MESSAGE_FRAME OriginalMFA; 38665312Smsmith#else 38765312Smsmith PI2O_MESSAGE_FRAME OriginalMFALowPart; 38865312Smsmith U32 OriginalMFAHighPart; /* Always 0000 */ 38965312Smsmith#endif 39065312Smsmith} I2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE, *PI2O_UTIL_REPLY_FAULT_NOTIFY_MESSAGE; 39165312Smsmith 39265312Smsmith 39365312Smsmith/****************************************************************************/ 39465312Smsmith 39565312Smsmith/* Device Reserve Function Message Frame structure. */ 39665312Smsmith/* NOTE: This was previously called the Reserve Message */ 39765312Smsmith 39865312Smsmithtypedef struct _I2O_UTIL_DEVICE_RESERVE_MESSAGE { 39965312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 40065312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 40165312Smsmith} I2O_UTIL_DEVICE_RESERVE_MESSAGE, *PI2O_UTIL_DEVICE_RESERVE_MESSAGE; 40265312Smsmith 40365312Smsmith 40465312Smsmith/****************************************************************************/ 40565312Smsmith 40665312Smsmith/* Device Release Function Message Frame structure. */ 40765312Smsmith/* NOTE: This was previously called the ReserveRelease Message */ 40865312Smsmith 40965312Smsmithtypedef struct _I2O_UTIL_DEVICE_RELEASE_MESSAGE { 41065312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 41165312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 41265312Smsmith} I2O_UTIL_DEVICE_RELEASE_MESSAGE, *PI2O_UTIL_DEVICE_RELEASE_MESSAGE; 41365312Smsmith 41465312Smsmith 41565312Smsmith/****************************************************************************/ 41665312Smsmith 41765312SmsmithPRAGMA_PACK_POP 41865312SmsmithPRAGMA_ALIGN_POP 41965312Smsmith 42065312Smsmith#endif /* I2O_UTILITY_HDR */ 421