i2oadptr.h revision 87826
165312Smsmith/**************************************************************** 265312Smsmith * Copyright (c) 1996-2000 Distributed Processing Technology Corporation 365312Smsmith * Copyright (c) 2000 Adaptec Corproation. 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/i2oadptr.h 87826 2001-12-13 23:48:34Z obrien $ 8087826Sobrien * 8165312Smsmith ****************************************************************/ 8265312Smsmith 8365312Smsmith#if !defined(I2O_ADPTR_HDR) 8465312Smsmith#define I2O_ADPTR_HDR 8565312Smsmith 8665312Smsmith#if ((defined(KERNEL) || defined(_KERNEL)) && defined(__FreeBSD__)) 8765312Smsmith# if (KERN_VERSION < 3) 8865312Smsmith# include "i386/pci/i2omsg.h" 8965312Smsmith# else 9065312Smsmith# include "dev/asr/i2omsg.h" 9165312Smsmith# endif 9265312Smsmith#else 9365312Smsmith# include "i2omsg.h" /* Include the Base Message file */ 9465312Smsmith#endif 9565312Smsmith 9665312Smsmith 9765312Smsmith#define I2OADPTR_REV 1_5_1 /* Header file revision string */ 9865312Smsmith 9965312Smsmith 10065312Smsmith/***************************************************************************** 10165312Smsmith * 10265312Smsmith * i2oadptr.h -- I2O Adapter Class Message defintion file 10365312Smsmith * 10465312Smsmith * 10565312Smsmith * Revision History: 10665312Smsmith * 10765312Smsmith * 1.5.d 03/06/97 - First definition for spec. draft version 1.5d. 10865312Smsmith * 1.5.1 05/02/97 - Corrections from review cycle: 10965312Smsmith * 1) Remove "SCSI" from function definition comment. 11065312Smsmith * 2) Add revision string. 11165312Smsmith * 3) Convert tabs to spaces. 11265312Smsmith * 4) New disclaimer. 11365312Smsmith * 11465312Smsmith * 11565312Smsmith * 11665312Smsmith *****************************************************************************/ 11765312Smsmith 11865312Smsmith/* 11965312Smsmith NOTES: 12065312Smsmith 12165312Smsmith Gets, reads, receives, etc. are all even numbered functions. 12265312Smsmith Sets, writes, sends, etc. are all odd numbered functions. 12365312Smsmith Functions that both send and receive data can be either but an attempt is made 12465312Smsmith to use the function number that indicates the greater transfer amount. 12565312Smsmith Functions that do not send or receive data use odd function numbers. 12665312Smsmith 12765312Smsmith Some functions are synonyms like read, receive and send, write. 12865312Smsmith 12965312Smsmith All common functions will have a code of less than 0x80. 13065312Smsmith Unique functions to a class will start at 0x80. 13165312Smsmith Executive Functions start at 0xA0. 13265312Smsmith 13365312Smsmith Utility Message function codes range from 0 - 0x1f 13465312Smsmith Base Message function codes range from 0x20 - 0xfe 13565312Smsmith Private Message function code is 0xff. 13665312Smsmith*/ 13765312Smsmith 13865312Smsmith 13965312SmsmithPRAGMA_ALIGN_PUSH 14065312Smsmith 14165312SmsmithPRAGMA_PACK_PUSH 14265312Smsmith 14365312Smsmith/* 14465312Smsmith Bus Adapter Class specific functions 14565312Smsmith*/ 14665312Smsmith 14765312Smsmith#define I2O_HBA_ADAPTER_RESET 0x85 14865312Smsmith#define I2O_HBA_BUS_QUIESCE 0x8b 14965312Smsmith#define I2O_HBA_BUS_RESET 0x87 15065312Smsmith#define I2O_HBA_BUS_SCAN 0x89 15165312Smsmith 15265312Smsmith 15365312Smsmith/* 15465312Smsmith Detailed Status Codes for HBA operations 15565312Smsmith 15665312Smsmith Note: 15765312Smsmith The 16-bit Detailed Status Code field for HBA operations is divided 15865312Smsmith into two separate 8-bit fields. The lower 8 bits are reserved. The 15965312Smsmith upper 8 bits are used to report Adapter Status information. The 16065312Smsmith definitions for these two fields, however, will be consistent with 16165312Smsmith the standard reply message frame structure declaration, which treats 16265312Smsmith this as a single 16-bit field. In addition, the values used will be 16365312Smsmith consistent with the Adapter Status codes defined for the SCSI 16465312Smsmith Peripheral class. Theses codes are based on CAM-1. In other words, 16565312Smsmith these definitions are a subset of the SCSI peripheral class codes. 16665312Smsmith Where applicable, "SCSI" has been removed from the definition. 16765312Smsmith*/ 16865312Smsmith 16965312Smsmith 17065312Smsmith#define I2O_HBA_DSC_MASK 0xFF00 17165312Smsmith 17265312Smsmith#define I2O_HBA_DSC_SUCCESS 0x0000 17365312Smsmith#define I2O_HBA_DSC_ADAPTER_BUSY 0x0500 17465312Smsmith#define I2O_HBA_DSC_COMMAND_TIMEOUT 0x0B00 17565312Smsmith#define I2O_HBA_DSC_COMPLETE_WITH_ERROR 0x0400 17665312Smsmith#define I2O_HBA_DSC_FUNCTION_UNAVAILABLE 0x3A00 17765312Smsmith#define I2O_HBA_DSC_NO_ADAPTER 0x1100 17865312Smsmith#define I2O_HBA_DSC_PARITY_ERROR_FAILURE 0x0F00 17965312Smsmith#define I2O_HBA_DSC_PATH_INVALID 0x0700 18065312Smsmith#define I2O_HBA_DSC_PROVIDE_FAILURE 0x1600 18165312Smsmith#define I2O_HBA_DSC_QUEUE_FROZEN 0x4000 18265312Smsmith#define I2O_HBA_DSC_REQUEST_ABORTED 0x0200 18365312Smsmith#define I2O_HBA_DSC_REQUEST_INVALID 0x0600 18465312Smsmith#define I2O_HBA_DSC_REQUEST_LENGTH_ERROR 0x1500 18565312Smsmith#define I2O_HBA_DSC_REQUEST_TERMINATED 0x1800 18665312Smsmith#define I2O_HBA_DSC_RESOURCE_UNAVAILABLE 0x3400 18765312Smsmith#define I2O_HBA_DSC_BUS_BUSY 0x3F00 18865312Smsmith#define I2O_HBA_DSC_BUS_RESET 0x0E00 18965312Smsmith#define I2O_HBA_DSC_ID_INVALID 0x3900 19065312Smsmith#define I2O_HBA_DSC_SEQUENCE_FAILURE 0x1400 19165312Smsmith#define I2O_HBA_DSC_UNABLE_TO_ABORT 0x0300 19265312Smsmith#define I2O_HBA_DSC_UNABLE_TO_TERMINATE 0x0900 19365312Smsmith#define I2O_HBA_DSC_UNACKNOWLEDGED_EVENT 0x3500 19465312Smsmith#define I2O_HBA_DSC_UNEXPECTED_BUS_FREE 0x1300 19565312Smsmith 19665312Smsmith 19765312Smsmith 19865312Smsmith/****************************************************************************/ 19965312Smsmith 20065312Smsmith/* Bus Adapter Parameter Groups */ 20165312Smsmith 20265312Smsmith/****************************************************************************/ 20365312Smsmith 20465312Smsmith 20565312Smsmith#define I2O_HBA_CONTROLLER_INFO_GROUP_NO 0x0000 20665312Smsmith#define I2O_HBA_HISTORICAL_STATS_GROUP_NO 0x0100 20765312Smsmith#define I2O_HBA_SCSI_CONTROLLER_INFO_GROUP_NO 0x0200 20865312Smsmith#define I2O_HBA_SCSI_BUS_PORT_INFO_GROUP_NO 0x0201 20965312Smsmith#define I2O_HBA_FCA_CONTROLLER_INFO_GROUP_NO 0x0300 21065312Smsmith#define I2O_HBA_FCA_PORT_INFO_GROUP_NO 0x0301 21165312Smsmith 21265312Smsmith 21365312Smsmith/* - 0000h - HBA Controller Information Parameter Group */ 21465312Smsmith 21565312Smsmith/* Bus Type */ 21665312Smsmith 21765312Smsmith#define I2O_HBA_BUS_TYPE_GENERIC 0x00 21865312Smsmith#define I2O_HBA_BUS_TYPE_SCSI 0x01 21965312Smsmith#define I2O_HBA_BUS_TYPE_FCA 0x10 22065312Smsmith 22165312Smsmith 22265312Smsmithtypedef struct _I2O_HBA_CONTROLLER_INFO_SCALAR { 22365312Smsmith U8 BusType; 22465312Smsmith U8 BusState; 22565312Smsmith U16 Reserved2; 22665312Smsmith U8 BusName[12]; 22765312Smsmith} I2O_HBA_CONTROLLER_INFO_SCALAR, *PI2O_HBA_CONTROLLER_INFO_SCALAR; 22865312Smsmith 22965312Smsmith 23065312Smsmith/* - 0100h - HBA Historical Stats Parameter Group */ 23165312Smsmith 23265312Smsmithtypedef struct _I2O_HBA_HIST_STATS_SCALAR { 23365312Smsmith U32 TimeLastPoweredUp; 23465312Smsmith U32 TimeLastReset; 23565312Smsmith} I2O_HBA_HIST_STATS_SCALAR, *PI2O_HBA_HIST_STATS_SCALAR; 23665312Smsmith 23765312Smsmith 23865312Smsmith/* - 0200h - HBA SCSI Controller Information Parameter Group */ 23965312Smsmith 24065312Smsmith/* SCSI Type */ 24165312Smsmith 24265312Smsmith#define I2O_SCSI_TYPE_UNKNOWN 0x00 24365312Smsmith#define I2O_SCSI_TYPE_SCSI_1 0x01 24465312Smsmith#define I2O_SCSI_TYPE_SCSI_2 0x02 24565312Smsmith#define I2O_SCSI_TYPE_SCSI_3 0x03 24665312Smsmith 24765312Smsmith/* Protection Management */ 24865312Smsmith 24965312Smsmith#define I2O_SCSI_PORT_PROT_OTHER 0x00 25065312Smsmith#define I2O_SCSI_PORT_PROT_UNKNOWN 0x01 25165312Smsmith#define I2O_SCSI_PORT_PROT_UNPROTECTED 0x02 25265312Smsmith#define I2O_SCSI_PORT_PROT_PROTECTED 0x03 25365312Smsmith#define I2O_SCSI_PORT_PROT_SCC 0x04 25465312Smsmith 25565312Smsmith/* Settings */ 25665312Smsmith 25765312Smsmith#define I2O_SCSI_PORT_PARITY_FLAG 0x01 25865312Smsmith#define I2O_SCSI_PORT_PARITY_DISABLED 0x00 25965312Smsmith#define I2O_SCSI_PORT_PARITY_ENABLED 0x01 26065312Smsmith 26165312Smsmith#define I2O_SCSI_PORT_SCAN_ORDER_FLAG 0x02 26265312Smsmith#define I2O_SCSI_PORT_SCAN_LOW_TO_HIGH 0x00 26365312Smsmith#define I2O_SCSI_PORT_SCAN_HIGH_TO_LOW 0x02 26465312Smsmith 26565312Smsmith#define I2O_SCSI_PORT_IID_FLAG 0x04 26665312Smsmith#define I2O_SCSI_PORT_IID_DEFAULT 0x00 26765312Smsmith#define I2O_SCSI_PORT_IID_SPECIFIED 0x04 26865312Smsmith 26965312Smsmith#define I2O_SCSI_PORT_SCAM_FLAG 0x08 27065312Smsmith#define I2O_SCSI_PORT_SCAM_DISABLED 0x00 27165312Smsmith#define I2O_SCSI_PORT_SCAM_ENABLED 0x08 27265312Smsmith 27365312Smsmith#define I2O_SCSI_PORT_TYPE_FLAG 0x80 27465312Smsmith#define I2O_SCSI_PORT_TYPE_PARALLEL 0x00 27565312Smsmith#define I2O_SCSI_PORT_TYPE_SERIAL 0x80 27665312Smsmith 27765312Smsmithtypedef struct _I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR { 27865312Smsmith U8 SCSIType; 27965312Smsmith U8 ProtectionManagement; 28065312Smsmith U8 Settings; 28165312Smsmith U8 Reserved1; 28265312Smsmith U32 InitiatorID; 28365312Smsmith U64 ScanLun0Only; 28465312Smsmith U16 DisableDevice; 28565312Smsmith U8 MaxOffset; 28665312Smsmith U8 MaxDataWidth; 28765312Smsmith U64 MaxSyncRate; 28865312Smsmith} I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR, *PI2O_HBA_SCSI_CONTROLLER_INFO_SCALAR; 28965312Smsmith 29065312Smsmith 29165312Smsmith/* - 0201h - HBA SCSI Bus Port Information Parameter Group */ 29265312Smsmith 29365312Smsmith/* NOTE: Refer to the SCSI Peripheral Class Bus Port Information Parameter 29465312Smsmith Group field definitions for HBA SCSI Bus Port field definitions. 29565312Smsmith */ 29665312Smsmith 29765312Smsmithtypedef struct _I2O_HBA_SCSI_BUS_PORT_INFO_SCALAR { 29865312Smsmith U8 PhysicalInterface; 29965312Smsmith U8 ElectricalInterface; 30065312Smsmith U8 Isochronous; 30165312Smsmith U8 ConnectorType; 30265312Smsmith U8 ConnectorGender; 30365312Smsmith U8 Reserved1; 30465312Smsmith U16 Reserved2; 30565312Smsmith U32 MaxNumberDevices; 30665312Smsmith U32 DeviceIdBegin; 30765312Smsmith U32 DeviceIdEnd; 30865312Smsmith U8 LunBegin[8]; 30965312Smsmith U8 LunEnd[8]; 31065312Smsmith} I2O_HBA_SCSI_BUS_PORT_INFO_SCALAR, *PI2O_HBA_SCSI_BUS_PORT_INFO_SCALAR; 31165312Smsmith 31265312Smsmith 31365312Smsmith/* - 0300h - HBA FCA Controller Information Parameters Group defines */ 31465312Smsmith 31565312Smsmith/* SCSI Type */ 31665312Smsmith 31765312Smsmith#define I2O_FCA_TYPE_UNKNOWN 0x00 31865312Smsmith#define I2O_FCA_TYPE_FCAL 0x01 31965312Smsmith 32065312Smsmithtypedef struct _I2O_HBA_FCA_CONTROLLER_INFO_SCALAR { 32165312Smsmith U8 FcaType; 32265312Smsmith U8 Reserved1; 32365312Smsmith U16 Reserved2; 32465312Smsmith} I2O_HBA_FCA_CONTROLLER_INFO_SCALAR, *PI2O_HBA_FCA_CONTROLLER_INFO_SCALAR; 32565312Smsmith 32665312Smsmith 32765312Smsmith/* - 0301h - HBA FCA Port Information Parameters Group defines */ 32865312Smsmith 32965312Smsmithtypedef struct _I2O_HBA_FCA_PORT_INFO_SCALAR { 33065312Smsmith U32 Reserved4; 33165312Smsmith} I2O_HBA_FCA_PORT_INFO_SCALAR, *PI2O_HBA_FCA_PORT_INFO_SCALAR; 33265312Smsmith 33365312Smsmith 33465312Smsmith/****************************************************************************/ 33565312Smsmith 33665312Smsmith/* I2O Bus Adapter Class Specific Message Definitions */ 33765312Smsmith 33865312Smsmith/****************************************************************************/ 33965312Smsmith 34065312Smsmith 34165312Smsmith/****************************************************************************/ 34265312Smsmith 34365312Smsmith/* I2O Bus Adapter Class Reply Message Frame */ 34465312Smsmith 34565312Smsmithtypedef struct _I2O_HBA_REPLY_MESSAGE_FRAME { 34665312Smsmith I2O_SINGLE_REPLY_MESSAGE_FRAME StdReplyFrame; 34765312Smsmith} I2O_HBA_REPLY_MESSAGE_FRAME, *PI2O_HBA_REPLY_MESSAGE_FRAME; 34865312Smsmith 34965312Smsmith 35065312Smsmith/****************************************************************************/ 35165312Smsmith 35265312Smsmith/* I2O HBA Adapter Reset Message Frame */ 35365312Smsmith 35465312Smsmithtypedef struct _I2O_HBA_ADAPTER_RESET_MESSAGE { 35565312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 35665312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 35765312Smsmith} I2O_HBA_ADAPTER_RESET_MESSAGE, *PI2O_HBA_ADAPTER_RESET_MESSAGE; 35865312Smsmith 35965312Smsmith 36065312Smsmith/****************************************************************************/ 36165312Smsmith 36265312Smsmith/* I2O HBA Bus Quiesce Message Frame */ 36365312Smsmith 36465312Smsmithtypedef U32 I2O_HBQ_FLAGS; 36565312Smsmith 36665312Smsmith#define I2O_HBQ_FLAG_NORMAL 0x0000 36765312Smsmith#define I2O_HBQ_FLAG_QUIESCE 0x0001 36865312Smsmith 36965312Smsmithtypedef struct _I2O_HBA_BUS_QUIESCE_MESSAGE { 37065312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 37165312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 37265312Smsmith I2O_HBQ_FLAGS Flags; 37365312Smsmith} I2O_HBA_BUS_QUIESCE_MESSAGE, *PI2O_HBA_BUS_QUIESCE_MESSAGE; 37465312Smsmith 37565312Smsmith 37665312Smsmith/****************************************************************************/ 37765312Smsmith 37865312Smsmith/* I2O HBA Bus Reset Message Frame */ 37965312Smsmith 38065312Smsmithtypedef struct _I2O_HBA_BUS_RESET_MESSAGE { 38165312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 38265312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 38365312Smsmith} I2O_HBA_BUS_RESET_MESSAGE, *PI2O_HBA_BUS_RESET_MESSAGE; 38465312Smsmith 38565312Smsmith 38665312Smsmith/****************************************************************************/ 38765312Smsmith 38865312Smsmith/* I2O HBA Bus Scan Message Frame */ 38965312Smsmith 39065312Smsmith/* NOTE: SCSI-2 8-bit scalar LUN goes into offset 1 of Lun arrays */ 39165312Smsmith 39265312Smsmithtypedef struct _I2O_HBA_BUS_SCAN_MESSAGE { 39365312Smsmith I2O_MESSAGE_FRAME StdMessageFrame; 39465312Smsmith I2O_TRANSACTION_CONTEXT TransactionContext; 39565312Smsmith} I2O_HBA_BUS_SCAN_MESSAGE, *PI2O_HBA_BUS_SCAN_MESSAGE; 39665312Smsmith 39765312Smsmith 39865312SmsmithPRAGMA_PACK_POP 39965312Smsmith 40065312SmsmithPRAGMA_ALIGN_POP 40165312Smsmith 40265312Smsmith#endif /* I2O_ADPTR_HDR */ 40365312Smsmith 40465312Smsmith 405