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