0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046 #ifndef MPI_FC_H
0047 #define MPI_FC_H
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060 typedef struct _MSG_LINK_SERVICE_BUFFER_POST_REQUEST
0061 {
0062 U8 BufferPostFlags;
0063 U8 BufferCount;
0064 U8 ChainOffset;
0065 U8 Function;
0066 U16 Reserved;
0067 U8 Reserved1;
0068 U8 MsgFlags;
0069 U32 MsgContext;
0070 SGE_TRANS_SIMPLE_UNION SGL;
0071 } MSG_LINK_SERVICE_BUFFER_POST_REQUEST,
0072 MPI_POINTER PTR_MSG_LINK_SERVICE_BUFFER_POST_REQUEST,
0073 LinkServiceBufferPostRequest_t, MPI_POINTER pLinkServiceBufferPostRequest_t;
0074
0075 #define LINK_SERVICE_BUFFER_POST_FLAGS_PORT_MASK (0x01)
0076
0077 typedef struct _WWNFORMAT
0078 {
0079 U32 PortNameHigh;
0080 U32 PortNameLow;
0081 U32 NodeNameHigh;
0082 U32 NodeNameLow;
0083 } WWNFORMAT,
0084 WwnFormat_t;
0085
0086
0087 typedef struct _MSG_LINK_SERVICE_BUFFER_POST_REPLY
0088 {
0089 U8 Flags;
0090 U8 Reserved;
0091 U8 MsgLength;
0092 U8 Function;
0093 U16 Reserved1;
0094 U8 PortNumber;
0095 U8 MsgFlags;
0096 U32 MsgContext;
0097 U16 Reserved2;
0098 U16 IOCStatus;
0099 U32 IOCLogInfo;
0100 U32 TransferLength;
0101 U32 TransactionContext;
0102 U32 Rctl_Did;
0103 U32 Csctl_Sid;
0104 U32 Type_Fctl;
0105 U16 SeqCnt;
0106 U8 Dfctl;
0107 U8 SeqId;
0108 U16 Rxid;
0109 U16 Oxid;
0110 U32 Parameter;
0111 WWNFORMAT Wwn;
0112 } MSG_LINK_SERVICE_BUFFER_POST_REPLY, MPI_POINTER PTR_MSG_LINK_SERVICE_BUFFER_POST_REPLY,
0113 LinkServiceBufferPostReply_t, MPI_POINTER pLinkServiceBufferPostReply_t;
0114
0115 #define MPI_LS_BUF_POST_REPLY_FLAG_NO_RSP_NEEDED (0x80)
0116
0117 #define MPI_FC_DID_MASK (0x00FFFFFF)
0118 #define MPI_FC_DID_SHIFT (0)
0119 #define MPI_FC_RCTL_MASK (0xFF000000)
0120 #define MPI_FC_RCTL_SHIFT (24)
0121 #define MPI_FC_SID_MASK (0x00FFFFFF)
0122 #define MPI_FC_SID_SHIFT (0)
0123 #define MPI_FC_CSCTL_MASK (0xFF000000)
0124 #define MPI_FC_CSCTL_SHIFT (24)
0125 #define MPI_FC_FCTL_MASK (0x00FFFFFF)
0126 #define MPI_FC_FCTL_SHIFT (0)
0127 #define MPI_FC_TYPE_MASK (0xFF000000)
0128 #define MPI_FC_TYPE_SHIFT (24)
0129
0130
0131 #define FCP_TARGET_DID_MASK (0x00FFFFFF)
0132 #define FCP_TARGET_DID_SHIFT (0)
0133 #define FCP_TARGET_RCTL_MASK (0xFF000000)
0134 #define FCP_TARGET_RCTL_SHIFT (24)
0135 #define FCP_TARGET_SID_MASK (0x00FFFFFF)
0136 #define FCP_TARGET_SID_SHIFT (0)
0137 #define FCP_TARGET_CSCTL_MASK (0xFF000000)
0138 #define FCP_TARGET_CSCTL_SHIFT (24)
0139 #define FCP_TARGET_FCTL_MASK (0x00FFFFFF)
0140 #define FCP_TARGET_FCTL_SHIFT (0)
0141 #define FCP_TARGET_TYPE_MASK (0xFF000000)
0142 #define FCP_TARGET_TYPE_SHIFT (24)
0143
0144
0145
0146
0147
0148
0149 typedef struct _MSG_LINK_SERVICE_RSP_REQUEST
0150 {
0151 U8 RspFlags;
0152 U8 RspLength;
0153 U8 ChainOffset;
0154 U8 Function;
0155 U16 Reserved1;
0156 U8 Reserved2;
0157 U8 MsgFlags;
0158 U32 MsgContext;
0159 U32 Rctl_Did;
0160 U32 Csctl_Sid;
0161 U32 Type_Fctl;
0162 U16 SeqCnt;
0163 U8 Dfctl;
0164 U8 SeqId;
0165 U16 Rxid;
0166 U16 Oxid;
0167 U32 Parameter;
0168 SGE_SIMPLE_UNION SGL;
0169 } MSG_LINK_SERVICE_RSP_REQUEST, MPI_POINTER PTR_MSG_LINK_SERVICE_RSP_REQUEST,
0170 LinkServiceRspRequest_t, MPI_POINTER pLinkServiceRspRequest_t;
0171
0172 #define LINK_SERVICE_RSP_FLAGS_IMMEDIATE (0x80)
0173 #define LINK_SERVICE_RSP_FLAGS_PORT_MASK (0x01)
0174
0175
0176
0177 typedef struct _MSG_LINK_SERVICE_RSP_REPLY
0178 {
0179 U16 Reserved;
0180 U8 MsgLength;
0181 U8 Function;
0182 U16 Reserved1;
0183 U8 Reserved_0100_InitiatorIndex;
0184 U8 MsgFlags;
0185 U32 MsgContext;
0186 U16 Reserved3;
0187 U16 IOCStatus;
0188 U32 IOCLogInfo;
0189 U32 InitiatorIndex;
0190 } MSG_LINK_SERVICE_RSP_REPLY, MPI_POINTER PTR_MSG_LINK_SERVICE_RSP_REPLY,
0191 LinkServiceRspReply_t, MPI_POINTER pLinkServiceRspReply_t;
0192
0193
0194
0195
0196
0197
0198 typedef struct _MSG_EXLINK_SERVICE_SEND_REQUEST
0199 {
0200 U8 SendFlags;
0201 U8 AliasIndex;
0202 U8 ChainOffset;
0203 U8 Function;
0204 U32 MsgFlags_Did;
0205 U32 MsgContext;
0206 U32 ElsCommandCode;
0207 SGE_SIMPLE_UNION SGL;
0208 } MSG_EXLINK_SERVICE_SEND_REQUEST, MPI_POINTER PTR_MSG_EXLINK_SERVICE_SEND_REQUEST,
0209 ExLinkServiceSendRequest_t, MPI_POINTER pExLinkServiceSendRequest_t;
0210
0211 #define EX_LINK_SERVICE_SEND_DID_MASK (0x00FFFFFF)
0212 #define EX_LINK_SERVICE_SEND_DID_SHIFT (0)
0213 #define EX_LINK_SERVICE_SEND_MSGFLAGS_MASK (0xFF000000)
0214 #define EX_LINK_SERVICE_SEND_MSGFLAGS_SHIFT (24)
0215
0216
0217
0218 typedef struct _MSG_EXLINK_SERVICE_SEND_REPLY
0219 {
0220 U8 Reserved;
0221 U8 AliasIndex;
0222 U8 MsgLength;
0223 U8 Function;
0224 U16 Reserved1;
0225 U8 Reserved2;
0226 U8 MsgFlags;
0227 U32 MsgContext;
0228 U16 Reserved3;
0229 U16 IOCStatus;
0230 U32 IOCLogInfo;
0231 U32 ResponseLength;
0232 } MSG_EXLINK_SERVICE_SEND_REPLY, MPI_POINTER PTR_MSG_EXLINK_SERVICE_SEND_REPLY,
0233 ExLinkServiceSendReply_t, MPI_POINTER pExLinkServiceSendReply_t;
0234
0235
0236
0237
0238
0239 typedef struct _MSG_FC_ABORT_REQUEST
0240 {
0241 U8 AbortFlags;
0242 U8 AbortType;
0243 U8 ChainOffset;
0244 U8 Function;
0245 U16 Reserved1;
0246 U8 Reserved2;
0247 U8 MsgFlags;
0248 U32 MsgContext;
0249 U32 TransactionContextToAbort;
0250 } MSG_FC_ABORT_REQUEST, MPI_POINTER PTR_MSG_FC_ABORT_REQUEST,
0251 FcAbortRequest_t, MPI_POINTER pFcAbortRequest_t;
0252
0253 #define FC_ABORT_FLAG_PORT_MASK (0x01)
0254
0255 #define FC_ABORT_TYPE_ALL_FC_BUFFERS (0x00)
0256 #define FC_ABORT_TYPE_EXACT_FC_BUFFER (0x01)
0257 #define FC_ABORT_TYPE_CT_SEND_REQUEST (0x02)
0258 #define FC_ABORT_TYPE_EXLINKSEND_REQUEST (0x03)
0259
0260
0261 typedef struct _MSG_FC_ABORT_REPLY
0262 {
0263 U16 Reserved;
0264 U8 MsgLength;
0265 U8 Function;
0266 U16 Reserved1;
0267 U8 Reserved2;
0268 U8 MsgFlags;
0269 U32 MsgContext;
0270 U16 Reserved3;
0271 U16 IOCStatus;
0272 U32 IOCLogInfo;
0273 } MSG_FC_ABORT_REPLY, MPI_POINTER PTR_MSG_FC_ABORT_REPLY,
0274 FcAbortReply_t, MPI_POINTER pFcAbortReply_t;
0275
0276
0277
0278
0279
0280
0281 typedef struct _MSG_FC_COMMON_TRANSPORT_SEND_REQUEST
0282 {
0283 U8 SendFlags;
0284 U8 AliasIndex;
0285 U8 ChainOffset;
0286 U8 Function;
0287 U32 MsgFlags_Did;
0288 U32 MsgContext;
0289 U16 CTCommandCode;
0290 U8 FsType;
0291 U8 Reserved1;
0292 SGE_SIMPLE_UNION SGL;
0293 } MSG_FC_COMMON_TRANSPORT_SEND_REQUEST,
0294 MPI_POINTER PTR_MSG_FC_COMMON_TRANSPORT_SEND_REQUEST,
0295 FcCommonTransportSendRequest_t, MPI_POINTER pFcCommonTransportSendRequest_t;
0296
0297 #define MPI_FC_CT_SEND_DID_MASK (0x00FFFFFF)
0298 #define MPI_FC_CT_SEND_DID_SHIFT (0)
0299 #define MPI_FC_CT_SEND_MSGFLAGS_MASK (0xFF000000)
0300 #define MPI_FC_CT_SEND_MSGFLAGS_SHIFT (24)
0301
0302
0303
0304 typedef struct _MSG_FC_COMMON_TRANSPORT_SEND_REPLY
0305 {
0306 U8 Reserved;
0307 U8 AliasIndex;
0308 U8 MsgLength;
0309 U8 Function;
0310 U16 Reserved1;
0311 U8 Reserved2;
0312 U8 MsgFlags;
0313 U32 MsgContext;
0314 U16 Reserved3;
0315 U16 IOCStatus;
0316 U32 IOCLogInfo;
0317 U32 ResponseLength;
0318 } MSG_FC_COMMON_TRANSPORT_SEND_REPLY, MPI_POINTER PTR_MSG_FC_COMMON_TRANSPORT_SEND_REPLY,
0319 FcCommonTransportSendReply_t, MPI_POINTER pFcCommonTransportSendReply_t;
0320
0321
0322
0323
0324
0325
0326 typedef struct _MSG_FC_PRIMITIVE_SEND_REQUEST
0327 {
0328 U8 SendFlags;
0329 U8 Reserved;
0330 U8 ChainOffset;
0331 U8 Function;
0332 U16 Reserved1;
0333 U8 Reserved2;
0334 U8 MsgFlags;
0335 U32 MsgContext;
0336 U8 FcPrimitive[4];
0337 } MSG_FC_PRIMITIVE_SEND_REQUEST, MPI_POINTER PTR_MSG_FC_PRIMITIVE_SEND_REQUEST,
0338 FcPrimitiveSendRequest_t, MPI_POINTER pFcPrimitiveSendRequest_t;
0339
0340 #define MPI_FC_PRIM_SEND_FLAGS_PORT_MASK (0x01)
0341 #define MPI_FC_PRIM_SEND_FLAGS_ML_RESET_LINK (0x02)
0342 #define MPI_FC_PRIM_SEND_FLAGS_RESET_LINK (0x04)
0343 #define MPI_FC_PRIM_SEND_FLAGS_STOP_SEND (0x08)
0344 #define MPI_FC_PRIM_SEND_FLAGS_SEND_ONCE (0x10)
0345 #define MPI_FC_PRIM_SEND_FLAGS_SEND_AROUND (0x20)
0346 #define MPI_FC_PRIM_SEND_FLAGS_UNTIL_FULL (0x40)
0347 #define MPI_FC_PRIM_SEND_FLAGS_FOREVER (0x80)
0348
0349
0350 typedef struct _MSG_FC_PRIMITIVE_SEND_REPLY
0351 {
0352 U8 SendFlags;
0353 U8 Reserved;
0354 U8 MsgLength;
0355 U8 Function;
0356 U16 Reserved1;
0357 U8 Reserved2;
0358 U8 MsgFlags;
0359 U32 MsgContext;
0360 U16 Reserved3;
0361 U16 IOCStatus;
0362 U32 IOCLogInfo;
0363 } MSG_FC_PRIMITIVE_SEND_REPLY, MPI_POINTER PTR_MSG_FC_PRIMITIVE_SEND_REPLY,
0364 FcPrimitiveSendReply_t, MPI_POINTER pFcPrimitiveSendReply_t;
0365
0366 #endif
0367