1139749Simp/*- 2139749Simp **************************************************************************** 365312Smsmith * 465312Smsmith * Copyright (c) 1996-2000 Distributed Processing Technology Corporation 565312Smsmith * Copyright (c) 2000 Adaptec Corporation. 665312Smsmith * All rights reserved. 765312Smsmith * 865312Smsmith * Copyright (c) 1998 I2O Special Interest Group (I2O SIG) 965312Smsmith * All rights reserved 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 information is provided on an as-is basis without warranty of any 2865312Smsmith * kind, either express or implied, including but not limited to, implied 2965312Smsmith * warranties or merchantability and fitness for a particular purpose. I2O SIG 3065312Smsmith * does not warrant that this program will meet the user's requirements or 3165312Smsmith * that the operation of these programs will be uninterrupted or error-free. 3265312Smsmith * The I2O SIG disclaims all liability, including liability for infringement 3365312Smsmith * of any proprietary rights, relating to implementation of information in 3465312Smsmith * this specification. The I2O SIG does not warrant or represent that such 3565312Smsmith * implementations(s) will not infringe such rights. Acceptance and use of 3665312Smsmith * this program constitutes the user's understanding that he will have no 3765312Smsmith * recourse to I2O SIG for any actual or consequential damages including, but 3865312Smsmith * not limited to, loss profits arising out of use or inability to use this 3965312Smsmith * program. 4065312Smsmith * 4165312Smsmith * This information is provided for the purpose of recompilation of the 4265312Smsmith * driver code provided by Distributed Processing Technology only. It is 4365312Smsmith * NOT to be used for any other purpose. 4465312Smsmith * 4565312Smsmith * To develop other products based upon I2O definitions, it is necessary to 4665312Smsmith * become a "Registered Developer" of the I2O SIG. This can be done by calling 4765312Smsmith * 415-750-8352 in the US, or via http://www.i2osig.org. 4865312Smsmith * 4987826Sobrien * $FreeBSD: releng/10.2/sys/dev/asr/i2odep.h 155278 2006-02-04 08:01:49Z scottl $ 5087826Sobrien * 5165312Smsmith **************************************************************************/ 5265312Smsmith 5365312Smsmith/* 5465312Smsmith * This template provides place holders for architecture and compiler 5565312Smsmith * dependencies. It should be filled in and renamed as i2odep.h. 5665312Smsmith * i2odep.h is included by i2otypes.h. <xxx> marks the places to fill. 5765312Smsmith */ 5865312Smsmith 5965312Smsmith#ifndef __INCi2odeph 6096615Sobrien#define __INCi2odeph 6165312Smsmith 6296615Sobrien#define I2ODEP_REV 1_5_4 6365312Smsmith 6465312Smsmith/* 6565312Smsmith * Pragma macros. These are to assure appropriate alignment between 6665312Smsmith * host/IOP as defined by the I2O Specification. Each one of the shared 6765312Smsmith * header files includes these macros. 6865312Smsmith */ 6965312Smsmith 7096615Sobrien#define PRAGMA_ALIGN_PUSH 7196615Sobrien#define PRAGMA_ALIGN_POP 7296615Sobrien#define PRAGMA_PACK_PUSH 7396615Sobrien#define PRAGMA_PACK_POP 7465312Smsmith 7565312Smsmith/* Setup the basics */ 7665312Smsmith 7796554Sobrientypedef signed char S8; 7896554Sobrientypedef signed short S16; 7965312Smsmith 8096554Sobrientypedef unsigned char U8; 8196554Sobrientypedef unsigned short U16; 8265312Smsmith 83155278Sscottltypedef u_int32_t U32; 84155278Sscottltypedef int32_t S32; 8565312Smsmith 8665312Smsmith 8765312Smsmith/* Bitfields */ 8865312Smsmith 8965312Smsmith#if (defined(__BORLANDC__)) 9096554Sobrientypedef U16 BF; 9165312Smsmith#else 9296554Sobrientypedef U32 BF; 9365312Smsmith#endif 9465312Smsmith 9565312Smsmith 9665312Smsmith/* VOID */ 9765312Smsmith 9865312Smsmith#ifndef __VOID 9965312Smsmith#if (defined(_DPT_ARC)) 10065312Smsmith# define VOID void 10165312Smsmith#else 10265312Smsmith typedef void VOID; 10365312Smsmith#endif 10496615Sobrien#define __VOID 10565312Smsmith#endif 10665312Smsmith 10765312Smsmith 10865312Smsmith/* Boolean */ 10965312Smsmith 11065312Smsmith#ifndef __BOOL 11196615Sobrien#define __BOOL 11265312Smsmith 11365312Smsmithtypedef unsigned char BOOL; 11465312Smsmith#endif 11565312Smsmith 11696655Sbrian#if !defined(__FAR__) 11796614Sobrien# if defined(__BORLANDC__) 11865312Smsmith# define __FAR__ far 11965312Smsmith# else 12065312Smsmith# define __FAR__ 12165312Smsmith# endif 12265312Smsmith#endif 12365312Smsmith 12465312Smsmith/* NULL */ 12565312Smsmith 12696614Sobrien#if !defined(NULL) 12765312Smsmith# define NULL ((VOID __FAR__ *)0L) 12865312Smsmith#endif 12965312Smsmith 13065312Smsmith 13196614Sobrien#if defined(__SPARC__) || defined(__linux__) 13296554Sobrientypedef char CHAR; 13396554Sobrientypedef char *pCHAR; 13496554Sobrientypedef char INT8; 13596554Sobrientypedef char *pINT8; 13696554Sobrientypedef unsigned char UINT8; 13796554Sobrientypedef unsigned char *pUINT8; 13896554Sobrientypedef short INT16; 13996554Sobrientypedef short *pINT16; 14096554Sobrientypedef unsigned short UINT16; 14196554Sobrientypedef unsigned short *pUINT16; 14296554Sobrientypedef long INT32; 14396554Sobrientypedef long *pINT32; 14496554Sobrientypedef unsigned long UINT32; 14596554Sobrientypedef unsigned long *pUINT32; 14696554Sobrien/* typedef SCSI_REQUEST_BLOCK OS_REQUEST_T; */ 14796554Sobrien/* typedef PSCSI_REQUEST_BLOCK pOS_REQUEST_T; */ 14896615Sobrien#define STATIC static 14965312Smsmith#ifndef __NEAR__ 15065312Smsmith# if (defined(__BORLANDC__)) 15165312Smsmith# define __NEAR__ near 15265312Smsmith# else 15365312Smsmith# define __NEAR__ 15465312Smsmith# endif 15565312Smsmith#endif 15696615Sobrien#define pVOID void * 15796615Sobrien#define pBOOLEAN BOOLEAN * 15865312Smsmith#endif 15965312Smsmith 16065312Smsmith 16165312Smsmith/* 16265312Smsmith * Copyright (c) 1996-2000 Distributed Processing Technology Corporation 16365312Smsmith * Copyright (c) 2000 Adaptec Corporation. 16465312Smsmith * All rights reserved. 16565312Smsmith */ 16665312Smsmith/* 16796554Sobrien * Define some generalized portability macros 16896554Sobrien * These macros follow the following parameterization: 16996554Sobrien * _F_getXXX(pointer,primaryElement<,offset>,referredElement) 17096554Sobrien * _F_setXXX(pointer,primaryElement<,offset>,referredElement,newValue) 17196554Sobrien * These parameters are shortened to u, w, x, y and z to reduce clutter. 17265312Smsmith */ 17365312Smsmith#if (defined(__BORLANDC__)) 17496554Sobrien# define I2O_TID_MASK ((U16)((1L<<I2O_TID_SZ)-1)) 17565312Smsmith/* First 12 bits */ 17665312Smsmith# define _F_getTID(w,x,y) (*((U16 __FAR__ *)(&((w)->x))) & I2O_TID_MASK) 17765312Smsmith# define _F_setTID(w,x,y,z) (*((U16 __FAR__ *)(&((w)->x)))\ 17896554Sobrien &= 0xFFFF - I2O_TID_MASK);\ 17996554Sobrien (*((U16 __FAR__ *)(&((w)->x)))\ 18096554Sobrien |=(U16)(z)&I2O_TID_MASK) 18165312Smsmith/* Seconds 12 bits (optimized with the assumption of 12 & 12) */ 18265312Smsmith# define _F_getTID1(w,x,y) ((*(U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\ 18396554Sobrien + (I2O_TID_SZ/8)))\ 18496554Sobrien >> (I2O_TID_SZ-((I2O_TID_SZ/8)*8))) 18565312Smsmith# define _F_setTID1(w,x,y,z) ((*((U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\ 18696554Sobrien + (I2O_TID_SZ/8)))) &= (0xFFFF >> I2O_TID_SZ));\ 18796554Sobrien ((*((U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\ 18896554Sobrien + (I2O_TID_SZ/8)))) |= (z)\ 18996554Sobrien << (I2O_TID_SZ-((I2O_TID_SZ/8)*8))) 19065312Smsmith/* Last 8 bits */ 19165312Smsmith# define _F_getFunc(w,x,y) (*(((U8 __FAR__ *)(&((w)->x)))\ 19296554Sobrien + ((I2O_TID_SZ+I2O_TID_SZ)/8))) 19365312Smsmith# define _F_setFunc(w,x,y,z) (_F_getFunc(w,x,y) = (z)) 19465312Smsmith# define I2O_SG_COUNT_MASK ((U32)((1L<<I2O_SG_COUNT_SZ)-1)) 19565312Smsmith/* First 24 bits */ 19665312Smsmith# define _F_getCount(w,x,y) (*((U32 __FAR__ *)(&((w)->x)))&I2O_SG_COUNT_MASK) 19765312Smsmith/* 19865312Smsmith * The following is less efficient because of compiler inefficiencies: 19965312Smsmith * 20065312Smsmith * # define _F_setCount(w,x,y,z) *((U16 __FAR__ *)(&((w)->x))) = (U16)(z);\ 20196554Sobrien * ((U8 __FAR__ *)(&((w)->x)))[2]= (U8)((z)>>16L) 20265312Smsmith * 20365312Smsmith * so we will use the apparently more code intensive: 20465312Smsmith */ 20565312Smsmith# define _F_setCount(w,x,y,z) (*((U32 __FAR__ *)(&((w)->x)))\ 20696554Sobrien &= 0xFFFFFFFFL - I2O_SG_COUNT_MASK);\ 20796554Sobrien (*((U32 __FAR__ *)(&((w)->x)))\ 20896554Sobrien |= (z) & I2O_SG_COUNT_MASK) 20965312Smsmith/* Last 8 bits */ 21065312Smsmith# define _F_getFlags(w,x,y) (*(((U8 __FAR__ *)(&((w)->x)))\ 21196554Sobrien + (I2O_SG_COUNT_SZ/8))) 21265312Smsmith# define _F_setFlags(w,x,y,z) (_F_getFlags(w,x,y) = (z)) 21365312Smsmith/* Other accesses that are simpler */ 21496554Sobrien# define _F_get1bit(w,x,y,z) ((U8)((w)->z)) 21596554Sobrien# define _F_set1bit(w,x,y,z,u) ((w)->z = (u)) 21696554Sobrien# define _F_get1bit1(w,x,y,z) ((U8)((w)->z)) 21796554Sobrien# define _F_set1bit1(w,x,y,z,u) ((w)->z = (u)) 21896554Sobrien# define _F_get4bit4(w,x,y,z) ((U8)((w)->z)) 21996554Sobrien# define _F_set4bit4(w,x,y,z,u) ((w)->z = (u)) 22096554Sobrien# define _F_get8bit(w,x,y,z) ((U8)((w)->z)) 22196554Sobrien# define _F_set8bit(w,x,y,z,u) ((w)->z = (u)) 22296554Sobrien# define _F_get12bit(w,x,y,z) ((U16)((w)->z)) 22396554Sobrien# define _F_set12bit(w,x,y,z,u) ((w)->z = (u)) 22496554Sobrien# define _F_get12bit4(w,x,y,z) ((U16)((w)->z)) 22565312Smsmith# define _F_set12bit4(w,x,y,z,u) ((w)->z = (u)) 22696554Sobrien# define _F_get16bit(w,x,y,z) ((U16)((w)->z)) 22796554Sobrien# define _F_set16bit(w,x,y,z,u) ((w)->z = (u)) 22865312Smsmith#elif (defined(_DPT_BIG_ENDIAN)) 22965312Smsmith/* First 12 bits */ 23065312Smsmith# define _F_getTID(w,x,y) getL12bit(w,x,0) 23165312Smsmith# define _F_setTID(w,x,y,z) setL12bit(w,x,0,z) 23265312Smsmith# define _F_getTID1(w,x,y) getL12bit1(w,x,0) 23365312Smsmith# define _F_setTID1(w,x,y,z) setL12bit1(w,x,0,z) 23465312Smsmith# define _F_getFunc(w,x,y) getL8bit(w,x,3) 23565312Smsmith# define _F_setFunc(w,x,y,z) setL8bit(w,x,3,z) 23665312Smsmith# define _F_getCount(w,x,y) getL24bit1(w,x,0) 23765312Smsmith# define _F_setCount(w,x,y,z) setL24bit1(w,x,0,z) 23865312Smsmith# define _F_getFlags(w,x,y) getL8bit(w,x,3) 23965312Smsmith# define _F_setFlags(w,x,y,z) setL8bit(w,x,3,z) 24065312Smsmith/* Other accesses that are simpler */ 24196554Sobrien# define _F_get1bit(w,x,y,z) getL1bit(w,x,y) 24296554Sobrien# define _F_set1bit(w,x,y,z,u) setL1bit(w,x,y,u) 24396554Sobrien# define _F_get1bit1(w,x,y,z) getL1bit1(w,x,y) 24496554Sobrien# define _F_set1bit1(w,x,y,z,u) setL1bit1(w,x,y,u) 24596554Sobrien# define _F_get4bit4(w,x,y,z) getL4bit(w,x,y) 24696554Sobrien# define _F_set4bit4(w,x,y,z,u) setL4bit(w,x,y,u) 24796554Sobrien# define _F_get8bit(w,x,y,z) getL8bit(w,x,y) 24896554Sobrien# define _F_set8bit(w,x,y,z,u) setL8bit(w,x,y,u) 24996554Sobrien# define _F_get12bit(w,x,y,z) getL12bit(w,x,y) 25096554Sobrien# define _F_set12bit(w,x,y,z,u) setL12bit(w,x,y,z) 25196554Sobrien# define _F_get12bit4(w,x,y,z) getL12bit1(w,x,(y)-1) 25265312Smsmith# define _F_set12bit4(w,x,y,z,u) setL12bit1(w,x,(y)-1,u) 25396554Sobrien# define _F_get16bit(w,x,y,z) getL16bit(w,x,y) 25496554Sobrien# define _F_set16bit(w,x,y,z,u) setL16bit(w,x,y,u) 25565312Smsmith#else 25665312Smsmith# define _F_getTID(w,x,y) ((U16)((w)->y)) 25765312Smsmith# define _F_setTID(w,x,y,z) ((w)->y = (z)) 25865312Smsmith# define _F_getTID1(w,x,y) ((U16)((w)->y)) 25965312Smsmith# define _F_setTID1(w,x,y,z) ((w)->y = (z)) 26065312Smsmith# define _F_getFunc(w,x,y) ((U8)((w)->y)) 26165312Smsmith# define _F_setFunc(w,x,y,z) ((w)->y = (z)) 26265312Smsmith# define _F_getCount(w,x,y) ((U32)((w)->y)) 26365312Smsmith# define _F_setCount(w,x,y,z) ((w)->y = (z)) 26465312Smsmith# define _F_getFlags(w,x,y) ((U8)((w)->y)) 26565312Smsmith# define _F_setFlags(w,x,y,z) ((w)->y = (z)) 26696554Sobrien# define _F_get1bit(w,x,y,z) ((U8)((w)->z)) 26796554Sobrien# define _F_set1bit(w,x,y,z,u) ((w)->z = (u)) 26896554Sobrien# define _F_get1bit1(w,x,y,z) ((U8)((w)->z)) 26996554Sobrien# define _F_set1bit1(w,x,y,z,u) ((w)->z = (u)) 27096554Sobrien# define _F_get4bit4(w,x,y,z) ((U8)((w)->z)) 27196554Sobrien# define _F_set4bit4(w,x,y,z,u) ((w)->z = (u)) 27296554Sobrien# define _F_get8bit(w,x,y,z) ((U8)((w)->z)) 27396554Sobrien# define _F_set8bit(w,x,y,z,u) ((w)->z = (u)) 27496554Sobrien# define _F_get12bit(w,x,y,z) ((U16)((w)->z)) 27596554Sobrien# define _F_set12bit(w,x,y,z,u) ((w)->z = (u)) 27696554Sobrien# define _F_get12bit4(w,x,y,z) ((U16)((w)->z)) 27765312Smsmith# define _F_set12bit4(w,x,y,z,u) ((w)->z = (u)) 27896554Sobrien# define _F_get16bit(w,x,y,z) ((U16)((w)->z)) 27996554Sobrien# define _F_set16bit(w,x,y,z,u) ((w)->z = (u)) 28065312Smsmith#endif 28165312Smsmith 28265312Smsmith/* 28396554Sobrien * Define some specific portability macros 28496554Sobrien * These macros follow the following parameterization: 28596554Sobrien * XXX_getYYY (pointer) 28696554Sobrien * XXX_setYYY (pointer, newValue) 28796554Sobrien * These parameters are shortened to x and y to reduce clutter. 28865312Smsmith */ 28965312Smsmith 29065312Smsmith/* 29165312Smsmith * General SGE 29265312Smsmith */ 29396615Sobrien#define I2O_FLAGS_COUNT_getCount(x) _F_getCount(x,Count,Count) 29496615Sobrien#define I2O_FLAGS_COUNT_setCount(x,y) _F_setCount(x,Count,Count,y) 29596615Sobrien#define I2O_FLAGS_COUNT_getFlags(x) _F_getFlags(x,Count,Flags) 29696615Sobrien#define I2O_FLAGS_COUNT_setFlags(x,y) _F_setFlags(x,Count,Flags,y) 29765312Smsmith 29865312Smsmith/* 29965312Smsmith * I2O_SGE_SIMPLE_ELEMENT 30065312Smsmith */ 30196615Sobrien#define I2O_SGE_SIMPLE_ELEMENT_getPhysicalAddress(x) \ 30296554Sobrien getLU4((&(x)->PhysicalAddress),0) 30396615Sobrien#define I2O_SGE_SIMPLE_ELEMENT_setPhysicalAddress(x,y) \ 30496554Sobrien setLU4((&(x)->PhysicalAddress),0,y) 30565312Smsmith/* 30665312Smsmith * I2O_SGE_LONG_TRANSACTION_ELEMENT 30765312Smsmith */ 30896615Sobrien#define I2O_SGE_LONG_TRANSACTION_ELEMENT_getLongElementLength(x)\ 30996554Sobrien _F_getCount(x,LongElementLength,LongElementLength) 31096615Sobrien#define I2O_SGE_LONG_TRANSACTION_ELEMENT_setLongElementLength(x,y)\ 31196554Sobrien _F_setCount(x,LongElementLength,LongElementLength,y) 31296615Sobrien#define I2O_SGE_LONG_TRANSACTION_ELEMENT_getFlags(x)\ 31396554Sobrien _F_getFlags(x,LongElementLength,Flags) 31496615Sobrien#define I2O_SGE_LONG_TRANSACTION_ELEMENT_setFlags(x,y)\ 31596554Sobrien _F_setFlags(x,LongElementLength,Flags,y) 31665312Smsmith 31765312Smsmith/* 31865312Smsmith * I2O_SGE_LONG_TRANSPORT_ELEMENT 31965312Smsmith */ 32096615Sobrien#define I2O_SGE_LONG_TRANSPORT_ELEMENT_getLongElementLength(x)\ 32196554Sobrien _F_getCount(x,LongElementLength,LongElementLength) 32296615Sobrien#define I2O_SGE_LONG_TRANSPORT_ELEMENT_setLongElementLength(x,y)\ 32396554Sobrien _F_setCount(x,LongElementLength,LongElementLength,y) 32496615Sobrien#define I2O_SGE_LONG_TRANSPORT_ELEMENT_getFlags(x)\ 32596554Sobrien _F_getFlags(x,LongElementLength,Flags) 32696615Sobrien#define I2O_SGE_LONG_TRANSPORT_ELEMENT_setFlags(x,y)\ 32796554Sobrien _F_setFlags(x,LongElementLength,Flags,y) 32865312Smsmith 32965312Smsmith/* 33065312Smsmith * I2O_EXEC_ADAPTER_ASSIGN_MESSAGE 33165312Smsmith */ 33296615Sobrien#define I2O_EXEC_ADAPTER_ASSIGN_MESSAGE_getDdmTID(x)\ 33396554Sobrien _F_getTID(x,DdmTID,DdmTID) 33496615Sobrien#define I2O_EXEC_ADAPTER_ASSIGN_MESSAGE_setDdmTID(x,y)\ 33596554Sobrien _F_setTID(x,DDdmTID,DdmTID,y) 33696615Sobrien#define I2O_EXEC_ADAPTER_ASSIGN_MESSAGE_getOperationFlags(x)\ 33796554Sobrien _F_getFunc(x,DdmTID,OperationFlags) 33896615Sobrien#define I2O_EXEC_ADAPTER_ASSIGN_MESSAGE_setOperationFlags(x,y)\ 33996554Sobrien _F_setFunc(x,DdmTID,OperationFlags,y) 34065312Smsmith 34165312Smsmith/* 34265312Smsmith * I2O_EXEC_BIOS_INFO_SET_MESSAGE 34365312Smsmith */ 34496615Sobrien#define I2O_EXEC_BIOS_INFO_SET_MESSAGE_getDeviceTID(x)\ 34596554Sobrien _F_getTID(x,DeviceTID,DeviceTID) 34696615Sobrien#define I2O_EXEC_BIOS_INFO_SET_MESSAGE_setDeviceTID(x,y)\ 34796554Sobrien _F_setTID(x,DeviceTID,DeviceTID,y) 34896615Sobrien#define I2O_EXEC_BIOS_INFO_SET_MESSAGE_getBiosInfo(x)\ 34996554Sobrien _F_getFunc(x,DeviceTID,BiosInfo) 35096615Sobrien#define I2O_EXEC_BIOS_INFO_SET_MESSAGE_setBiosInfo(x,y) \ 35196554Sobrien _F_setFunc(x,DeviceTID,BiosInfo,y) 35265312Smsmith 35365312Smsmith/* 35465312Smsmith * I2O_ALIAS_CONNECT_SETUP 35565312Smsmith */ 35696615Sobrien#define I2O_ALIAS_CONNECT_SETUP_getIOP1AliasForTargetDevice(x)\ 35796554Sobrien _F_getTID(x,IOP1AliasForTargetDevice,IOP1AliasForTargetDevice) 35896615Sobrien#define I2O_ALIAS_CONNECT_SETUP_setIOP1AliasForTargetDevice(x,y)\ 35996554Sobrien _F_setTID(x,IOP1AliasForTargetDevice,IOP1AliasForTargetDevice,y) 36096615Sobrien#define I2O_ALIAS_CONNECT_SETUP_getIOP2AliasForInitiatorDevice(x)\ 36196554Sobrien _F_getTID1(x,IOP1AliasForTargetDevice,IOP2AliasForInitiatorDevice) 36296615Sobrien#define I2O_ALIAS_CONNECT_SETUP_setIOP2AliasForInitiatorDevice(x,y)\ 36396554Sobrien _F_setTID1(x,IOP1AliasForTargetDevice,IOP2AliasForInitiatorDevice,y) 36465312Smsmith 36565312Smsmith/* 36665312Smsmith * I2O_OBJECT_CONNECT_SETUP 36765312Smsmith */ 36896615Sobrien#define I2O_OBJECT_CONNECT_SETUP_getTargetDevice(x)\ 36996554Sobrien _F_getTID(x,TargetDevice,TargetDevice) 37096615Sobrien#define I2O_OBJECT_CONNECT_SETUP_setTargetDevice(x,y)\ 37196554Sobrien _F_setTID(x,TargetDevice,TargetDevice,y) 37296615Sobrien#define I2O_OBJECT_CONNECT_SETUP_getInitiatorDevice(x)\ 37396554Sobrien _F_getTID1(x,TargetDevice,InitiatorDevice) 37496615Sobrien#define I2O_OBJECT_CONNECT_SETUP_setInitiatorDevice(x,y)\ 37596554Sobrien _F_setTID1(x,TargetDevice,InitiatorDevice,y) 37696615Sobrien#define I2O_OBJECT_CONNECT_SETUP_getOperationFlags(x)\ 37796554Sobrien _F_getFunc(x,TargetDevice,OperationFlags) 37896615Sobrien#define I2O_OBJECT_CONNECT_SETUP_setOperationFlags(x,y)\ 37996554Sobrien _F_setFunc(x,TargetDevice,OperationFlags,y) 38065312Smsmith 38165312Smsmith/* 38265312Smsmith * I2O_OBJECT_CONNECT_REPLY 38365312Smsmith */ 38496615Sobrien#define I2O_OBJECT_CONNECT_REPLY_getTargetDevice(x)\ 38596554Sobrien _F_getTID(x,TargetDevice,TargetDevice) 38696615Sobrien#define I2O_OBJECT_CONNECT_REPLY_setTargetDevice(x,y)\ 38796554Sobrien _F_setTID(x,TargetDevice,TargetDevice,y) 38896615Sobrien#define I2O_OBJECT_CONNECT_REPLY_getInitiatorDevice(x)\ 38996554Sobrien _F_getTID1(x,TargetDevice,InitiatorDevice) 39096615Sobrien#define I2O_OBJECT_CONNECT_REPLY_setInitiatorDevice(x,y)\ 39196554Sobrien _F_setTID1(x,TargetDevice,InitiatorDevice,y) 39296615Sobrien#define I2O_OBJECT_CONNECT_REPLY_getReplyStatusCode(x)\ 39396554Sobrien _F_getFunc(x,TargetDevice,ReplyStatusCode) 39496615Sobrien#define I2O_OBJECT_CONNECT_REPLY_setReplyStatusCode(x,y)\ 39596554Sobrien _F_setFunc(x,TargetDevice,ReplyStatusCode,y) 39665312Smsmith 39765312Smsmith/* 39865312Smsmith * I2O_EXEC_DEVICE_ASSIGN_MESSAGE 39965312Smsmith */ 40096615Sobrien#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_getDeviceTID(x)\ 40196554Sobrien _F_getTID(x,Object.DeviceTID,Object.DeviceTID) 40296615Sobrien#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_setDeviceTID(x,y)\ 40396554Sobrien _F_setTID(x,Object.DeviceTID,Object.DeviceTID,y) 40496615Sobrien#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_getIOP_ID(x)\ 40596554Sobrien _F_getTID1(x,Object.DeviceTID,Object.IOP_ID) 40696615Sobrien#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_setIOP_ID(x,y)\ 40796554Sobrien _F_setTID1(x,Object.DeviceTID,Object.IOP_ID,y) 40896615Sobrien#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_getOperationFlags(x)\ 40996554Sobrien _F_getFunc(x,Object.DeviceTID,Object.OperationFlags) 41096615Sobrien#define I2O_EXEC_DEVICE_ASSIGN_MESSAGE_setOperationFlags(x,y)\ 41196554Sobrien _F_setFunc(x,Object.DeviceTID,Object.OperationFlags,y) 41265312Smsmith 41365312Smsmith/* 41465312Smsmith * I2O_EXEC_DEVICE_RELEASE_MESSAGE 41565312Smsmith */ 41696615Sobrien#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_getDeviceTID(x)\ 41796554Sobrien _F_getTID(x,Object.DeviceTID,Object.DeviceTID) 41896615Sobrien#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_setDeviceTID(x,y)\ 41996554Sobrien _F_setTID(x,Object.DeviceTID,Object.DeviceTID,y) 42096615Sobrien#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_getIOP_ID(x)\ 42196554Sobrien _F_getTID1(x,Object.DeviceTID,Object.IOP_ID) 42296615Sobrien#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_setIOP_ID(x,y)\ 42396554Sobrien _F_setTID1(x,Object.DeviceTID,Object.IOP_ID,y) 42496615Sobrien#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_getOperationFlags(x)\ 42596554Sobrien _F_getFunc(x,Object.DeviceTID,Object.OperationFlags) 42696615Sobrien#define I2O_EXEC_DEVICE_RELEASE_MESSAGE_setOperationFlags(x,y)\ 42796554Sobrien _F_setFunc(x,Object.DeviceTID,Object.OperationFlags,y) 42865312Smsmith 42965312Smsmith/* 43065312Smsmith * I2O_EXEC_IOP_RESET_MESSAGE 43165312Smsmith */ 43296615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_getTargetAddress(x)\ 43396554Sobrien _F_getTID(x,TargetAddress,TargetAddress) 43496615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_setTargetAddress(x,y)\ 43596554Sobrien _F_setTID(x,TargetAddress,TargetAddress,y) 43696615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_getInitiatorAddress(x)\ 43796554Sobrien _F_getTID1(x,TargetAddress,InitiatorAddress) 43896615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_setInitiatorAddress(x,y)\ 43996554Sobrien _F_setTID1(x,TargetAddress,InitiatorAddress,y) 44096615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_getFunction(x)\ 44196554Sobrien _F_getFunc(x,TargetAddress,Function) 44296615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_setFunction(x,y)\ 44396554Sobrien _F_setFunc(x,TargetAddress,Function,y) 44496615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_getVersionOffset(x)\ 44596554Sobrien getU1((&(x)->VersionOffset),0) 44696615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_setVersionOffset(x,y)\ 44796554Sobrien setU1((&(x)->VersionOffset),0,y) 44896615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_getMsgFlags(x)\ 44996554Sobrien getU1((&(x)->VersionOffset),1) 45096615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_setMsgFlags(x,y)\ 45196554Sobrien setU1((&(x)->VersionOffset),1,y) 45296615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_getMessageSize(x)\ 45396554Sobrien getLU2((&(x)->VersionOffset),2) 45496615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_setMessageSize(x,y)\ 45596554Sobrien setLU2((&(x)->VersionOffset),2,y) 45696615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_getStatusWordLowAddress(x)\ 45796554Sobrien getLU4((&(x)->StatusWordLowAddress),0) 45896615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_setStatusWordLowAddress(x,y)\ 45996554Sobrien setLU4((&(x)->StatusWordLowAddress),0,y) 46096615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_getStatusWordHighAddress(x)\ 46196554Sobrien getLU4((&(x)->StatusWordHighAddress),0) 46296615Sobrien#define I2O_EXEC_IOP_RESET_MESSAGE_setStatusWordHighAddress(x,y)\ 46396554Sobrien setLU4((&(x)->StatusWordHighAddress),0,y) 46465312Smsmith 46565312Smsmith 46665312Smsmith/* 46765312Smsmith * I2O_EXEC_STATUS_GET_MESSAGE 46865312Smsmith */ 46996615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getVersionOffset(x)\ 47096554Sobrien getU1((&(x)->VersionOffset),0) 47196615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setVersionOffset(x,y)\ 47296554Sobrien setU1((&(x)->VersionOffset),0,y) 47396615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getMsgFlags(x)\ 47496554Sobrien getU1((&(x)->VersionOffset),1) 47596615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setMsgFlags(x,y)\ 47696554Sobrien setU1((&(x)->VersionOffset),1,y) 47796615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getMessageSize(x)\ 47896554Sobrien getLU2((&(x)->VersionOffset),2) 47996615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setMessageSize(x,y)\ 48096554Sobrien setLU2((&(x)->VersionOffset),2,y) 48196615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getReplyBufferAddressLow(x)\ 48296554Sobrien getLU4((&(x)->ReplyBufferAddressLow),0) 48396615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setReplyBufferAddressLow(x,y)\ 48496554Sobrien setLU4((&(x)->ReplyBufferAddressLow),0,y) 48596615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getReplyBufferAddressHigh(x)\ 48696554Sobrien getLU4((&(x)->ReplyBufferAddressHigh),0) 48796615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setReplyBufferAddressHigh(x,y)\ 48896554Sobrien setLU4((&(x)->ReplyBufferAddressHigh),0,y) 48996615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getReplyBufferLength(x)\ 49096554Sobrien getLU4((&(x)->ReplyBufferLength),0) 49196615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setReplyBufferLength(x,y)\ 49296554Sobrien setLU4((&(x)->ReplyBufferLength),0,y) 49396615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getTargetAddress(x)\ 49496554Sobrien _F_getTID(x,TargetAddress,TargetAddress) 49596615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setTargetAddress(x,y)\ 49696554Sobrien _F_setTID(x,TargetAddress,TargetAddress,y) 49796615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getInitiatorAddress(x)\ 49896554Sobrien _F_getTID1(x,TargetAddress,InitiatorAddress) 49996615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setInitiatorAddress(x,y)\ 50096554Sobrien _F_setTID1(x,TargetAddress,InitiatorAddress,y) 50196615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_getFunction(x)\ 50296554Sobrien _F_getFunc(x,TargetAddress,Function) 50396615Sobrien#define I2O_EXEC_STATUS_GET_MESSAGE_setFunction(x,y)\ 50496554Sobrien _F_setFunc(x,TargetAddress,Function,y) 50565312Smsmith 50665312Smsmith/* 50765312Smsmith * I2O_MESSAGE_FRAME 50865312Smsmith */ 50996615Sobrien#define I2O_MESSAGE_FRAME_getVersionOffset(x)\ 51096554Sobrien getU1((&((x)->VersionOffset)),0) 51196615Sobrien#define I2O_MESSAGE_FRAME_setVersionOffset(x,y)\ 51296554Sobrien setU1(((&(x)->VersionOffset)),0,y) 51396615Sobrien#define I2O_MESSAGE_FRAME_getMsgFlags(x)\ 51496554Sobrien getU1((&((x)->VersionOffset)),1) 51596615Sobrien#define I2O_MESSAGE_FRAME_setMsgFlags(x,y)\ 51696554Sobrien setU1((&((x)->VersionOffset)),1,y) 51796615Sobrien#define I2O_MESSAGE_FRAME_getMessageSize(x)\ 51896554Sobrien getLU2((&((x)->VersionOffset)),2) 51996615Sobrien#define I2O_MESSAGE_FRAME_setMessageSize(x,y)\ 52096554Sobrien setLU2((&((x)->VersionOffset)),2,y) 52196615Sobrien#define I2O_MESSAGE_FRAME_getTargetAddress(x)\ 52296554Sobrien _F_getTID(x,TargetAddress,TargetAddress) 52396615Sobrien#define I2O_MESSAGE_FRAME_setTargetAddress(x,y)\ 52496554Sobrien _F_setTID(x,TargetAddress,TargetAddress,y) 52596615Sobrien#define I2O_MESSAGE_FRAME_getInitiatorAddress(x)\ 52696554Sobrien _F_getTID1(x,TargetAddress,InitiatorAddress) 52796615Sobrien#define I2O_MESSAGE_FRAME_setInitiatorAddress(x,y)\ 52896554Sobrien _F_setTID1(x,TargetAddress,InitiatorAddress,y) 52996615Sobrien#define I2O_MESSAGE_FRAME_getFunction(x)\ 53096554Sobrien _F_getFunc(x,TargetAddress,Function) 53196615Sobrien#define I2O_MESSAGE_FRAME_setFunction(x,y)\ 53296554Sobrien _F_setFunc(x,TargetAddress,Function,y) 53365312Smsmith/* 32 bit only for now */ 53496615Sobrien#define I2O_MESSAGE_FRAME_getInitiatorContext(x)\ 53596554Sobrien (x)->InitiatorContext 53696615Sobrien#define I2O_MESSAGE_FRAME_setInitiatorContext(x,y)\ 53796554Sobrien ((x)->InitiatorContext = (y)) 53865312Smsmith/* 53965312Smsmith * We are spilling the 64 bit Context field into the Transaction 54065312Smsmith * context of the specific frames. Synchronous commands (resetIop 54165312Smsmith * et al) do not have this field, so beware. Also, Failed Reply frames 54265312Smsmith * can not contain the 64 bit context, the software must reference 54365312Smsmith * the PreservedMFA and pick up the 64 bit context from the incoming 54465312Smsmith * message frame. The software must make no reference to the 54565312Smsmith * TransactionContext field at all. 54665312Smsmith */ 54765312Smsmith#if defined(_MSC_VER) && _MSC_VER >= 800 54865312Smsmith#ifndef u_int64_t 54996615Sobrien#define u_int64_t unsigned __int64 55065312Smsmith#endif 55165312Smsmith#endif 55296615Sobrien#define I2O_MESSAGE_FRAME_getInitiatorContext64(x)\ 55365312Smsmith (*((u_int64_t *)(&((x)->InitiatorContext)))) 55496615Sobrien#define I2O_MESSAGE_FRAME_setInitiatorContext64(x,y)\ 55565312Smsmith ((*((u_int64_t *)(&((x)->InitiatorContext))))=(y)) 55665312Smsmith 55765312Smsmith/* 55865312Smsmith * I2O_EXEC_OUTBOUND_INIT_MESSAGE 55965312Smsmith */ 56096615Sobrien#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_getHostPageFrameSize(x)\ 56196554Sobrien getLU4((&(x)->HostPageFrameSize),0) 56296615Sobrien#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_setHostPageFrameSize(x,y)\ 56396554Sobrien setLU4((&(x)->HostPageFrameSize),0,y) 56496615Sobrien#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_getInitCode(x)\ 56596554Sobrien getU1((&(x)->InitCode),0) 56696615Sobrien#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_setInitCode(x,y)\ 56796554Sobrien setU1((&(x)->InitCode),0,y) 56896615Sobrien#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_getreserved(x)\ 56996554Sobrien getU1((&(x)->reserved),0) 57096615Sobrien#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_setreserved(x,y)\ 57196554Sobrien setU1((&(x)->reserved),0,y) 57296615Sobrien#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_getOutboundMFrameSize(x)\ 57396554Sobrien getLU2((&(x)->OutboundMFrameSize),0) 57496615Sobrien#define I2O_EXEC_OUTBOUND_INIT_MESSAGE_setOutboundMFrameSize(x,y)\ 57596554Sobrien setLU2((&(x)->OutboundMFrameSize),0,y) 57665312Smsmith 57765312Smsmith/* 57865312Smsmith * I2O_EXEC_SYS_TAB_SET_MESSAGE 57965312Smsmith */ 58096615Sobrien#define I2O_EXEC_SYS_TAB_SET_MESSAGE_getIOP_ID(x)\ 58196554Sobrien _F_get12bit(x,IOP_ID,IOP_ID) 58296615Sobrien#define I2O_EXEC_SYS_TAB_SET_MESSAGE_setIOP_ID(x,y)\ 58396554Sobrien _F_set12bit(x,IOP_ID,IOP_ID,y) 58496551Sobrien/* #define I2O_EXEC_SYS_TAB_SET_MESSAGE_getreserved1(x) */ 58596615Sobrien#define I2O_EXEC_SYS_TAB_SET_MESSAGE_getHostUnitID(x)\ 58696554Sobrien _F_get16bit(x,IOP_ID,2,HostUnitID) 58796615Sobrien#define I2O_EXEC_SYS_TAB_SET_MESSAGE_setHostUnitID(x,y)\ 58896554Sobrien _F_set16bit(x,IOP_ID,2,HostUnitID,y) 58996615Sobrien#define I2O_EXEC_SYS_TAB_SET_MESSAGE_getSegmentNumber(x)\ 59096554Sobrien _F_get12bit(x,SegmentNumber,SegmentNumber) 59196615Sobrien#define I2O_EXEC_SYS_TAB_SET_MESSAGE_setSegmentNumber(x,y)\ 59296554Sobrien _F_get12bit(x,SegmentNumber,SegmentNumber,y) 59365312Smsmith 59496554Sobrien/* later 59565312Smsmith * I2O_EXEC_SYS_ENABLE_MESSAGE 59665312Smsmith */ 59765312Smsmith 59865312Smsmith/* 59965312Smsmith * I2O_CLASS_ID 60065312Smsmith */ 60196615Sobrien#define I2O_CLASS_ID_getClass(x)\ 60296554Sobrien _F_get12bit(x,Class,0,Class) 60396615Sobrien#define I2O_CLASS_ID_setClass(x,y)\ 60496554Sobrien _F_set12bit(x,Class,0,Class,y) 60596615Sobrien#define I2O_CLASS_ID_getVersion(x)\ 60696554Sobrien _F_get4bit4(x,Class,1,Version) 60796615Sobrien#define I2O_CLASS_ID_setVersion(x,y)\ 60896554Sobrien _F_set4bit4(x,Class,1,Version,y) 60996615Sobrien#define I2O_CLASS_ID_getOrganizationID(x)\ 61096554Sobrien _F_get16bit(x,Class,2,OrganizationID) 61196615Sobrien#define I2O_CLASS_ID_setOrganizationID(x,y)\ 61296554Sobrien _F_set16bit(x,Class,2,OrganizationID,y) 61365312Smsmith 61465312Smsmith/* 61565312Smsmith * I2O_SET_SYSTAB_HEADER 61665312Smsmith */ 61796615Sobrien#define I2O_SET_SYSTAB_HEADER_getNumberEntries(x)\ 61896554Sobrien getU1((&((x)->NumberEntries)),0) 61996615Sobrien#define I2O_SET_SYSTAB_HEADER_setNumberEntries(x,y)\ 62096554Sobrien setU1((&(x)->NumberEntries),0,y) 62196615Sobrien#define I2O_SET_SYSTAB_HEADER_getSysTabVersion(x)\ 62296554Sobrien getU1((&((x)->SysTabVersion)),0) 62396615Sobrien#define I2O_SET_SYSTAB_HEADER_setSysTabVersion(x,y)\ 62496554Sobrien setU1((&(x)->SysTabVersion),0,y) 62565312Smsmith/* U16 reserved */ 62665312Smsmith/* U32 CurrentChangeIndicator */ 62765312Smsmith 62865312Smsmith 62965312Smsmith 63065312Smsmith 63165312Smsmith/* 63265312Smsmith * I2O_IOP_ENTRY 63365312Smsmith */ 63496615Sobrien#define I2O_IOP_ENTRY_getOrganizationID(x)\ 63596554Sobrien getLU2((&((x)->OrganizationID)),0) 63696615Sobrien#define I2O_IOP_ENTRY_setOrganizationID(x,y)\ 63796554Sobrien setLU2((&((x)->OrganizationID)),0,y) 63896551Sobrien/* #define I2O_IOP_ENTRY_getreserved U16; */ 63996615Sobrien#define I2O_IOP_ENTRY_getIOP_ID(x)\ 64096554Sobrien _F_get12bit(x,IOP_ID,0,IOP_ID) 64196615Sobrien#define I2O_IOP_ENTRY_setIOP_ID(x,y)\ 64296554Sobrien _F_set12bit(x,IOP_ID,0,IOP_ID,y) 64396554Sobrien/* BF reserved3:I2O_RESERVED_4BITS; */ 64496554Sobrien/* BF reserved1:I2O_RESERVED_16BITS; */ 64596615Sobrien#define I2O_IOP_ENTRY_getSegmentNumber(x)\ 64696554Sobrien _F_get12bit(x,SegmentNumber,0,SegmentNumber) 64796615Sobrien#define I2O_IOP_ENTRY_setSegmentNumber(x,y)\ 64896554Sobrien _F_set12bit(x,SegmentNumber,0,SegmentNumber,y) 64996615Sobrien#define I2O_IOP_ENTRY_getI2oVersion(x)\ 65096554Sobrien _F_get4bit4(x,SegmentNumber,1,I2oVersion) 65196615Sobrien#define I2O_IOP_ENTRY_setI2oVersion(x,y)\ 65296554Sobrien _F_set4bit4(x,SegmentNumber,1,I2oVersion,y) 65396615Sobrien#define I2O_IOP_ENTRY_getIopState(x)\ 65496554Sobrien _F_get8bit(x,SegmentNumber,2,IopState) 65596615Sobrien#define I2O_IOP_ENTRY_setIopState(x,y)\ 65696554Sobrien _F_set8bit(x,SegmentNumber,2,IopState,y) 65796615Sobrien#define I2O_IOP_ENTRY_getMessengerType(x)\ 65896554Sobrien _F_get8bit(x,SegmentNumber,3,MessengerType) 65996615Sobrien#define I2O_IOP_ENTRY_setMessengerType(x,y)\ 66096554Sobrien _F_set8bit(x,SegmentNumber,3,MessengerType,y) 66196615Sobrien#define I2O_IOP_ENTRY_getInboundMessageFrameSize(x)\ 66296554Sobrien getLU2((&((x)->InboundMessageFrameSize)),0) 66396615Sobrien#define I2O_IOP_ENTRY_setInboundMessageFrameSize(x,y)\ 66496554Sobrien setLU2((&((x)->InboundMessageFrameSize)),0,y) 66596615Sobrien#define I2O_IOP_ENTRY_getreserved2(x)\ 66696554Sobrien getLU2((&((x)->reserved2)),0) 66796615Sobrien#define I2O_IOP_ENTRY_setreserved2(x,y)\ 66896554Sobrien setLU2((&((x)->reserved2)),0,y) 66996615Sobrien#define I2O_IOP_ENTRY_getLastChanged(x)\ 67096554Sobrien getLU4((&((x)->LastChanged)),0) 67196615Sobrien#define I2O_IOP_ENTRY_setLastChanged(x,y)\ 67296554Sobrien setLU4((&((x)->LastChanged)),0,y) 67396615Sobrien#define I2O_IOP_ENTRY_getIopCapabilities(x)\ 67496554Sobrien getLU4((&((x)->IopCapabilities)),0) 67596615Sobrien#define I2O_IOP_ENTRY_setIopCapabilities(x,y)\ 67696554Sobrien setLU4((&((x)->IopCapabilities)),0,y) 67765312Smsmith 67865312Smsmith/* might want to declare I2O_MESSENGER_INFO struct */ 67965312Smsmith 68096615Sobrien#define I2O_IOP_ENTRY_getInboundMessagePortAddressLow(x)\ 68196554Sobrien getLU4((&((x)->MessengerInfo.InboundMessagePortAddressLow)),0) 68296615Sobrien#define I2O_IOP_ENTRY_setInboundMessagePortAddressLow(x,y)\ 68396554Sobrien setLU4((&((x)->MessengerInfo.InboundMessagePortAddressLow)),0,y) 68465312Smsmith 68596615Sobrien#define I2O_IOP_ENTRY_getInboundMessagePortAddressHigh(x)\ 68696554Sobrien getLU4((&((x)->MessengerInfo.InboundMessagePortAddressHigh)),0) 68796615Sobrien#define I2O_IOP_ENTRY_setInboundMessagePortAddressHigh(x,y)\ 68896554Sobrien setLU4((&((x)->MessengerInfo.InboundMessagePortAddressHigh)),0,y) 68965312Smsmith 69065312Smsmith/* 69165312Smsmith * I2O_HRT 69265312Smsmith */ 69396615Sobrien#define I2O_HRT_getNumberEntries(x)\ 69496554Sobrien getLU2((&((x)->NumberEntries)),0) 69596615Sobrien#define I2O_HRT_setNumberEntries(x,y)\ 69696554Sobrien setLU2((&(x)->NumberEntries),0,y) 69796615Sobrien#define I2O_HRT_getEntryLength(x)\ 69896554Sobrien getU1((&(x)->EntryLength),0) 69996615Sobrien#define I2O_HRT_setEntryLength(x,y)\ 70096554Sobrien setU1((&(x)->EntryLength),0,y) 70196615Sobrien#define I2O_HRT_getHRTVersion(x)\ 70296554Sobrien getU1((&(x)->HRTVersion),0) 70396615Sobrien#define I2O_HRT_setHRTVersion(x,y)\ 70496554Sobrien setU1((&(x)->HRTVersion),0,y) 70596615Sobrien#define I2O_HRT_getCurrentChangeIndicator(x)\ 70696554Sobrien getLU4((&(x)->CurrentChangeIndicator),0) 70796615Sobrien#define I2O_HRT_setCurrentChangeIndicator(x,y)\ 70896554Sobrien setLU4((&(x)->CurrentChangeIndicator),0,y) 70996615Sobrien#define I2O_HRT_getHRTEntryPtr(x,y)\ 71096554Sobrien ((&((x)->HRTEntry[0+y]))) 71165312Smsmith 71265312Smsmith/* 71365312Smsmith * I2O_HRT_ENTRY 71465312Smsmith */ 71596615Sobrien#define I2O_HRT_ENTRY_getAdapterID(x)\ 71696554Sobrien getLU4((&((x)->AdapterID)),0) 71796615Sobrien#define I2O_HRT_ENTRY_setAdapterID(x,y)\ 71896554Sobrien setLU4((&(x)->AdapterID),0,y) 71996615Sobrien#define I2O_HRT_ENTRY_getControllingTID(x)\ 72096554Sobrien _F_get12bit(x,ControllingTID,ControllingTID) 72196615Sobrien#define I2O_HRT_ENTRY_setControllingTID(x,y)\ 72296554Sobrien _F_set12bit(x,ControllingTID,ControllingTID,y) 72396615Sobrien#define I2O_HRT_ENTRY_getAdapterState(x)\ 72496554Sobrien _F_get4bit4(x,ControllingTID,1,AdapterState) 72596615Sobrien#define I2O_HRT_ENTRY_setIAdapterState(x,y)\ 72696554Sobrien _F_set4bit4(x,ControllingTID,1,AdapterState,y) 72796615Sobrien#define I2O_HRT_ENTRY_getBusNumber(x)\ 72896554Sobrien _F_get8bit(x,ControllingTID,2,BusNumber) 72996615Sobrien#define I2O_HRT_ENTRY_setBusNumber(x,y)\ 73096554Sobrien _F_set8bit(x,ControllingTID,2,BusNumber,y) 73196615Sobrien#define I2O_HRT_ENTRY_getBusType(x)\ 73296554Sobrien _F_get8bit(x,ControllingTID,3,BusType) 73396615Sobrien#define I2O_HRT_ENTRY_setBusType(x,y)\ 73496554Sobrien _F_set8bit(x,ControllingTID,3,BusType,y) 73596615Sobrien#define I2O_HRT_ENTRY_getPCIBusPtr(x,y)\ 73696554Sobrien (&((x)->uBus.PCIBus)) 73765312Smsmith 73865312Smsmith/* 73965312Smsmith * I2O_LCT 74065312Smsmith */ 74196615Sobrien#define I2O_LCT_getTableSize(x)\ 74296554Sobrien _F_get16bit(x,TableSize,0,TableSize) 74396615Sobrien#define I2O_LCT_setTableSize(x,y)\ 74496554Sobrien _F_set16bit(x,TableSize,0,TableSize,y) 74596615Sobrien#define I2O_LCT_getBootDeviceTID(x)\ 74696554Sobrien _F_get12bit(x,TableSize,2,BootDeviceTID) 74796615Sobrien#define I2O_LCT_setBootDeviceTID(x,y)\ 74896554Sobrien _F_set12bit(x,TableSize,2,BootDeviceTID,y) 74996615Sobrien#define I2O_LCT_getLctVer(x)\ 75096554Sobrien _F_get4bit4(x,TableSize,3,LctVer) 75196615Sobrien#define I2O_LCT_setLctVer(x,y)\ 75296554Sobrien _F_set4bit4(x,TableSize,3,LctVer,y) 75396615Sobrien#define I2O_LCT_getIopFlags(x)\ 75496554Sobrien getLU4((&(x)->IopFlags),0) 75596615Sobrien#define I2O_LCT_setIopFlags(x,y)\ 75696554Sobrien setLU4((&(x)->IopFlags),0,y) 75796615Sobrien#define I2O_LCT_getCurrentChangeIndicator(x)\ 75896554Sobrien getLU4((&(x)->CurrentChangeIndicator),0) 75996615Sobrien#define I2O_LCT_setCurrentChangeIndicator(x,y)\ 76096554Sobrien setLU4((&(x)->CurrentChangeIndicator),0,y) 76196615Sobrien#define I2O_LCT_getLCTEntryPtr(x,y)\ 76296554Sobrien (&((x)->LCTEntry[0+y])) 76365312Smsmith 76465312Smsmith/* 76565312Smsmith * I2O_LCT_ENTRY 76665312Smsmith */ 76796615Sobrien#define I2O_LCT_ENTRY_getTableEntrySize(x)\ 76896554Sobrien _F_get16bit(x,TableEntrySize,0,TableEntrySize) 76996615Sobrien#define I2O_LCT_ENTRY_setTableEntrySize(x,y)\ 77096554Sobrien _F_set16bit(x,TableEntrySize,0,TableEntrySize,y) 77196615Sobrien#define I2O_LCT_ENTRY_getLocalTID(x)\ 77296554Sobrien _F_get12bit(x,TableEntrySize,2,LocalTID) 77396615Sobrien#define I2O_LCT_ENTRY_setLocalTID(x,y)\ 77496554Sobrien _F_set12bit(x,TableEntrySize,2,LocalTID,y) 77596554Sobrien/* BF 4 reserved:I2O_4BIT_VERSION_SZ; */ 77696615Sobrien#define I2O_LCT_ENTRY_getChangeIndicator(x)\ 77796554Sobrien getLU4((&(x)->ChangeIndicator),0) 77896615Sobrien#define I2O_LCT_ENTRY_setChangeIndicator(x,y)\ 77996554Sobrien setLU4((&(x)->ChangeIndicator),0,y) 78096615Sobrien#define I2O_LCT_ENTRY_getDeviceFlags(x)\ 78196554Sobrien getLU4((&(x)->DeviceFlags),0) 78296615Sobrien#define I2O_LCT_ENTRY_setDeviceFlags(x,y)\ 78396554Sobrien setLU4((&(x)->DeviceFlags),0,y) 78496615Sobrien#define I2O_LCT_ENTRY_getClassIDPtr(x)\ 78596554Sobrien (&((x)->ClassID)) 78696615Sobrien#define I2O_LCT_ENTRY_getSubClassInfo(x)\ 78796554Sobrien getLU4((&(x)->SubClassInfo),0) 78896615Sobrien#define I2O_LCT_ENTRY_setSubClassInfo(x,y)\ 78996554Sobrien setLU4((&(x)->SubClassInfo),0,y) 79096615Sobrien#define I2O_LCT_ENTRY_getUserTID(x)\ 79196554Sobrien _F_getTID(x,UserTID,UserTID) 79296615Sobrien#define I2O_LCT_ENTRY_setUserTID(x,y)\ 79396554Sobrien _F_setTID(x,UserTID,UserTID,y) 79496615Sobrien#define I2O_LCT_ENTRY_getParentTID(x)\ 79596554Sobrien _F_getTID1(x,UserTID,ParentTID) 79696615Sobrien#define I2O_LCT_ENTRY_setParentTID(x,y)\ 79796554Sobrien _F_getTID1(x,UserTID,ParentTID,y) 79896615Sobrien#define I2O_LCT_ENTRY_getBiosInfo(x)\ 79996554Sobrien _F_getFunc(x,UserTID,BiosInfo) 80096615Sobrien#define I2O_LCT_ENTRY_setBiosInfo(x,y)\ 80196554Sobrien _F_setFunc(x,UserTID,BiosInfo,y) 80296554Sobrien/* 2 ulong U8 8 IdentityTag[I2O_IDENTITY_TAG_SZ]; */ 80396615Sobrien#define I2O_LCT_ENTRY_getEventCapabilities(x)\ 80496554Sobrien getLU4((&(x)->EventCapabilities),0) 80596615Sobrien#define I2O_LCT_ENTRY_setEventCapabilities(x,y)\ 80696554Sobrien setLU4((&(x)->EventCapabilities),0,y) 80765312Smsmith 80865312Smsmith/* 80965312Smsmith * I2O_PARAM_OPERATIONS_LIST_HEADER 81065312Smsmith */ 81196615Sobrien#define I2O_PARAM_OPERATIONS_LIST_HEADER_getOperationCount(x)\ 81296554Sobrien getLU2((&(x)->OperationCount),0) 81396615Sobrien#define I2O_PARAM_OPERATIONS_LIST_HEADER_setOperationCount(x,y)\ 81496554Sobrien setLU2((&(x)->OperationCount),0,y) 81596615Sobrien#define I2O_PARAM_OPERATIONS_LIST_HEADER_getReserved(x)\ 81696554Sobrien getLU2((&(x)->Reserved),0) 81796615Sobrien#define I2O_PARAM_OPERATIONS_LIST_HEADER_setReserved(x,y)\ 81896554Sobrien setLU2((&(x)->Reserved),0,y) 81965312Smsmith 82065312Smsmith/* 82165312Smsmith * I2O_PARAM_OPERATION_ALL_TEMPLATE 82265312Smsmith */ 82396615Sobrien#define I2O_PARAM_OPERATION_ALL_TEMPLATE_getOperation(x)\ 82496554Sobrien getLU2((&(x)->Operation),0) 82596615Sobrien#define I2O_PARAM_OPERATION_ALL_TEMPLATE_setOperation(x,y)\ 82696554Sobrien setLU2((&(x)->Operation),0,y) 82796615Sobrien#define I2O_PARAM_OPERATION_ALL_TEMPLATE_getGroupNumber(x)\ 82896554Sobrien getLU2((&(x)->GroupNumber),0) 82996615Sobrien#define I2O_PARAM_OPERATION_ALL_TEMPLATE_setGroupNumber(x,y)\ 83096554Sobrien setLU2((&(x)->GroupNumber),0,y) 83196615Sobrien#define I2O_PARAM_OPERATION_ALL_TEMPLATE_getFieldCount(x)\ 83296554Sobrien getLU2((&(x)->FieldCount),0) 83396615Sobrien#define I2O_PARAM_OPERATION_ALL_TEMPLATE_setFieldCount(x,y)\ 83496554Sobrien setLU2((&(x)->FieldCount),0,y) 83565312Smsmith 83665312Smsmith/* 83765312Smsmith * I2O_PARAM_RESULTS_LIST_HEADER 83865312Smsmith */ 83996615Sobrien#define I2O_PARAM_RESULTS_LIST_HEADER_getResultCount(x)\ 84096554Sobrien getLU2((&(x)->ResultCount),0) 84196615Sobrien#define I2O_PARAM_RESULTS_LIST_HEADER_setResultCount(x,y)\ 84296554Sobrien setLU2((&(x)->ResultCount),0,y) 84396615Sobrien#define I2O_PARAM_RESULTS_LIST_HEADER_getReserved(x)\ 84496554Sobrien getLU2((&(x)->Reserved),0) 84596615Sobrien#define I2O_PARAM_RESULTS_LIST_HEADER_setReserved(x,y)\ 84696554Sobrien setLU2((&(x)->Reserved),0,y) 84765312Smsmith 84865312Smsmith/* later 84965312Smsmith * I2O_HBA_ADAPTER_RESET_MESSAGE 85065312Smsmith */ 85165312Smsmith 85265312Smsmith 85365312Smsmith/* LATER 85465312Smsmith * I2O_SCSI_DEVICE_RESET_MESSAGE 85565312Smsmith */ 85665312Smsmith 85765312Smsmith 85865312Smsmith/* LATER 85965312Smsmith * I2O_HBA_BUS_RESET_MESSAGE 86065312Smsmith */ 86165312Smsmith 86265312Smsmith 86365312Smsmith/* 86465312Smsmith * I2O_EXEC_LCT_NOTIFY_MESSAGE 86565312Smsmith */ 86696554Sobrien/* I2O_MESSAGE_FRAME StdMessageFrame; */ 86796554Sobrien/* I2O_TRANSACTION_CONTEXT TransactionContext; */ 86896615Sobrien#define I2O_EXEC_LCT_NOTIFY_MESSAGE_getClassIdentifier(x)\ 86996554Sobrien getLU4((&(x)->ClassIdentifier),0) 87096615Sobrien#define I2O_EXEC_LCT_NOTIFY_MESSAGE_setClassIdentifier(x,y)\ 87196554Sobrien setLU4((&(x)->ClassIdentifier),0,y) 87296615Sobrien#define I2O_EXEC_LCT_NOTIFY_MESSAGE_getLastReportedChangeIndicator(x)\ 87396554Sobrien getLU4((&(x)->LastReportedChangeIndicator),0) 87496615Sobrien#define I2O_EXEC_LCT_NOTIFY_MESSAGE_setLastReportedChangeIndicator(x,y)\ 87596554Sobrien setLU4((&(x)->LastReportedChangeIndicator),0,y) 87696554Sobrien/* I2O_SG_ELEMENT SGL; */ 87765312Smsmith 87865312Smsmith 87965312Smsmith 88065312Smsmith/* 88165312Smsmith * I2O_UTIL_PARAMS_GET_MESSAGE 88265312Smsmith */ 88396554Sobrien/* I2O_MESSAGE_FRAME StdMessageFrame; */ 88496554Sobrien/* I2O_TRANSACTION_CONTEXT TransactionContext; */ 88596615Sobrien#define I2O_UTIL_PARAMS_GET_MESSAGE_getOperationFlags(x)\ 88696554Sobrien getLU4((&(x)->OperationFlags),0) 88796615Sobrien#define I2O_UTIL_PARAMS_GET_MESSAGE_setOperationFlags(x,y)\ 88896554Sobrien setLU4((&(x)->OperationFlags),0,y) 88996554Sobrien/* I2O_SG_ELEMENT SGL; */ 89065312Smsmith 89165312Smsmith 89265312Smsmith/* 89365312Smsmith * I2O_SCSI_SCB_ABORT_MESSAGE 89465312Smsmith */ 89596615Sobrien#define I2O_SCSI_SCB_ABORT_MESSAGE_getStdMessageFramePtr(x)\ 89696554Sobrien (&((x)->StdMessageFrame)) 89796615Sobrien#define I2O_SCSI_SCB_ABORT_MESSAGE_getTransactionContext(x)\ 89896554Sobrien (x)->TransactionContext 89996615Sobrien#define I2O_SCSI_SCB_ABORT_MESSAGE_setTransactionContext(x,y)\ 90096554Sobrien ((x)->TransactionContext = (y)) 90196615Sobrien#define I2O_SCSI_SCB_ABORT_MESSAGE_getTransactionContextToAbort(x)\ 90296554Sobrien (x)->TransactionContextToAbort 90396615Sobrien#define I2O_SCSI_SCB_ABORT_MESSAGE_setTransactionContextToAbort(x,y)\ 90496554Sobrien ((x)->TransactionContextToAbort = (y)) 90565312Smsmith 90665312Smsmith 90765312Smsmith/* 90865312Smsmith * I2O_DPT_DEVICE_INFO_SCALAR 90965312Smsmith */ 91096615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_getDeviceType(x)\ 91196554Sobrien getU1((&(x)->DeviceType),0) 91296615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_setDeviceType(x,y)\ 91396554Sobrien setU1((&(x)->DeviceType),0,y) 91496615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_getFlags(x)\ 91596554Sobrien getU1((&(x)->Flags),0) 91696615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_setFlags(x,y)\ 91796554Sobrien setU1((&(x)->Flags),0,y) 91896615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_getBus(x)\ 91996554Sobrien getLU2((&(x)->Bus),0) 92096615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_setBus(x,y)\ 92196554Sobrien setLU2((&(x)->Bus),0,y) 92296615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_getIdentifier(x)\ 92396554Sobrien getLU4((&(x)->Identifier),0) 92496615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_setIdentifier(x,y)\ 92596554Sobrien setLU4((&(x)->Identifier),0,y) 92696554Sobrien/* U8 LunInfo[8]; *//* SCSI-2 8-bit scalar LUN goes into offset 1 */ 92796615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_getLunInfo(x)\ 92896554Sobrien getU1((&(x)->LunInfo[0]),1) 92996615Sobrien#define I2O_DPT_DEVICE_INFO_SCALAR_setLunInfo(x,y)\ 93096554Sobrien setU1((&(x)->LunInfo[0]),1,y) 93165312Smsmith 93265312Smsmith/* 93396554Sobrien * I2O_DPT_EXEC_IOP_BUFFERS_SCALAR 93465312Smsmith */ 93596615Sobrien#define I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialOutputOffset(x)\ 93696554Sobrien getLU4((&(x)->SerialOutputOffset),0) 93796615Sobrien#define I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialOutputSizet(x)\ 93896554Sobrien getLU4((&(x)->SerialOutputSize),0) 93996615Sobrien#define I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialHeaderSize(x)\ 94096554Sobrien getLU4((&(x)->SerialHeaderSize),0) 94196615Sobrien#define I2O_DPT_EXEC_IOP_BUFFERS_SCALAR_getSerialFlagsSupported(x)\ 94296554Sobrien getLU4((&(x)->SerialFlagsSupported),0) 94365312Smsmith 94465312Smsmith/* 94565312Smsmith * I2O_PRIVATE_MESSAGE_FRAME 94665312Smsmith */ 94765312Smsmith/* typedef struct _I2O_PRIVATE_MESSAGE_FRAME { */ 94896554Sobrien/* I2O_MESSAGE_FRAME StdMessageFrame; */ 94996554Sobrien/* I2O_TRANSACTION_CONTEXT TransactionContext; */ 95096554Sobrien/* U16 XFunctionCode; */ 95196554Sobrien/* U16 OrganizationID; */ 95296554Sobrien/* PrivatePayload[]; */ 95365312Smsmith/* } I2O_PRIVATE_MESSAGE_FRAME, *PI2O_PRIVATE_MESSAGE_FRAME; */ 95496615Sobrien#define I2O_PRIVATE_MESSAGE_FRAME_getTransactionContext(x) \ 95596554Sobrien (x)->TransactionContext 95696615Sobrien#define I2O_PRIVATE_MESSAGE_FRAME_setTransactionContext(x,y) \ 95796554Sobrien ((x)->TransactionContext = (y)) 95896615Sobrien#define I2O_PRIVATE_MESSAGE_FRAME_getXFunctionCode(x) \ 95996554Sobrien getLU2((&(x)->XFunctionCode),0) 96096615Sobrien#define I2O_PRIVATE_MESSAGE_FRAME_setXFunctionCode(x,y) \ 96196554Sobrien setLU2((&(x)->XFunctionCode),0,y) 96296615Sobrien#define I2O_PRIVATE_MESSAGE_FRAME_getOrganizationID(x) \ 96396554Sobrien getLU2((&(x)->OrganizationID),0) 96496615Sobrien#define I2O_PRIVATE_MESSAGE_FRAME_setOrganizationID(x,y) \ 96596554Sobrien setLU2((&(x)->OrganizationID),0,y) 96687826Sobrien#if 0 96787826Sobrientypedef struct _PRIVATE_SCSI_SCB_EXECUTE_MESSAGE { 96887826Sobrien I2O_PRIVATE_MESSAGE_FRAME PRIVATE_SCSI_SCB_EXECUTE_MESSAGE; 96996554Sobrien BF TID:16; /* Upper four bits currently are zero */ 97087826Sobrien /* Command is interpreted by the host */ 97196554Sobrien BF Interpret:1; 97287826Sobrien /* if TRUE, deal with Physical Firmware Array information */ 97396554Sobrien BF Physical:1; 97496554Sobrien BF Reserved1:14; 97596554Sobrien U8 CDBLength; 97696554Sobrien U8 Reserved; 97796554Sobrien I2O_SCB_FLAGS SCBFlags; 97896554Sobrien U8 CDB[ I2O_SCSI_CDB_LENGTH=16 ]; 97996554Sobrien U32 ByteCount; 98096554Sobrien I2O_SG_ELEMENT SGL; 98187826Sobrien} PRIVATE_SCSI_SCB_EXECUTE_MESSAGE, * PPRIVATE_SCSI_SCB_EXECUTE_MESSAGE; 98287826Sobrien#endif 98365312Smsmith/* 98496554Sobrien * PRIVATE_SCSI_SCB_EXECUTE_MESSAGE 98565312Smsmith */ 98696615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getPRIVATE_SCSI_SCB_EXECUTE_MESSAGEPtr(x)\ 98796554Sobrien (&((x)->PRIVATE_SCSI_SCB_EXECUTE_MESSAGE)) 98896615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getCDBLength(x)\ 98996554Sobrien getU1((&(x)->CDBLength),0) 99096615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setCDBLength(x,y)\ 99196554Sobrien setU1((&(x)->CDBLength),0,y) 99296615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getReserved(x)\ 99396554Sobrien getU1((&(x)->Reserved),0) 99496615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setReserved(x,y)\ 99596554Sobrien setU1((&(x)->Reserved),0,y) 99696615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getSCBFlags(x)\ 99796554Sobrien getLU2((&(x)->SCBFlags),0) 99896615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags(x,y)\ 99996554Sobrien setLU2((&(x)->SCBFlags),0,y) 100096615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getByteCount(x)\ 100196554Sobrien getLU4((&((x)->ByteCount)),0) 100296615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setByteCount(x,y)\ 100396554Sobrien setLU4((&((x)->ByteCount)),0,y) 100496615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getTID(x)\ 100596554Sobrien _F_get16bit(x,TID,0,TID) 100696615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setTID(x,y)\ 100796554Sobrien _F_set16bit(x,TID,0,TID,y) 100896615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getInterpret(x)\ 100996554Sobrien _F_get1bit(x,TID,2,Interpret) 101096615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setInterpret(x,y)\ 101196554Sobrien _F_set1bit(x,TID,2,Interpret,y) 101296615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getPhysical(x)\ 101396554Sobrien _F_get1bit1(x,TID,2,Physical) 101496615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_setPhysical(x,y)\ 101596554Sobrien _F_set1bit1(x,TID,2,Physical,y) 101696615Sobrien#define PRIVATE_SCSI_SCB_EXECUTE_MESSAGE_getCDBPtr(x)\ 101796554Sobrien (&((x)->CDB[0])) 101865312Smsmith 101965312Smsmith 102065312Smsmith/* 102165312Smsmith * PRIVATE_FLASH_REGION_MESSAGE 102265312Smsmith */ 102396615Sobrien#define PRIVATE_FLASH_REGION_MESSAGE_getFlashRegion(x) \ 102496554Sobrien getLU4((&((x)->FlashRegion)),0) 102596615Sobrien#define PRIVATE_FLASH_REGION_MESSAGE_setFlashRegion(x,y) \ 102696554Sobrien setLU4((&((x)->FlashRegion)),0,y) 102796615Sobrien#define PRIVATE_FLASH_REGION_MESSAGE_getRegionOffset(x) \ 102896554Sobrien getLU4((&((x)->RegionOffset)),0) 102996615Sobrien#define PRIVATE_FLASH_REGION_MESSAGE_setRegionOffset(x,y) \ 103096554Sobrien setLU4((&((x)->RegionOffset)),0,y) 103196615Sobrien#define PRIVATE_FLASH_REGION_MESSAGE_getByteCount(x) \ 103296554Sobrien getLU4((&((x)->ByteCount)),0) 103396615Sobrien#define PRIVATE_FLASH_REGION_MESSAGE_setByteCount(x,y) \ 103496554Sobrien setLU4((&((x)->ByteCount)),0,y) 103565312Smsmith 103665312Smsmith/* 103765312Smsmith * I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR 103865312Smsmith */ 103996615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getSCSIType(x)\ 104096554Sobrien getU1((&(x)->SCSIType),0) 104196615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setSCSIType(x,y)\ 104296554Sobrien setU1((&(x)->SCSIType),0,y) 104396615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getProtectionManagement(x)\ 104496554Sobrien getU1((&(x)->ProtectionManagement),0) 104596615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setProtectionManagement(x,y)\ 104696554Sobrien setU1((&(x)->ProtectionManagement),0,y) 104796615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getSettings(x)\ 104896554Sobrien getU1((&(x)->Settings),0) 104996615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setSettings(x,y)\ 105096554Sobrien setU1((&(x)->Settings),0,y) 105196615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getReserved1(x)\ 105296554Sobrien getU1((&(x)->Reserved1),0) 105396615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setReserved1(x,y)\ 105496554Sobrien setU1((&(x)->Reserved1),0,y) 105596615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getInitiatorID(x)\ 105696554Sobrien getLU4((&(x)->InitiatorID),0) 105796615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setInitiatorID(x,y)\ 105896554Sobrien setLU4((&(x)->InitiatorID),0,y) 105996615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getScanLun0Only(x)\ 106096554Sobrien getLU4((&(x)->ScanLun0Only),0) 106196615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setScanLun0Only(x,y)\ 106296554Sobrien setLU4((&(x)->ScanLun0Only),0,y) 106396615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getDisableDevice(x)\ 106496554Sobrien getLU2((&(x)->DisableDevice),0) 106596615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setDisableDevice(x,y)\ 106696554Sobrien setLU2((&(x)->DisableDevice),0,y) 106796615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getMaxOffset(x)\ 106896554Sobrien getU1((&(x)->MaxOffset),0) 106996615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setMaxOffset(x,y)\ 107096554Sobrien setU1((&(x)->MaxOffset),0,y) 107196615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getMaxDataWidth(x)\ 107296554Sobrien getU1((&(x)->MaxDataWidth),0) 107396615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setMaxDataWidth(x,y)\ 107496554Sobrien setU1((&(x)->MaxDataWidth),0,y) 107596615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_getMaxSyncRate(x)\ 107696554Sobrien getLU4((&(x)->MaxSyncRate),0) 107796615Sobrien#define I2O_HBA_SCSI_CONTROLLER_INFO_SCALAR_setMaxSyncRate(x,y)\ 107896554Sobrien setLU4((&(x)->MaxSyncRate),0,y) 107965312Smsmith 108065312Smsmith/* 108165312Smsmith * I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME 108265312Smsmith */ 108396615Sobrien#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_getStdReplyFramePtr(x)\ 108496554Sobrien (&((x)->StdReplyFrame)) 108596615Sobrien#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_getTransferCount(x)\ 108696554Sobrien getLU4((&(x)->TransferCount),0) 108796615Sobrien#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_setTransferCount(x,y)\ 108896554Sobrien setLU4((&(x)->TransferCount),0,y) 108996615Sobrien#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_getAutoSenseTransferCount(x)\ 109096554Sobrien getLU4((&(x)->AutoSenseTransferCount),0) 109196615Sobrien#define I2O_SCSI_ERROR_REPLY_MESSAGE_FRAME_setAutoSenseTransferCount(x,y)\ 109296554Sobrien setLU4((&(x)->AutoSenseTransferCount),0,y) 109365312Smsmith 109465312Smsmith/* 109565312Smsmith * I2O_SINGLE_REPLY_MESSAGE_FRAME 109665312Smsmith */ 109796615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getStdMessageFramePtr(x)\ 109896554Sobrien (&((x)->StdMessageFrame)) 109996615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getTransactionContext(x)\ 110096554Sobrien (x)->TransactionContext 110196615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_setTransactionContext(x,y)\ 110296554Sobrien ((x)->TransactionContext = (y)) 110396615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getDetailedStatusCode(x)\ 110496554Sobrien getLU2((&((x)->DetailedStatusCode)),0) 110596615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_setDetailedStatusCode(x,y)\ 110696554Sobrien setLU2((&((x)->DetailedStatusCode)),0,y) 110796615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getreserved(x)\ 110896554Sobrien getU1((&((x)->reserved)),0) 110996615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_setreserved(x,y)\ 111096554Sobrien setU1((&((x)->reserved)),0,y) 111196615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_getReqStatus(x)\ 111296554Sobrien getU1((&((x)->ReqStatus)),0) 111396615Sobrien#define I2O_SINGLE_REPLY_MESSAGE_FRAME_setReqStatus(x,y)\ 111496554Sobrien setU1((&((x)->ReqStatus)),0,y) 111565312Smsmith 111665312Smsmith 111765312Smsmith/* 111865312Smsmith * I2O_SCSI_SCB_EXECUTE_MESSAGE 111965312Smsmith */ 112096615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getStdMessageFramePtr(x)\ 112196554Sobrien (&((x)->StdMessageFrame)) 112296615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getTransactionContext(x)\ 112396554Sobrien (x)->TransactionContext 112496615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setTransactionContext(x,y)\ 112596554Sobrien ((x)->TransactionContext = (y)) 112696615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getCDBLength(x)\ 112796554Sobrien getU1((&((x)->CDBLength)),0) 112896615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setCDBLength(x,y)\ 112996554Sobrien setU1((&((x)->CDBLength)),0,y) 113096615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getReserved(x)\ 113196554Sobrien getU1((&((x)->Reserved)),0) 113296615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setReserved(x,y)\ 113396554Sobrien setU1((&((x)->Reserved)),0,y) 113496615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getSCBFlags(x)\ 113596554Sobrien getLU2((&((x)->SCBFlags)),0) 113696615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setSCBFlags(x,y)\ 113796554Sobrien setLU2((&((x)->SCBFlags)),0,y) 113896615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_getByteCount(x)\ 113996554Sobrien getLU2((&((x)->ByteCount)),0) 114096615Sobrien#define I2O_SCSI_SCB_EXECUTE_MESSAGE_setByteCount(x,y)\ 114196554Sobrien setLU2((&((x)->ByteCount)),0,y) 114265312Smsmith/* define for these */ 114396554Sobrien/* U8 CDB[16]; */ 114496554Sobrien/* I2O_SG_ELEMENT SGL; */ 114565312Smsmith 114665312Smsmith 114765312Smsmith/* 114865312Smsmith * I2O_FAILURE_REPLY_MESSAGE_FRAME 114965312Smsmith */ 115096615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getStdMessageFramePtr(x)\ 115196554Sobrien (&((x)->StdMessageFrame)) 115296615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getTransactionContext(x)\ 115396554Sobrien (x)->TransactionContext 115496615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setTransactionContext(x,y)\ 115596554Sobrien ((x)->TransactionContext = (y)) 115696615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getLowestVersion(x)\ 115796554Sobrien getU1((&((x)->LowestVersion)),0) 115896615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setLowestVersion(x,y)\ 115996554Sobrien setU1((&((x)->LowestVersion)),0,y) 116096615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getHighestVersion(x)\ 116196554Sobrien getU1((&((x)->HighestVersion)),0) 116296615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setHighestVersion(x,y)\ 116396554Sobrien setU1((&((x)->HighestVersion)),0,y) 116496615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getAgeLimit(x)\ 116596554Sobrien getLU4((&((x)->AgeLimit)),0) 116696615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setAgeLimit(x,y)\ 116796554Sobrien setLU4((&((x)->AgeLimit)),0,y) 116896615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getSeverity(x)\ 116996554Sobrien _F_get8bit(x,Severity,0,Severity) 117096615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setSeverity(x,y)\ 117196554Sobrien _F_set8bit(x,Severity,0,Severity,y) 117296615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getFailureCode(x)\ 117396554Sobrien _F_get8bit(x,Severity,1,FailureCode) 117496615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setFailureCode(x,y)\ 117596554Sobrien _F_get8bit(x,Severity,1,FailureCode,y) 117665312Smsmith/* 117796551Sobrien * #define I2O_FAILURE_REPLY_MESSAGE_FRAME_getFailingHostUnitID(x)\ 117896554Sobrien * _F_get16bit(x,reserved,1,FailingHostUnitID) 117996551Sobrien * #define I2O_FAILURE_REPLY_MESSAGE_FRAME_setFailingHostUnitID(x,y)\ 118096554Sobrien * _F_set16bit(x,reserved,1,FailingHostUnitID,y) 118165312Smsmith */ 118296615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_getPreservedMFA(x)\ 118396554Sobrien getLU4((&((x)->PreservedMFA)),0) 118496615Sobrien#define I2O_FAILURE_REPLY_MESSAGE_FRAME_setPreservedMFA(x,y)\ 118596554Sobrien setLU4((&((x)->PreservedMFA)),0,y) 118665312Smsmith 118765312Smsmith 118865312Smsmith 118965312Smsmith/* 119065312Smsmith * I2O_EXEC_STATUS_GET_REPLY 119165312Smsmith */ 119296615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getOrganizationID(x)\ 119396554Sobrien getLU2((&(x)->OrganizationID),0) 119496615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setOrganizationID(x,y)\ 119596554Sobrien setLU2((&(x)->OrganizationID),0,y) 119696551Sobrien/* #define I2O_EXEC_STATUS_GET_REPLY_getreserved; */ 119796615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getIOP_ID(x)\ 119896554Sobrien _F_get12bit(x,IOP_ID,0,IOP_ID) 119996615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setIOP_ID(x,y)\ 120096554Sobrien _F_set12bit(x,IOP_ID,0,IOP_ID,y) 120196551Sobrien/* #define I2O_EXEC_STATUS_GET_REPLY_getreserved1(x) */ 120296615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getHostUnitID(x)\ 120396554Sobrien _F_get16bit(x,IOP_ID,2,HostUnitID) 120496615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setHostUnitID(x,y)\ 120596554Sobrien _F_set16bit(x,IOP_ID,2,HostUnitID,y) 120696615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getSegmentNumber(x)\ 120796554Sobrien _F_get12bit(x,SegmentNumber,0,SegmentNumber) 120896615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setSegmentNumber(x,y)\ 120996554Sobrien _F_set12bit(x,SegmentNumber,0,SegmentNumber,y) 121096615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getI2oVersion(x)\ 121196554Sobrien _F_get4bit4(x,SegmentNumber,1,I2oVersion) 121296615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setI2oVersion(x,y)\ 121396554Sobrien _F_set4bit4(x,SegmentNumber,1,I2oVersion,y) 121496615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getIopState(x)\ 121596554Sobrien _F_get8bit(x,SegmentNumver,2,IopState) 121696615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setIopState(x,y)\ 121796554Sobrien _F_set8bit(x,SegmentNumver,2,IopState,y) 121896615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getMessengerType(x)\ 121996554Sobrien _F_get8bit(x,SegmentNumber,3,MessengerType) 122096615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setMessengerType(x,y)\ 122196554Sobrien _F_get8bit(x,SegmentNumber,3,MessengerType,y) 122296615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getInboundMFrameSize(x)\ 122396554Sobrien getLU2((&(x)->InboundMFrameSize),0) 122496615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setInboundMFrameSize(x,y)\ 122596554Sobrien setLU2((&(x)->InboundMFrameSize),0,y) 122696615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getInitCode(x)\ 122796554Sobrien getU1((&(x)->InitCode),0) 122896615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setInitCode(x,y)\ 122996554Sobrien setU1((&(x)->InitCode),0,y) 123096551Sobrien/* #define I2O_EXEC_STATUS_GET_REPLY_getreserved2(x) */ 123196615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getMaxInboundMFrames(x)\ 123296554Sobrien getLU4((&(x)->MaxInboundMFrames),0) 123396615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setMaxInboundMFrames(x,y)\ 123496554Sobrien setLU4((&(x)->MaxInboundMFrames),0,y) 123596615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getCurrentInboundMFrames(x)\ 123696554Sobrien getLU4((&(x)->CurrentInboundMFrames),0) 123796615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setCurrentInboundMFrames(x,y)\ 123896554Sobrien setLU4((&(x)->CurrentInboundMFrames),0,y) 123996615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getMaxOutboundMFrames(x)\ 124096554Sobrien getLU4((&(x)->MaxOutboundMFrames),0) 124196615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setMaxOutboundMFrames(x,y)\ 124296554Sobrien setLU4((&(x)->MaxOutboundMFrames),0,y) 124396551Sobrien/* #define I2O_EXEC_STATUS_GET_REPLY_getProductIDString(x) */ 124496615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getExpectedLCTSize(x)\ 124596554Sobrien getLU4((&(x)->ExpectedLCTSize),0) 124696615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setExpectedLCTSize(x,y)\ 124796554Sobrien setLU4((&(x)->ExpectedLCTSize),0,y) 124896615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getIopCapabilities(x)\ 124996554Sobrien getLU4((&(x)->IopCapabilities),0) 125096615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setIopCapabilities(x,y)\ 125196554Sobrien setLU4((&(x)->IopCapabilities),0,y) 125296615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getDesiredPrivateMemSize(x)\ 125396554Sobrien getLU4((&(x)->DesiredPrivateMemSize),0) 125496615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setDesiredPrivateMemSize(x,y)\ 125596554Sobrien setLU4((&(x)->DesiredPrivateMemSize),0,y) 125696615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getCurrentPrivateMemSize(x)\ 125796554Sobrien getLU4((&(x)->CurrentPrivateMemSize),0) 125896615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setCurrentPrivateMemSize(x,y)\ 125996554Sobrien setLU4((&(x)->CurrentPrivateMemSize),0,y) 126096615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getCurrentPrivateMemBase(x)\ 126196554Sobrien getLU4((&(x)->CurrentPrivateMemBase),0) 126296615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setCurrentPrivateMemBase(x,y)\ 126396554Sobrien setLU4((&(x)->CurrentPrivateMemBase),0,y) 126496615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getDesiredPrivateIOSize(x)\ 126596554Sobrien getLU4((&(x)->DesiredPrivateIOSize),0) 126696615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setDesiredPrivateIOSize(x,y)\ 126796554Sobrien setLU4((&(x)->DesiredPrivateIOSize),0,y) 126896615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getCurrentPrivateIOSize(x)\ 126996554Sobrien getLU4((&(x)->CurrentPrivateIOSize),0) 127096615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setCurrentPrivateIOSize(x,y)\ 127196554Sobrien setLU4((&(x)->CurrentPrivateIOSize),0,y) 127296615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getCurrentPrivateIOBase(x)\ 127396554Sobrien getLU4((&(x)->CurrentPrivateIOBase),0) 127496615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setCurrentPrivateIOBase(x,y)\ 127596554Sobrien setLU4((&(x)->CurrentPrivateIOBase),0,y) 127696551Sobrien/* #define I2O_EXEC_STATUS_GET_REPLY_getreserved3(x) */ 127796615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_getSyncByte(x)\ 127896554Sobrien getU1((&(x)->SyncByte),0) 127996615Sobrien#define I2O_EXEC_STATUS_GET_REPLY_setSyncByte(x,y)\ 128096554Sobrien setU1((&(x)->SyncByte),0,y) 128165312Smsmith 128265312Smsmith 128365312Smsmith 128465312Smsmith/* 128565312Smsmith * I2O_HBA_BUS_QUIESCE_MESSAGE 128665312Smsmith */ 128796615Sobrien#define I2O_HBA_BUS_QUIESCE_MESSAGE_getStdMessageFramePtr(x)\ 128896554Sobrien (&((x)->StdMessageFrame)) 128996615Sobrien#define I2O_HBA_BUS_QUIESCE_MESSAGE_getTransactionContext(x)\ 129096554Sobrien getBU4((&((x)->TransactionContext)),0) 129196615Sobrien#define I2O_HBA_BUS_QUIESCE_MESSAGE_setTransactionContext(x,y)\ 129296554Sobrien setBU4((&((x)->TransactionContext)),0,y) 129396615Sobrien#define I2O_HBA_BUS_QUIESCE_MESSAGE_getFlags(x)\ 129496554Sobrien getLU4((&(x)->Flags),0) 129596615Sobrien#define I2O_HBA_BUS_QUIESCE_MESSAGE_setFlags(x,y)\ 129696554Sobrien setLU4((&(x)->Flags),0,y) 129765312Smsmith 129865312Smsmith 129965312Smsmith#endif /* __INCi2odeph */ 1300