Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | /* * Copyright (c) 2003-2004 LSI Logic Corporation. * * * Name: mpi_inb.h * Title: MPI Inband structures and definitions * Creation Date: September 30, 2003 * * mpi_inb.h Version: 01.05.01 * * Version History * --------------- * * Date Version Description * -------- -------- ------------------------------------------------------ * 05-11-04 01.03.01 Original release. * 08-19-04 01.05.01 Original release for MPI v1.5. * -------------------------------------------------------------------------- */ #ifndef MPI_INB_H #define MPI_INB_H /****************************************************************************** * * I n b a n d M e s s a g e s * *******************************************************************************/ /****************************************************************************/ /* Inband Buffer Post Request */ /****************************************************************************/ typedef struct _MSG_INBAND_BUFFER_POST_REQUEST { U8 Reserved1; /* 00h */ U8 BufferCount; /* 01h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U16 Reserved2; /* 04h */ U8 Reserved3; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U32 Reserved4; /* 0Ch */ SGE_TRANS_SIMPLE_UNION SGL; /* 10h */ } MSG_INBAND_BUFFER_POST_REQUEST, MPI_POINTER PTR_MSG_INBAND_BUFFER_POST_REQUEST, MpiInbandBufferPostRequest_t , MPI_POINTER pMpiInbandBufferPostRequest_t; typedef struct _WWN_FC_FORMAT { U64 NodeName; /* 00h */ U64 PortName; /* 08h */ } WWN_FC_FORMAT, MPI_POINTER PTR_WWN_FC_FORMAT, WwnFcFormat_t, MPI_POINTER pWwnFcFormat_t; typedef struct _WWN_SAS_FORMAT { U64 WorldWideID; /* 00h */ U32 Reserved1; /* 08h */ U32 Reserved2; /* 0Ch */ } WWN_SAS_FORMAT, MPI_POINTER PTR_WWN_SAS_FORMAT, WwnSasFormat_t, MPI_POINTER pWwnSasFormat_t; typedef union _WWN_INBAND_FORMAT { WWN_FC_FORMAT Fc; WWN_SAS_FORMAT Sas; } WWN_INBAND_FORMAT, MPI_POINTER PTR_WWN_INBAND_FORMAT, WwnInbandFormat, MPI_POINTER pWwnInbandFormat; /* Inband Buffer Post reply message */ typedef struct _MSG_INBAND_BUFFER_POST_REPLY { U16 Reserved1; /* 00h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U16 Reserved2; /* 04h */ U8 Reserved3; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved4; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */ U32 TransferLength; /* 14h */ U32 TransactionContext; /* 18h */ WWN_INBAND_FORMAT Wwn; /* 1Ch */ U32 IOCIdentifier[4]; /* 2Ch */ } MSG_INBAND_BUFFER_POST_REPLY, MPI_POINTER PTR_MSG_INBAND_BUFFER_POST_REPLY, MpiInbandBufferPostReply_t, MPI_POINTER pMpiInbandBufferPostReply_t; /****************************************************************************/ /* Inband Send Request */ /****************************************************************************/ typedef struct _MSG_INBAND_SEND_REQUEST { U16 Reserved1; /* 00h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U16 Reserved2; /* 04h */ U8 Reserved3; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U32 Reserved4; /* 0Ch */ WWN_INBAND_FORMAT Wwn; /* 10h */ U32 Reserved5; /* 20h */ SGE_IO_UNION SGL; /* 24h */ } MSG_INBAND_SEND_REQUEST, MPI_POINTER PTR_MSG_INBAND_SEND_REQUEST, MpiInbandSendRequest_t , MPI_POINTER pMpiInbandSendRequest_t; /* Inband Send reply message */ typedef struct _MSG_INBAND_SEND_REPLY { U16 Reserved1; /* 00h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U16 Reserved2; /* 04h */ U8 Reserved3; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved4; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */ U32 ResponseLength; /* 14h */ } MSG_INBAND_SEND_REPLY, MPI_POINTER PTR_MSG_INBAND_SEND_REPLY, MpiInbandSendReply_t, MPI_POINTER pMpiInbandSendReply_t; /****************************************************************************/ /* Inband Response Request */ /****************************************************************************/ typedef struct _MSG_INBAND_RSP_REQUEST { U16 Reserved1; /* 00h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U16 Reserved2; /* 04h */ U8 Reserved3; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U32 Reserved4; /* 0Ch */ WWN_INBAND_FORMAT Wwn; /* 10h */ U32 IOCIdentifier[4]; /* 20h */ U32 ResponseLength; /* 30h */ SGE_IO_UNION SGL; /* 34h */ } MSG_INBAND_RSP_REQUEST, MPI_POINTER PTR_MSG_INBAND_RSP_REQUEST, MpiInbandRspRequest_t , MPI_POINTER pMpiInbandRspRequest_t; /* Inband Response reply message */ typedef struct _MSG_INBAND_RSP_REPLY { U16 Reserved1; /* 00h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U16 Reserved2; /* 04h */ U8 Reserved3; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved4; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */ } MSG_INBAND_RSP_REPLY, MPI_POINTER PTR_MSG_INBAND_RSP_REPLY, MpiInbandRspReply_t, MPI_POINTER pMpiInbandRspReply_t; /****************************************************************************/ /* Inband Abort Request */ /****************************************************************************/ typedef struct _MSG_INBAND_ABORT_REQUEST { U8 Reserved1; /* 00h */ U8 AbortType; /* 01h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U16 Reserved2; /* 04h */ U8 Reserved3; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U32 Reserved4; /* 0Ch */ U32 ContextToAbort; /* 10h */ } MSG_INBAND_ABORT_REQUEST, MPI_POINTER PTR_MSG_INBAND_ABORT_REQUEST, MpiInbandAbortRequest_t , MPI_POINTER pMpiInbandAbortRequest_t; #define MPI_INBAND_ABORT_TYPE_ALL_BUFFERS (0x00) #define MPI_INBAND_ABORT_TYPE_EXACT_BUFFER (0x01) #define MPI_INBAND_ABORT_TYPE_SEND_REQUEST (0x02) #define MPI_INBAND_ABORT_TYPE_RESPONSE_REQUEST (0x03) /* Inband Abort reply message */ typedef struct _MSG_INBAND_ABORT_REPLY { U8 Reserved1; /* 00h */ U8 AbortType; /* 01h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U16 Reserved2; /* 04h */ U8 Reserved3; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved4; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */ } MSG_INBAND_ABORT_REPLY, MPI_POINTER PTR_MSG_INBAND_ABORT_REPLY, MpiInbandAbortReply_t, MPI_POINTER pMpiInbandAbortReply_t; #endif |