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#ifndef MPI_FC_H
46#define MPI_FC_H
47
48
49
50
51
52
53
54
55
56
57
58
59typedef struct _MSG_LINK_SERVICE_BUFFER_POST_REQUEST
60{
61 U8 BufferPostFlags;
62 U8 BufferCount;
63 U8 ChainOffset;
64 U8 Function;
65 U16 Reserved;
66 U8 Reserved1;
67 U8 MsgFlags;
68 U32 MsgContext;
69 SGE_TRANS_SIMPLE_UNION SGL;
70} MSG_LINK_SERVICE_BUFFER_POST_REQUEST,
71 MPI_POINTER PTR_MSG_LINK_SERVICE_BUFFER_POST_REQUEST,
72 LinkServiceBufferPostRequest_t, MPI_POINTER pLinkServiceBufferPostRequest_t;
73
74#define LINK_SERVICE_BUFFER_POST_FLAGS_PORT_MASK (0x01)
75
76typedef struct _WWNFORMAT
77{
78 U32 PortNameHigh;
79 U32 PortNameLow;
80 U32 NodeNameHigh;
81 U32 NodeNameLow;
82} WWNFORMAT,
83 WwnFormat_t;
84
85
86typedef struct _MSG_LINK_SERVICE_BUFFER_POST_REPLY
87{
88 U8 Flags;
89 U8 Reserved;
90 U8 MsgLength;
91 U8 Function;
92 U16 Reserved1;
93 U8 PortNumber;
94 U8 MsgFlags;
95 U32 MsgContext;
96 U16 Reserved2;
97 U16 IOCStatus;
98 U32 IOCLogInfo;
99 U32 TransferLength;
100 U32 TransactionContext;
101 U32 Rctl_Did;
102 U32 Csctl_Sid;
103 U32 Type_Fctl;
104 U16 SeqCnt;
105 U8 Dfctl;
106 U8 SeqId;
107 U16 Rxid;
108 U16 Oxid;
109 U32 Parameter;
110 WWNFORMAT Wwn;
111} MSG_LINK_SERVICE_BUFFER_POST_REPLY, MPI_POINTER PTR_MSG_LINK_SERVICE_BUFFER_POST_REPLY,
112 LinkServiceBufferPostReply_t, MPI_POINTER pLinkServiceBufferPostReply_t;
113
114#define MPI_LS_BUF_POST_REPLY_FLAG_NO_RSP_NEEDED (0x80)
115
116#define MPI_FC_DID_MASK (0x00FFFFFF)
117#define MPI_FC_DID_SHIFT (0)
118#define MPI_FC_RCTL_MASK (0xFF000000)
119#define MPI_FC_RCTL_SHIFT (24)
120#define MPI_FC_SID_MASK (0x00FFFFFF)
121#define MPI_FC_SID_SHIFT (0)
122#define MPI_FC_CSCTL_MASK (0xFF000000)
123#define MPI_FC_CSCTL_SHIFT (24)
124#define MPI_FC_FCTL_MASK (0x00FFFFFF)
125#define MPI_FC_FCTL_SHIFT (0)
126#define MPI_FC_TYPE_MASK (0xFF000000)
127#define MPI_FC_TYPE_SHIFT (24)
128
129
130#define FCP_TARGET_DID_MASK (0x00FFFFFF)
131#define FCP_TARGET_DID_SHIFT (0)
132#define FCP_TARGET_RCTL_MASK (0xFF000000)
133#define FCP_TARGET_RCTL_SHIFT (24)
134#define FCP_TARGET_SID_MASK (0x00FFFFFF)
135#define FCP_TARGET_SID_SHIFT (0)
136#define FCP_TARGET_CSCTL_MASK (0xFF000000)
137#define FCP_TARGET_CSCTL_SHIFT (24)
138#define FCP_TARGET_FCTL_MASK (0x00FFFFFF)
139#define FCP_TARGET_FCTL_SHIFT (0)
140#define FCP_TARGET_TYPE_MASK (0xFF000000)
141#define FCP_TARGET_TYPE_SHIFT (24)
142
143
144
145
146
147
148typedef struct _MSG_LINK_SERVICE_RSP_REQUEST
149{
150 U8 RspFlags;
151 U8 RspLength;
152 U8 ChainOffset;
153 U8 Function;
154 U16 Reserved1;
155 U8 Reserved2;
156 U8 MsgFlags;
157 U32 MsgContext;
158 U32 Rctl_Did;
159 U32 Csctl_Sid;
160 U32 Type_Fctl;
161 U16 SeqCnt;
162 U8 Dfctl;
163 U8 SeqId;
164 U16 Rxid;
165 U16 Oxid;
166 U32 Parameter;
167 SGE_SIMPLE_UNION SGL;
168} MSG_LINK_SERVICE_RSP_REQUEST, MPI_POINTER PTR_MSG_LINK_SERVICE_RSP_REQUEST,
169 LinkServiceRspRequest_t, MPI_POINTER pLinkServiceRspRequest_t;
170
171#define LINK_SERVICE_RSP_FLAGS_IMMEDIATE (0x80)
172#define LINK_SERVICE_RSP_FLAGS_PORT_MASK (0x01)
173
174
175
176typedef struct _MSG_LINK_SERVICE_RSP_REPLY
177{
178 U16 Reserved;
179 U8 MsgLength;
180 U8 Function;
181 U16 Reserved1;
182 U8 Reserved_0100_InitiatorIndex;
183 U8 MsgFlags;
184 U32 MsgContext;
185 U16 Reserved3;
186 U16 IOCStatus;
187 U32 IOCLogInfo;
188 U32 InitiatorIndex;
189} MSG_LINK_SERVICE_RSP_REPLY, MPI_POINTER PTR_MSG_LINK_SERVICE_RSP_REPLY,
190 LinkServiceRspReply_t, MPI_POINTER pLinkServiceRspReply_t;
191
192
193
194
195
196
197typedef struct _MSG_EXLINK_SERVICE_SEND_REQUEST
198{
199 U8 SendFlags;
200 U8 AliasIndex;
201 U8 ChainOffset;
202 U8 Function;
203 U32 MsgFlags_Did;
204 U32 MsgContext;
205 U32 ElsCommandCode;
206 SGE_SIMPLE_UNION SGL;
207} MSG_EXLINK_SERVICE_SEND_REQUEST, MPI_POINTER PTR_MSG_EXLINK_SERVICE_SEND_REQUEST,
208 ExLinkServiceSendRequest_t, MPI_POINTER pExLinkServiceSendRequest_t;
209
210#define EX_LINK_SERVICE_SEND_DID_MASK (0x00FFFFFF)
211#define EX_LINK_SERVICE_SEND_DID_SHIFT (0)
212#define EX_LINK_SERVICE_SEND_MSGFLAGS_MASK (0xFF000000)
213#define EX_LINK_SERVICE_SEND_MSGFLAGS_SHIFT (24)
214
215
216
217typedef struct _MSG_EXLINK_SERVICE_SEND_REPLY
218{
219 U8 Reserved;
220 U8 AliasIndex;
221 U8 MsgLength;
222 U8 Function;
223 U16 Reserved1;
224 U8 Reserved2;
225 U8 MsgFlags;
226 U32 MsgContext;
227 U16 Reserved3;
228 U16 IOCStatus;
229 U32 IOCLogInfo;
230 U32 ResponseLength;
231} MSG_EXLINK_SERVICE_SEND_REPLY, MPI_POINTER PTR_MSG_EXLINK_SERVICE_SEND_REPLY,
232 ExLinkServiceSendReply_t, MPI_POINTER pExLinkServiceSendReply_t;
233
234
235
236
237
238typedef struct _MSG_FC_ABORT_REQUEST
239{
240 U8 AbortFlags;
241 U8 AbortType;
242 U8 ChainOffset;
243 U8 Function;
244 U16 Reserved1;
245 U8 Reserved2;
246 U8 MsgFlags;
247 U32 MsgContext;
248 U32 TransactionContextToAbort;
249} MSG_FC_ABORT_REQUEST, MPI_POINTER PTR_MSG_FC_ABORT_REQUEST,
250 FcAbortRequest_t, MPI_POINTER pFcAbortRequest_t;
251
252#define FC_ABORT_FLAG_PORT_MASK (0x01)
253
254#define FC_ABORT_TYPE_ALL_FC_BUFFERS (0x00)
255#define FC_ABORT_TYPE_EXACT_FC_BUFFER (0x01)
256#define FC_ABORT_TYPE_CT_SEND_REQUEST (0x02)
257#define FC_ABORT_TYPE_EXLINKSEND_REQUEST (0x03)
258
259
260typedef struct _MSG_FC_ABORT_REPLY
261{
262 U16 Reserved;
263 U8 MsgLength;
264 U8 Function;
265 U16 Reserved1;
266 U8 Reserved2;
267 U8 MsgFlags;
268 U32 MsgContext;
269 U16 Reserved3;
270 U16 IOCStatus;
271 U32 IOCLogInfo;
272} MSG_FC_ABORT_REPLY, MPI_POINTER PTR_MSG_FC_ABORT_REPLY,
273 FcAbortReply_t, MPI_POINTER pFcAbortReply_t;
274
275
276
277
278
279
280typedef struct _MSG_FC_COMMON_TRANSPORT_SEND_REQUEST
281{
282 U8 SendFlags;
283 U8 AliasIndex;
284 U8 ChainOffset;
285 U8 Function;
286 U32 MsgFlags_Did;
287 U32 MsgContext;
288 U16 CTCommandCode;
289 U8 FsType;
290 U8 Reserved1;
291 SGE_SIMPLE_UNION SGL;
292} MSG_FC_COMMON_TRANSPORT_SEND_REQUEST,
293 MPI_POINTER PTR_MSG_FC_COMMON_TRANSPORT_SEND_REQUEST,
294 FcCommonTransportSendRequest_t, MPI_POINTER pFcCommonTransportSendRequest_t;
295
296#define MPI_FC_CT_SEND_DID_MASK (0x00FFFFFF)
297#define MPI_FC_CT_SEND_DID_SHIFT (0)
298#define MPI_FC_CT_SEND_MSGFLAGS_MASK (0xFF000000)
299#define MPI_FC_CT_SEND_MSGFLAGS_SHIFT (24)
300
301
302
303typedef struct _MSG_FC_COMMON_TRANSPORT_SEND_REPLY
304{
305 U8 Reserved;
306 U8 AliasIndex;
307 U8 MsgLength;
308 U8 Function;
309 U16 Reserved1;
310 U8 Reserved2;
311 U8 MsgFlags;
312 U32 MsgContext;
313 U16 Reserved3;
314 U16 IOCStatus;
315 U32 IOCLogInfo;
316 U32 ResponseLength;
317} MSG_FC_COMMON_TRANSPORT_SEND_REPLY, MPI_POINTER PTR_MSG_FC_COMMON_TRANSPORT_SEND_REPLY,
318 FcCommonTransportSendReply_t, MPI_POINTER pFcCommonTransportSendReply_t;
319
320
321
322
323
324
325typedef struct _MSG_FC_PRIMITIVE_SEND_REQUEST
326{
327 U8 SendFlags;
328 U8 Reserved;
329 U8 ChainOffset;
330 U8 Function;
331 U16 Reserved1;
332 U8 Reserved2;
333 U8 MsgFlags;
334 U32 MsgContext;
335 U8 FcPrimitive[4];
336} MSG_FC_PRIMITIVE_SEND_REQUEST, MPI_POINTER PTR_MSG_FC_PRIMITIVE_SEND_REQUEST,
337 FcPrimitiveSendRequest_t, MPI_POINTER pFcPrimitiveSendRequest_t;
338
339#define MPI_FC_PRIM_SEND_FLAGS_PORT_MASK (0x01)
340#define MPI_FC_PRIM_SEND_FLAGS_ML_RESET_LINK (0x02)
341#define MPI_FC_PRIM_SEND_FLAGS_RESET_LINK (0x04)
342#define MPI_FC_PRIM_SEND_FLAGS_STOP_SEND (0x08)
343#define MPI_FC_PRIM_SEND_FLAGS_SEND_ONCE (0x10)
344#define MPI_FC_PRIM_SEND_FLAGS_SEND_AROUND (0x20)
345#define MPI_FC_PRIM_SEND_FLAGS_UNTIL_FULL (0x40)
346#define MPI_FC_PRIM_SEND_FLAGS_FOREVER (0x80)
347
348
349typedef struct _MSG_FC_PRIMITIVE_SEND_REPLY
350{
351 U8 SendFlags;
352 U8 Reserved;
353 U8 MsgLength;
354 U8 Function;
355 U16 Reserved1;
356 U8 Reserved2;
357 U8 MsgFlags;
358 U32 MsgContext;
359 U16 Reserved3;
360 U16 IOCStatus;
361 U32 IOCLogInfo;
362} MSG_FC_PRIMITIVE_SEND_REPLY, MPI_POINTER PTR_MSG_FC_PRIMITIVE_SEND_REPLY,
363 FcPrimitiveSendReply_t, MPI_POINTER pFcPrimitiveSendReply_t;
364
365#endif
366
367