1 /* 2 * Copyright (c) 2000-2014 LSI Corporation. 3 * 4 * 5 * Name: mpi2_tool.h 6 * Title: MPI diagnostic tool structures and definitions 7 * Creation Date: March 26, 2007 8 * 9 * mpi2_tool.h Version: 02.00.12 10 * 11 * Version History 12 * --------------- 13 * 14 * Date Version Description 15 * -------- -------- ------------------------------------------------------ 16 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. 17 * 12-18-07 02.00.01 Added Diagnostic Buffer Post and Diagnostic Release 18 * structures and defines. 19 * 02-29-08 02.00.02 Modified various names to make them 32-character unique. 20 * 05-06-09 02.00.03 Added ISTWI Read Write Tool and Diagnostic CLI Tool. 21 * 07-30-09 02.00.04 Added ExtendedType field to DiagnosticBufferPost request 22 * and reply messages. 23 * Added MPI2_DIAG_BUF_TYPE_EXTENDED. 24 * Incremented MPI2_DIAG_BUF_TYPE_COUNT. 25 * 05-12-10 02.00.05 Added Diagnostic Data Upload tool. 26 * 08-11-10 02.00.06 Added defines that were missing for Diagnostic Buffer 27 * Post Request. 28 * 05-25-11 02.00.07 Added Flags field and related defines to 29 * MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST. 30 * 11-18-11 02.00.08 Incorporating additions for MPI v2.5. 31 * 07-10-12 02.00.09 Add MPI v2.5 Toolbox Diagnostic CLI Tool Request 32 * message. 33 * 07-26-12 02.00.10 Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that 34 * it uses MPI Chain SGE as well as MPI Simple SGE. 35 * 08-19-13 02.00.11 Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info. 36 * 01-08-14 02.00.12 Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC. 37 * -------------------------------------------------------------------------- 38 */ 39 40 #ifndef MPI2_TOOL_H 41 #define MPI2_TOOL_H 42 43 /***************************************************************************** 44 * 45 * Toolbox Messages 46 * 47 *****************************************************************************/ 48 49 /*defines for the Tools */ 50 #define MPI2_TOOLBOX_CLEAN_TOOL (0x00) 51 #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL (0x01) 52 #define MPI2_TOOLBOX_DIAG_DATA_UPLOAD_TOOL (0x02) 53 #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03) 54 #define MPI2_TOOLBOX_BEACON_TOOL (0x05) 55 #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06) 56 #define MPI2_TOOLBOX_TEXT_DISPLAY_TOOL (0x07) 57 58 /**************************************************************************** 59 * Toolbox reply 60 ****************************************************************************/ 61 62 typedef struct _MPI2_TOOLBOX_REPLY { 63 U8 Tool; /*0x00 */ 64 U8 Reserved1; /*0x01 */ 65 U8 MsgLength; /*0x02 */ 66 U8 Function; /*0x03 */ 67 U16 Reserved2; /*0x04 */ 68 U8 Reserved3; /*0x06 */ 69 U8 MsgFlags; /*0x07 */ 70 U8 VP_ID; /*0x08 */ 71 U8 VF_ID; /*0x09 */ 72 U16 Reserved4; /*0x0A */ 73 U16 Reserved5; /*0x0C */ 74 U16 IOCStatus; /*0x0E */ 75 U32 IOCLogInfo; /*0x10 */ 76 } MPI2_TOOLBOX_REPLY, *PTR_MPI2_TOOLBOX_REPLY, 77 Mpi2ToolboxReply_t, *pMpi2ToolboxReply_t; 78 79 /**************************************************************************** 80 * Toolbox Clean Tool request 81 ****************************************************************************/ 82 83 typedef struct _MPI2_TOOLBOX_CLEAN_REQUEST { 84 U8 Tool; /*0x00 */ 85 U8 Reserved1; /*0x01 */ 86 U8 ChainOffset; /*0x02 */ 87 U8 Function; /*0x03 */ 88 U16 Reserved2; /*0x04 */ 89 U8 Reserved3; /*0x06 */ 90 U8 MsgFlags; /*0x07 */ 91 U8 VP_ID; /*0x08 */ 92 U8 VF_ID; /*0x09 */ 93 U16 Reserved4; /*0x0A */ 94 U32 Flags; /*0x0C */ 95 } MPI2_TOOLBOX_CLEAN_REQUEST, *PTR_MPI2_TOOLBOX_CLEAN_REQUEST, 96 Mpi2ToolboxCleanRequest_t, *pMpi2ToolboxCleanRequest_t; 97 98 /*values for the Flags field */ 99 #define MPI2_TOOLBOX_CLEAN_BOOT_SERVICES (0x80000000) 100 #define MPI2_TOOLBOX_CLEAN_PERSIST_MANUFACT_PAGES (0x40000000) 101 #define MPI2_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES (0x20000000) 102 #define MPI2_TOOLBOX_CLEAN_FW_CURRENT (0x10000000) 103 #define MPI2_TOOLBOX_CLEAN_FW_BACKUP (0x08000000) 104 #define MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC (0x04000000) 105 #define MPI2_TOOLBOX_CLEAN_MEGARAID (0x02000000) 106 #define MPI2_TOOLBOX_CLEAN_INITIALIZATION (0x01000000) 107 #define MPI2_TOOLBOX_CLEAN_FLASH (0x00000004) 108 #define MPI2_TOOLBOX_CLEAN_SEEPROM (0x00000002) 109 #define MPI2_TOOLBOX_CLEAN_NVSRAM (0x00000001) 110 111 /**************************************************************************** 112 * Toolbox Memory Move request 113 ****************************************************************************/ 114 115 typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST { 116 U8 Tool; /*0x00 */ 117 U8 Reserved1; /*0x01 */ 118 U8 ChainOffset; /*0x02 */ 119 U8 Function; /*0x03 */ 120 U16 Reserved2; /*0x04 */ 121 U8 Reserved3; /*0x06 */ 122 U8 MsgFlags; /*0x07 */ 123 U8 VP_ID; /*0x08 */ 124 U8 VF_ID; /*0x09 */ 125 U16 Reserved4; /*0x0A */ 126 MPI2_SGE_SIMPLE_UNION SGL; /*0x0C */ 127 } MPI2_TOOLBOX_MEM_MOVE_REQUEST, *PTR_MPI2_TOOLBOX_MEM_MOVE_REQUEST, 128 Mpi2ToolboxMemMoveRequest_t, *pMpi2ToolboxMemMoveRequest_t; 129 130 /**************************************************************************** 131 * Toolbox Diagnostic Data Upload request 132 ****************************************************************************/ 133 134 typedef struct _MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST { 135 U8 Tool; /*0x00 */ 136 U8 Reserved1; /*0x01 */ 137 U8 ChainOffset; /*0x02 */ 138 U8 Function; /*0x03 */ 139 U16 Reserved2; /*0x04 */ 140 U8 Reserved3; /*0x06 */ 141 U8 MsgFlags; /*0x07 */ 142 U8 VP_ID; /*0x08 */ 143 U8 VF_ID; /*0x09 */ 144 U16 Reserved4; /*0x0A */ 145 U8 SGLFlags; /*0x0C */ 146 U8 Reserved5; /*0x0D */ 147 U16 Reserved6; /*0x0E */ 148 U32 Flags; /*0x10 */ 149 U32 DataLength; /*0x14 */ 150 MPI2_SGE_SIMPLE_UNION SGL; /*0x18 */ 151 } MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, 152 *PTR_MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, 153 Mpi2ToolboxDiagDataUploadRequest_t, 154 *pMpi2ToolboxDiagDataUploadRequest_t; 155 156 /*use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 157 158 typedef struct _MPI2_DIAG_DATA_UPLOAD_HEADER { 159 U32 DiagDataLength; /*00h */ 160 U8 FormatCode; /*04h */ 161 U8 Reserved1; /*05h */ 162 U16 Reserved2; /*06h */ 163 } MPI2_DIAG_DATA_UPLOAD_HEADER, *PTR_MPI2_DIAG_DATA_UPLOAD_HEADER, 164 Mpi2DiagDataUploadHeader_t, *pMpi2DiagDataUploadHeader_t; 165 166 /**************************************************************************** 167 * Toolbox ISTWI Read Write Tool 168 ****************************************************************************/ 169 170 /*Toolbox ISTWI Read Write Tool request message */ 171 typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST { 172 U8 Tool; /*0x00 */ 173 U8 Reserved1; /*0x01 */ 174 U8 ChainOffset; /*0x02 */ 175 U8 Function; /*0x03 */ 176 U16 Reserved2; /*0x04 */ 177 U8 Reserved3; /*0x06 */ 178 U8 MsgFlags; /*0x07 */ 179 U8 VP_ID; /*0x08 */ 180 U8 VF_ID; /*0x09 */ 181 U16 Reserved4; /*0x0A */ 182 U32 Reserved5; /*0x0C */ 183 U32 Reserved6; /*0x10 */ 184 U8 DevIndex; /*0x14 */ 185 U8 Action; /*0x15 */ 186 U8 SGLFlags; /*0x16 */ 187 U8 Flags; /*0x17 */ 188 U16 TxDataLength; /*0x18 */ 189 U16 RxDataLength; /*0x1A */ 190 U32 Reserved8; /*0x1C */ 191 U32 Reserved9; /*0x20 */ 192 U32 Reserved10; /*0x24 */ 193 U32 Reserved11; /*0x28 */ 194 U32 Reserved12; /*0x2C */ 195 MPI2_SGE_SIMPLE_UNION SGL; /*0x30 */ 196 } MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, 197 *PTR_MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, 198 Mpi2ToolboxIstwiReadWriteRequest_t, 199 *pMpi2ToolboxIstwiReadWriteRequest_t; 200 201 /*values for the Action field */ 202 #define MPI2_TOOL_ISTWI_ACTION_READ_DATA (0x01) 203 #define MPI2_TOOL_ISTWI_ACTION_WRITE_DATA (0x02) 204 #define MPI2_TOOL_ISTWI_ACTION_SEQUENCE (0x03) 205 #define MPI2_TOOL_ISTWI_ACTION_RESERVE_BUS (0x10) 206 #define MPI2_TOOL_ISTWI_ACTION_RELEASE_BUS (0x11) 207 #define MPI2_TOOL_ISTWI_ACTION_RESET (0x12) 208 209 /*use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 210 211 /*values for the Flags field */ 212 #define MPI2_TOOL_ISTWI_FLAG_AUTO_RESERVE_RELEASE (0x80) 213 #define MPI2_TOOL_ISTWI_FLAG_PAGE_ADDR_MASK (0x07) 214 215 /*Toolbox ISTWI Read Write Tool reply message */ 216 typedef struct _MPI2_TOOLBOX_ISTWI_REPLY { 217 U8 Tool; /*0x00 */ 218 U8 Reserved1; /*0x01 */ 219 U8 MsgLength; /*0x02 */ 220 U8 Function; /*0x03 */ 221 U16 Reserved2; /*0x04 */ 222 U8 Reserved3; /*0x06 */ 223 U8 MsgFlags; /*0x07 */ 224 U8 VP_ID; /*0x08 */ 225 U8 VF_ID; /*0x09 */ 226 U16 Reserved4; /*0x0A */ 227 U16 Reserved5; /*0x0C */ 228 U16 IOCStatus; /*0x0E */ 229 U32 IOCLogInfo; /*0x10 */ 230 U8 DevIndex; /*0x14 */ 231 U8 Action; /*0x15 */ 232 U8 IstwiStatus; /*0x16 */ 233 U8 Reserved6; /*0x17 */ 234 U16 TxDataCount; /*0x18 */ 235 U16 RxDataCount; /*0x1A */ 236 } MPI2_TOOLBOX_ISTWI_REPLY, *PTR_MPI2_TOOLBOX_ISTWI_REPLY, 237 Mpi2ToolboxIstwiReply_t, *pMpi2ToolboxIstwiReply_t; 238 239 /**************************************************************************** 240 * Toolbox Beacon Tool request 241 ****************************************************************************/ 242 243 typedef struct _MPI2_TOOLBOX_BEACON_REQUEST { 244 U8 Tool; /*0x00 */ 245 U8 Reserved1; /*0x01 */ 246 U8 ChainOffset; /*0x02 */ 247 U8 Function; /*0x03 */ 248 U16 Reserved2; /*0x04 */ 249 U8 Reserved3; /*0x06 */ 250 U8 MsgFlags; /*0x07 */ 251 U8 VP_ID; /*0x08 */ 252 U8 VF_ID; /*0x09 */ 253 U16 Reserved4; /*0x0A */ 254 U8 Reserved5; /*0x0C */ 255 U8 PhysicalPort; /*0x0D */ 256 U8 Reserved6; /*0x0E */ 257 U8 Flags; /*0x0F */ 258 } MPI2_TOOLBOX_BEACON_REQUEST, *PTR_MPI2_TOOLBOX_BEACON_REQUEST, 259 Mpi2ToolboxBeaconRequest_t, *pMpi2ToolboxBeaconRequest_t; 260 261 /*values for the Flags field */ 262 #define MPI2_TOOLBOX_FLAGS_BEACONMODE_OFF (0x00) 263 #define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON (0x01) 264 265 /**************************************************************************** 266 * Toolbox Diagnostic CLI Tool 267 ****************************************************************************/ 268 269 #define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH (0x5C) 270 271 /*MPI v2.0 Toolbox Diagnostic CLI Tool request message */ 272 typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST { 273 U8 Tool; /*0x00 */ 274 U8 Reserved1; /*0x01 */ 275 U8 ChainOffset; /*0x02 */ 276 U8 Function; /*0x03 */ 277 U16 Reserved2; /*0x04 */ 278 U8 Reserved3; /*0x06 */ 279 U8 MsgFlags; /*0x07 */ 280 U8 VP_ID; /*0x08 */ 281 U8 VF_ID; /*0x09 */ 282 U16 Reserved4; /*0x0A */ 283 U8 SGLFlags; /*0x0C */ 284 U8 Reserved5; /*0x0D */ 285 U16 Reserved6; /*0x0E */ 286 U32 DataLength; /*0x10 */ 287 U8 DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH];/*0x14 */ 288 MPI2_MPI_SGE_IO_UNION SGL; /*0x70 */ 289 } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 290 *PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 291 Mpi2ToolboxDiagnosticCliRequest_t, 292 *pMpi2ToolboxDiagnosticCliRequest_t; 293 294 /*use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 295 296 /*MPI v2.5 Toolbox Diagnostic CLI Tool request message */ 297 typedef struct _MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST { 298 U8 Tool; /*0x00 */ 299 U8 Reserved1; /*0x01 */ 300 U8 ChainOffset; /*0x02 */ 301 U8 Function; /*0x03 */ 302 U16 Reserved2; /*0x04 */ 303 U8 Reserved3; /*0x06 */ 304 U8 MsgFlags; /*0x07 */ 305 U8 VP_ID; /*0x08 */ 306 U8 VF_ID; /*0x09 */ 307 U16 Reserved4; /*0x0A */ 308 U32 Reserved5; /*0x0C */ 309 U32 DataLength; /*0x10 */ 310 U8 DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH];/*0x14 */ 311 MPI25_SGE_IO_UNION SGL; /* 0x70 */ 312 } MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 313 *PTR_MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 314 Mpi25ToolboxDiagnosticCliRequest_t, 315 *pMpi25ToolboxDiagnosticCliRequest_t; 316 317 /*Toolbox Diagnostic CLI Tool reply message */ 318 typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY { 319 U8 Tool; /*0x00 */ 320 U8 Reserved1; /*0x01 */ 321 U8 MsgLength; /*0x02 */ 322 U8 Function; /*0x03 */ 323 U16 Reserved2; /*0x04 */ 324 U8 Reserved3; /*0x06 */ 325 U8 MsgFlags; /*0x07 */ 326 U8 VP_ID; /*0x08 */ 327 U8 VF_ID; /*0x09 */ 328 U16 Reserved4; /*0x0A */ 329 U16 Reserved5; /*0x0C */ 330 U16 IOCStatus; /*0x0E */ 331 U32 IOCLogInfo; /*0x10 */ 332 U32 ReturnedDataLength; /*0x14 */ 333 } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY, 334 *PTR_MPI2_TOOLBOX_DIAG_CLI_REPLY, 335 Mpi2ToolboxDiagnosticCliReply_t, 336 *pMpi2ToolboxDiagnosticCliReply_t; 337 338 339 /**************************************************************************** 340 * Toolbox Console Text Display Tool 341 ****************************************************************************/ 342 343 /* Toolbox Console Text Display Tool request message */ 344 typedef struct _MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST { 345 U8 Tool; /* 0x00 */ 346 U8 Reserved1; /* 0x01 */ 347 U8 ChainOffset; /* 0x02 */ 348 U8 Function; /* 0x03 */ 349 U16 Reserved2; /* 0x04 */ 350 U8 Reserved3; /* 0x06 */ 351 U8 MsgFlags; /* 0x07 */ 352 U8 VP_ID; /* 0x08 */ 353 U8 VF_ID; /* 0x09 */ 354 U16 Reserved4; /* 0x0A */ 355 U8 Console; /* 0x0C */ 356 U8 Flags; /* 0x0D */ 357 U16 Reserved6; /* 0x0E */ 358 U8 TextToDisplay[4]; /* 0x10 */ 359 } MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST, 360 *PTR_MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST, 361 Mpi2ToolboxTextDisplayRequest_t, 362 *pMpi2ToolboxTextDisplayRequest_t; 363 364 /* defines for the Console field */ 365 #define MPI2_TOOLBOX_CONSOLE_TYPE_MASK (0xF0) 366 #define MPI2_TOOLBOX_CONSOLE_TYPE_DEFAULT (0x00) 367 #define MPI2_TOOLBOX_CONSOLE_TYPE_UART (0x10) 368 #define MPI2_TOOLBOX_CONSOLE_TYPE_ETHERNET (0x20) 369 370 #define MPI2_TOOLBOX_CONSOLE_NUMBER_MASK (0x0F) 371 372 /* defines for the Flags field */ 373 #define MPI2_TOOLBOX_CONSOLE_FLAG_TIMESTAMP (0x01) 374 375 376 377 /***************************************************************************** 378 * 379 * Diagnostic Buffer Messages 380 * 381 *****************************************************************************/ 382 383 /**************************************************************************** 384 * Diagnostic Buffer Post request 385 ****************************************************************************/ 386 387 typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST { 388 U8 ExtendedType; /*0x00 */ 389 U8 BufferType; /*0x01 */ 390 U8 ChainOffset; /*0x02 */ 391 U8 Function; /*0x03 */ 392 U16 Reserved2; /*0x04 */ 393 U8 Reserved3; /*0x06 */ 394 U8 MsgFlags; /*0x07 */ 395 U8 VP_ID; /*0x08 */ 396 U8 VF_ID; /*0x09 */ 397 U16 Reserved4; /*0x0A */ 398 U64 BufferAddress; /*0x0C */ 399 U32 BufferLength; /*0x14 */ 400 U32 Reserved5; /*0x18 */ 401 U32 Reserved6; /*0x1C */ 402 U32 Flags; /*0x20 */ 403 U32 ProductSpecific[23]; /*0x24 */ 404 } MPI2_DIAG_BUFFER_POST_REQUEST, *PTR_MPI2_DIAG_BUFFER_POST_REQUEST, 405 Mpi2DiagBufferPostRequest_t, *pMpi2DiagBufferPostRequest_t; 406 407 /*values for the ExtendedType field */ 408 #define MPI2_DIAG_EXTENDED_TYPE_UTILIZATION (0x02) 409 410 /*values for the BufferType field */ 411 #define MPI2_DIAG_BUF_TYPE_TRACE (0x00) 412 #define MPI2_DIAG_BUF_TYPE_SNAPSHOT (0x01) 413 #define MPI2_DIAG_BUF_TYPE_EXTENDED (0x02) 414 /*count of the number of buffer types */ 415 #define MPI2_DIAG_BUF_TYPE_COUNT (0x03) 416 417 /*values for the Flags field */ 418 #define MPI2_DIAG_BUF_FLAG_RELEASE_ON_FULL (0x00000002) 419 #define MPI2_DIAG_BUF_FLAG_IMMEDIATE_RELEASE (0x00000001) 420 421 /**************************************************************************** 422 * Diagnostic Buffer Post reply 423 ****************************************************************************/ 424 425 typedef struct _MPI2_DIAG_BUFFER_POST_REPLY { 426 U8 ExtendedType; /*0x00 */ 427 U8 BufferType; /*0x01 */ 428 U8 MsgLength; /*0x02 */ 429 U8 Function; /*0x03 */ 430 U16 Reserved2; /*0x04 */ 431 U8 Reserved3; /*0x06 */ 432 U8 MsgFlags; /*0x07 */ 433 U8 VP_ID; /*0x08 */ 434 U8 VF_ID; /*0x09 */ 435 U16 Reserved4; /*0x0A */ 436 U16 Reserved5; /*0x0C */ 437 U16 IOCStatus; /*0x0E */ 438 U32 IOCLogInfo; /*0x10 */ 439 U32 TransferLength; /*0x14 */ 440 } MPI2_DIAG_BUFFER_POST_REPLY, *PTR_MPI2_DIAG_BUFFER_POST_REPLY, 441 Mpi2DiagBufferPostReply_t, *pMpi2DiagBufferPostReply_t; 442 443 /**************************************************************************** 444 * Diagnostic Release request 445 ****************************************************************************/ 446 447 typedef struct _MPI2_DIAG_RELEASE_REQUEST { 448 U8 Reserved1; /*0x00 */ 449 U8 BufferType; /*0x01 */ 450 U8 ChainOffset; /*0x02 */ 451 U8 Function; /*0x03 */ 452 U16 Reserved2; /*0x04 */ 453 U8 Reserved3; /*0x06 */ 454 U8 MsgFlags; /*0x07 */ 455 U8 VP_ID; /*0x08 */ 456 U8 VF_ID; /*0x09 */ 457 U16 Reserved4; /*0x0A */ 458 } MPI2_DIAG_RELEASE_REQUEST, *PTR_MPI2_DIAG_RELEASE_REQUEST, 459 Mpi2DiagReleaseRequest_t, *pMpi2DiagReleaseRequest_t; 460 461 /**************************************************************************** 462 * Diagnostic Buffer Post reply 463 ****************************************************************************/ 464 465 typedef struct _MPI2_DIAG_RELEASE_REPLY { 466 U8 Reserved1; /*0x00 */ 467 U8 BufferType; /*0x01 */ 468 U8 MsgLength; /*0x02 */ 469 U8 Function; /*0x03 */ 470 U16 Reserved2; /*0x04 */ 471 U8 Reserved3; /*0x06 */ 472 U8 MsgFlags; /*0x07 */ 473 U8 VP_ID; /*0x08 */ 474 U8 VF_ID; /*0x09 */ 475 U16 Reserved4; /*0x0A */ 476 U16 Reserved5; /*0x0C */ 477 U16 IOCStatus; /*0x0E */ 478 U32 IOCLogInfo; /*0x10 */ 479 } MPI2_DIAG_RELEASE_REPLY, *PTR_MPI2_DIAG_RELEASE_REPLY, 480 Mpi2DiagReleaseReply_t, *pMpi2DiagReleaseReply_t; 481 482 #endif 483