Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiProto.h
- Timestamp:
- Apr 14, 2023 3:17:44 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 156854
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-145445 /vendor/edk2/current 103735-103757,103769-103776,129194-156846
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiProto.h
r85718 r99404 25 25 ) 26 26 27 #define ISCSI_WELL_KNOWN_PORT 28 #define ISCSI_MAX_CONNS_PER_SESSION 29 30 #define DEFAULT_MAX_RECV_DATA_SEG_LEN 31 #define MAX_RECV_DATA_SEG_LEN_IN_FFP 32 #define DEFAULT_MAX_OUTSTANDING_R2T 33 34 #define ISCSI_VERSION_MAX 35 #define ISCSI_VERSION_MIN 36 37 #define ISCSI_CHECK_MEDIA_LOGIN_WAITING_TIME 38 #define ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME 39 40 #define ISCSI_REDIRECT_ADDR_START_DELIMITER 41 #define ISCSI_REDIRECT_ADDR_END_DELIMITER 27 #define ISCSI_WELL_KNOWN_PORT 3260 28 #define ISCSI_MAX_CONNS_PER_SESSION 1 29 30 #define DEFAULT_MAX_RECV_DATA_SEG_LEN 8192 31 #define MAX_RECV_DATA_SEG_LEN_IN_FFP 65536 32 #define DEFAULT_MAX_OUTSTANDING_R2T 1 33 34 #define ISCSI_VERSION_MAX 0x00 35 #define ISCSI_VERSION_MIN 0x00 36 37 #define ISCSI_CHECK_MEDIA_LOGIN_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20) 38 #define ISCSI_CHECK_MEDIA_GET_DHCP_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20) 39 40 #define ISCSI_REDIRECT_ADDR_START_DELIMITER '[' 41 #define ISCSI_REDIRECT_ADDR_END_DELIMITER ']' 42 42 43 43 #define ISCSI_KEY_AUTH_METHOD "AuthMethod" … … 64 64 #define ISCSI_KEY_MAX_RECV_DATA_SEGMENT_LENGTH "MaxRecvDataSegmentLength" 65 65 66 #define ISCSI_KEY_VALUE_NONE 66 #define ISCSI_KEY_VALUE_NONE "None" 67 67 68 68 /// … … 70 70 /// 71 71 72 #define CONN_STATE_FREE 73 #define CONN_STATE_XPT_WAIT 74 #define CONN_STATE_IN_LOGIN 75 #define CONN_STATE_LOGGED_IN 76 #define CONN_STATE_IN_LOGOUT 77 #define CONN_STATE_LOGOUT_REQUESTED 78 #define CONN_STATE_CLEANUP_WAIT 79 #define CONN_STATE_IN_CLEANUP 72 #define CONN_STATE_FREE 0 73 #define CONN_STATE_XPT_WAIT 1 74 #define CONN_STATE_IN_LOGIN 2 75 #define CONN_STATE_LOGGED_IN 3 76 #define CONN_STATE_IN_LOGOUT 4 77 #define CONN_STATE_LOGOUT_REQUESTED 5 78 #define CONN_STATE_CLEANUP_WAIT 6 79 #define CONN_STATE_IN_CLEANUP 7 80 80 81 81 /// 82 82 /// session state for initiator 83 83 /// 84 #define SESSION_STATE_FREE 85 #define SESSION_STATE_LOGGED_IN 86 #define SESSION_STATE_FAILED 87 88 #define ISCSI_RESERVED_TAG 89 90 #define ISCSI_REQ_IMMEDIATE 91 #define ISCSI_OPCODE_MASK 84 #define SESSION_STATE_FREE 0 85 #define SESSION_STATE_LOGGED_IN 1 86 #define SESSION_STATE_FAILED 2 87 88 #define ISCSI_RESERVED_TAG 0xffffffff 89 90 #define ISCSI_REQ_IMMEDIATE 0x40 91 #define ISCSI_OPCODE_MASK 0x3F 92 92 93 93 #define ISCSI_SET_OPCODE(PduHdr, Op, Flgs) ((((ISCSI_BASIC_HEADER *) (PduHdr))->OpCode) = ((Op) | (Flgs))) … … 102 102 #define ISCSI_GET_NEXT_STAGE(PduHdr) ((UINT8) (((PduHdr)->Flags) & 0x3)) 103 103 104 #define ISCSI_GET_PAD_LEN(DataLen) 105 #define ISCSI_ROUNDUP(DataLen) 104 #define ISCSI_GET_PAD_LEN(DataLen) ((~(DataLen) + 1) & 0x3) 105 #define ISCSI_ROUNDUP(DataLen) (((DataLen) + 3) &~(0x3)) 106 106 107 107 #define HTON24(Dst, Src) \ … … 112 112 } while (0); 113 113 114 #define NTOH24(src) 114 #define NTOH24(src) (((src)[0] << 16) | ((src)[1] << 8) | ((src)[2])) 115 115 116 116 #define ISCSI_GET_DATASEG_LEN(PduHdr) NTOH24 (((ISCSI_BASIC_HEADER *) (PduHdr))->DataSegmentLength) … … 136 136 // Target opcodes. 137 137 // 138 #define ISCSI_OPCODE_NOP_IN 0x20139 #define ISCSI_OPCODE_SCSI_RSP 0x21140 #define ISCSI_OPCODE_SCSI_TMF_RSP 0x22141 #define ISCSI_OPCODE_LOGIN_RSP 0x23142 #define ISCSI_OPCODE_TEXT_RSP 0x24143 #define ISCSI_OPCODE_SCSI_DATA_IN 0x25144 #define ISCSI_OPCODE_LOGOUT_RSP 0x26145 #define ISCSI_OPCODE_R2T 0x31146 #define ISCSI_OPCODE_ASYNC_MSG 0x32147 #define ISCSI_OPCODE_VENDOR_T0 0x3c148 #define ISCSI_OPCODE_VENDOR_T1 0x3d149 #define ISCSI_OPCODE_VENDOR_T2 0x3e150 #define ISCSI_OPCODE_REJECT 0x3f151 152 #define ISCSI_BHS_FLAG_FINAL 138 #define ISCSI_OPCODE_NOP_IN 0x20 139 #define ISCSI_OPCODE_SCSI_RSP 0x21 140 #define ISCSI_OPCODE_SCSI_TMF_RSP 0x22 141 #define ISCSI_OPCODE_LOGIN_RSP 0x23 142 #define ISCSI_OPCODE_TEXT_RSP 0x24 143 #define ISCSI_OPCODE_SCSI_DATA_IN 0x25 144 #define ISCSI_OPCODE_LOGOUT_RSP 0x26 145 #define ISCSI_OPCODE_R2T 0x31 146 #define ISCSI_OPCODE_ASYNC_MSG 0x32 147 #define ISCSI_OPCODE_VENDOR_T0 0x3c 148 #define ISCSI_OPCODE_VENDOR_T1 0x3d 149 #define ISCSI_OPCODE_VENDOR_T2 0x3e 150 #define ISCSI_OPCODE_REJECT 0x3f 151 152 #define ISCSI_BHS_FLAG_FINAL 0x80 153 153 154 154 // 155 155 // Defined AHS types, others are reserved. 156 156 // 157 #define ISCSI_AHS_TYPE_EXT_CDB 0x1158 #define ISCSI_AHS_TYPE_BI_EXP_READ_DATA_LEN 0x2159 160 #define SCSI_CMD_PDU_FLAG_READ 161 #define SCSI_CMD_PDU_FLAG_WRITE 157 #define ISCSI_AHS_TYPE_EXT_CDB 0x1 158 #define ISCSI_AHS_TYPE_BI_EXP_READ_DATA_LEN 0x2 159 160 #define SCSI_CMD_PDU_FLAG_READ 0x40 161 #define SCSI_CMD_PDU_FLAG_WRITE 0x20 162 162 163 163 #define ISCSI_CMD_PDU_TASK_ATTR_MASK 0x07 … … 175 175 // Flag bit definitions in SCSI response. 176 176 // 177 #define SCSI_RSP_PDU_FLAG_BI_READ_OVERFLOW 0x10178 #define SCSI_RSP_PDU_FLAG_BI_READ_UNDERFLOW 0x08179 #define SCSI_RSP_PDU_FLAG_OVERFLOW 0x04180 #define SCSI_RSP_PDU_FLAG_UNDERFLOW 0x02177 #define SCSI_RSP_PDU_FLAG_BI_READ_OVERFLOW 0x10 178 #define SCSI_RSP_PDU_FLAG_BI_READ_UNDERFLOW 0x08 179 #define SCSI_RSP_PDU_FLAG_OVERFLOW 0x04 180 #define SCSI_RSP_PDU_FLAG_UNDERFLOW 0x02 181 181 182 182 // … … 186 186 #define ISCSI_SERVICE_RSP_TARGET_FAILURE 0x01 187 187 188 #define ISCSI_TMF_RSP_PDU_RSP_FUNCTION_COMPLETE 0189 #define ISCSI_TMF_RSP_PDU_RSP_TASK_NOT_EXIST 1190 #define ISCSI_TMF_RSP_PDU_RSP_LUN_NOT_EXIST 2191 #define ISCSI_TMF_RSP_PDU_RSP_TASK_STILL_ALLEGIANT 3192 #define ISCSI_TMF_RSP_PDU_RSP_TASK_REASSGIN_NOT_SUPPORTED 4193 #define ISCSI_TMF_RSP_PDU_RSP_NOT_SUPPORTED 5194 #define ISCSI_TMF_RSP_PDU_RSP_FUNCTION_AHTH_FAILED 6195 #define ISCSI_TMF_RSP_PDU_RSP_FUNCTION_REJECTED 255188 #define ISCSI_TMF_RSP_PDU_RSP_FUNCTION_COMPLETE 0 189 #define ISCSI_TMF_RSP_PDU_RSP_TASK_NOT_EXIST 1 190 #define ISCSI_TMF_RSP_PDU_RSP_LUN_NOT_EXIST 2 191 #define ISCSI_TMF_RSP_PDU_RSP_TASK_STILL_ALLEGIANT 3 192 #define ISCSI_TMF_RSP_PDU_RSP_TASK_REASSGIN_NOT_SUPPORTED 4 193 #define ISCSI_TMF_RSP_PDU_RSP_NOT_SUPPORTED 5 194 #define ISCSI_TMF_RSP_PDU_RSP_FUNCTION_AHTH_FAILED 6 195 #define ISCSI_TMF_RSP_PDU_RSP_FUNCTION_REJECTED 255 196 196 197 197 #define SCSI_DATA_IN_PDU_FLAG_ACKKNOWLEDGE 0x40 … … 200 200 #define SCSI_DATA_IN_PDU_FLAG_STATUS_VALID 0x01 201 201 202 #define ISCSI_LOGIN_REQ_PDU_FLAG_TRANSIT 0x80203 #define ISCSI_LOGIN_REQ_PDU_FLAG_CONTINUE 0x40204 205 #define ISCSI_LOGIN_RSP_PDU_FLAG_TRANSIT 206 #define ISCSI_LOGIN_RSP_PDU_FLAG_CONTINUE 202 #define ISCSI_LOGIN_REQ_PDU_FLAG_TRANSIT 0x80 203 #define ISCSI_LOGIN_REQ_PDU_FLAG_CONTINUE 0x40 204 205 #define ISCSI_LOGIN_RSP_PDU_FLAG_TRANSIT ISCSI_LOGIN_REQ_PDU_FLAG_TRANSIT 206 #define ISCSI_LOGIN_RSP_PDU_FLAG_CONTINUE ISCSI_LOGIN_REQ_PDU_FLAG_CONTINUE 207 207 208 208 #define ISCSI_LOGIN_STATUS_SUCCESS 0 … … 225 225 #define ISCSI_SNACK_REQUEST_TYPE_RDATA 3 226 226 227 #define ISCSI_SECURITY_NEGOTIATION 0228 #define ISCSI_LOGIN_OPERATIONAL_NEGOTIATION 1229 #define ISCSI_FULL_FEATURE_PHASE 3230 231 typedef struct _ISCSI_SESSION 232 typedef struct _ISCSI_CONNECTION 227 #define ISCSI_SECURITY_NEGOTIATION 0 228 #define ISCSI_LOGIN_OPERATIONAL_NEGOTIATION 1 229 #define ISCSI_FULL_FEATURE_PHASE 3 230 231 typedef struct _ISCSI_SESSION ISCSI_SESSION; 232 typedef struct _ISCSI_CONNECTION ISCSI_CONNECTION; 233 233 234 234 typedef enum { … … 242 242 /// 243 243 typedef struct _ISCSI_BASIC_HEADER { 244 UINT8 OpCode;245 UINT8 Flags;246 UINT16 OpCodeSpecific1;247 UINT8 TotalAHSLength;248 UINT8 DataSegmentLength[3];249 UINT8 Lun[8];250 UINT32 InitiatorTaskTag;251 UINT32 OpCodeSpecific2[7];244 UINT8 OpCode; 245 UINT8 Flags; 246 UINT16 OpCodeSpecific1; 247 UINT8 TotalAHSLength; 248 UINT8 DataSegmentLength[3]; 249 UINT8 Lun[8]; 250 UINT32 InitiatorTaskTag; 251 UINT32 OpCodeSpecific2[7]; 252 252 } ISCSI_BASIC_HEADER; 253 253 254 254 typedef struct _ISCSI_ADDTIONAL_HEADER { 255 UINT16 Length;256 UINT8 Type;257 UINT8 TypeSpecific[1];255 UINT16 Length; 256 UINT8 Type; 257 UINT8 TypeSpecific[1]; 258 258 } ISCSI_ADDITIONAL_HEADER; 259 259 260 260 typedef struct _ISCSI_BI_EXP_READ_DATA_LEN_AHS { 261 UINT16 Length;262 UINT8 Type;263 UINT8 Reserved;264 UINT32 ExpReadDataLength;261 UINT16 Length; 262 UINT8 Type; 263 UINT8 Reserved; 264 UINT32 ExpReadDataLength; 265 265 } ISCSI_BI_EXP_READ_DATA_LEN_AHS; 266 266 … … 269 269 /// 270 270 typedef struct _SCSI_COMMAND { 271 UINT8 OpCode;272 UINT8 Flags;273 UINT16 Reserved;274 UINT8 TotalAHSLength;275 UINT8 DataSegmentLength[3];276 UINT8 Lun[8];277 UINT32 InitiatorTaskTag;278 UINT32 ExpDataXferLength;279 UINT32 CmdSN;280 UINT32 ExpStatSN;281 UINT8 Cdb[16];271 UINT8 OpCode; 272 UINT8 Flags; 273 UINT16 Reserved; 274 UINT8 TotalAHSLength; 275 UINT8 DataSegmentLength[3]; 276 UINT8 Lun[8]; 277 UINT32 InitiatorTaskTag; 278 UINT32 ExpDataXferLength; 279 UINT32 CmdSN; 280 UINT32 ExpStatSN; 281 UINT8 Cdb[16]; 282 282 } SCSI_COMMAND; 283 283 … … 286 286 /// 287 287 typedef struct _SCSI_RESPONSE { 288 UINT8 OpCode;289 UINT8 Flags;290 UINT8 Response;291 UINT8 Status;292 UINT8 TotalAHSLength;293 UINT8 DataSegmentLength[3];294 UINT8 Reserved[8];295 UINT32 InitiatorTaskTag;296 UINT32 SNACKTag;297 UINT32 StatSN;298 UINT32 ExpCmdSN;299 UINT32 MaxCmdSN;300 UINT32 ExpDataSN;301 UINT32 BiReadResidualCount;302 UINT32 ResidualCount;288 UINT8 OpCode; 289 UINT8 Flags; 290 UINT8 Response; 291 UINT8 Status; 292 UINT8 TotalAHSLength; 293 UINT8 DataSegmentLength[3]; 294 UINT8 Reserved[8]; 295 UINT32 InitiatorTaskTag; 296 UINT32 SNACKTag; 297 UINT32 StatSN; 298 UINT32 ExpCmdSN; 299 UINT32 MaxCmdSN; 300 UINT32 ExpDataSN; 301 UINT32 BiReadResidualCount; 302 UINT32 ResidualCount; 303 303 } SCSI_RESPONSE; 304 304 305 305 typedef struct _ISCSI_SENSE_DATA { 306 UINT16 Length;307 UINT8 Data[2];306 UINT16 Length; 307 UINT8 Data[2]; 308 308 } ISCSI_SENSE_DATA; 309 309 … … 312 312 /// 313 313 typedef struct _ISCSI_TMF_REQUEST { 314 UINT8 OpCode;315 UINT8 Fuction;316 UINT16 Reserved1;317 UINT8 TotalAHSLength;318 UINT8 DataSegmentLength[3];319 UINT8 Lun[8];320 UINT32 InitiatorTaskTag;321 UINT32 ReferencedTaskTag;322 UINT32 CmdSN;323 UINT32 ExpStatSN;324 UINT32 RefCmdSN;325 UINT32 ExpDataSN;326 UINT32 Reserved2[2];314 UINT8 OpCode; 315 UINT8 Fuction; 316 UINT16 Reserved1; 317 UINT8 TotalAHSLength; 318 UINT8 DataSegmentLength[3]; 319 UINT8 Lun[8]; 320 UINT32 InitiatorTaskTag; 321 UINT32 ReferencedTaskTag; 322 UINT32 CmdSN; 323 UINT32 ExpStatSN; 324 UINT32 RefCmdSN; 325 UINT32 ExpDataSN; 326 UINT32 Reserved2[2]; 327 327 } ISCSI_TMF_REQUEST; 328 328 … … 331 331 /// 332 332 typedef struct _ISCSI_TMF_RESPONSE { 333 UINT8 OpCode;334 UINT8 Reserved1;335 UINT8 Response;336 UINT8 Reserved2;337 UINT8 TotalAHSLength;338 UINT8 DataSegmentLength[3];339 UINT32 Reserver3[2];340 UINT32 InitiatorTaskTag;341 UINT32 Reserved4;342 UINT32 StatSN;343 UINT32 ExpCmdSN;344 UINT32 MaxCmdSN;345 UINT32 Reserved[3];333 UINT8 OpCode; 334 UINT8 Reserved1; 335 UINT8 Response; 336 UINT8 Reserved2; 337 UINT8 TotalAHSLength; 338 UINT8 DataSegmentLength[3]; 339 UINT32 Reserver3[2]; 340 UINT32 InitiatorTaskTag; 341 UINT32 Reserved4; 342 UINT32 StatSN; 343 UINT32 ExpCmdSN; 344 UINT32 MaxCmdSN; 345 UINT32 Reserved[3]; 346 346 } ISCSI_TMF_RESPONSE; 347 347 … … 350 350 /// 351 351 typedef struct _ISCSI_SCSI_DATA_OUT { 352 UINT8 OpCode;353 UINT8 Reserved1[3];354 UINT8 TotalAHSLength;355 UINT8 DataSegmentLength[3];356 UINT8 Lun[8];357 UINT32 InitiatorTaskTag;358 UINT32 TargetTransferTag;359 UINT32 Reserved2;360 UINT32 ExpStatSN;361 UINT32 Reserved3;362 UINT32 DataSN;363 UINT32 BufferOffset;364 UINT32 Reserved4;352 UINT8 OpCode; 353 UINT8 Reserved1[3]; 354 UINT8 TotalAHSLength; 355 UINT8 DataSegmentLength[3]; 356 UINT8 Lun[8]; 357 UINT32 InitiatorTaskTag; 358 UINT32 TargetTransferTag; 359 UINT32 Reserved2; 360 UINT32 ExpStatSN; 361 UINT32 Reserved3; 362 UINT32 DataSN; 363 UINT32 BufferOffset; 364 UINT32 Reserved4; 365 365 } ISCSI_SCSI_DATA_OUT; 366 366 … … 369 369 /// 370 370 typedef struct _ISCSI_SCSI_DATA_IN { 371 UINT8 OpCode;372 UINT8 Flags;373 UINT8 Reserved1;374 UINT8 Status;375 UINT8 TotalAHSLength;376 UINT8 DataSegmentLength[3];377 UINT8 Lun[8];378 UINT32 InitiatorTaskTag;379 UINT32 TargetTransferTag;380 UINT32 StatSN;381 UINT32 ExpCmdSN;382 UINT32 MaxCmdSN;383 UINT32 DataSN;384 UINT32 BufferOffset;385 UINT32 ResidualCount;371 UINT8 OpCode; 372 UINT8 Flags; 373 UINT8 Reserved1; 374 UINT8 Status; 375 UINT8 TotalAHSLength; 376 UINT8 DataSegmentLength[3]; 377 UINT8 Lun[8]; 378 UINT32 InitiatorTaskTag; 379 UINT32 TargetTransferTag; 380 UINT32 StatSN; 381 UINT32 ExpCmdSN; 382 UINT32 MaxCmdSN; 383 UINT32 DataSN; 384 UINT32 BufferOffset; 385 UINT32 ResidualCount; 386 386 } ISCSI_SCSI_DATA_IN; 387 387 … … 390 390 /// 391 391 typedef struct _ISCSI_READY_TO_TRANSFER { 392 UINT8 OpCode;393 UINT8 Reserved1[3];394 UINT8 TotalAHSLength;395 UINT8 DataSegmentLength[3];396 UINT8 Lun[8];397 UINT32 InitiatorTaskTag;398 UINT32 TargetTransferTag;399 UINT32 StatSN;400 UINT32 ExpCmdSN;401 UINT32 MaxCmdSN;402 UINT32 R2TSeqNum;403 UINT32 BufferOffset;404 UINT32 DesiredDataTransferLength;392 UINT8 OpCode; 393 UINT8 Reserved1[3]; 394 UINT8 TotalAHSLength; 395 UINT8 DataSegmentLength[3]; 396 UINT8 Lun[8]; 397 UINT32 InitiatorTaskTag; 398 UINT32 TargetTransferTag; 399 UINT32 StatSN; 400 UINT32 ExpCmdSN; 401 UINT32 MaxCmdSN; 402 UINT32 R2TSeqNum; 403 UINT32 BufferOffset; 404 UINT32 DesiredDataTransferLength; 405 405 } ISCSI_READY_TO_TRANSFER; 406 406 407 407 typedef struct _ISCSI_ASYNC_MESSAGE { 408 UINT8 OpCode;409 UINT8 Reserved1[8];410 UINT8 TotalAHSLength;411 UINT8 DataSegmentLength[3];412 UINT8 Lun[8];413 UINT32 InitiatorTaskTag;414 UINT32 Reserved2;415 UINT32 StatSN;416 UINT32 ExpCmdSN;417 UINT32 MaxCmdSN;418 UINT8 AsyncEvent;419 UINT8 AsyncVCode;420 UINT16 Parameter1;421 UINT16 Parameter2;422 UINT16 Parameter3;423 UINT32 Reserved3;408 UINT8 OpCode; 409 UINT8 Reserved1[8]; 410 UINT8 TotalAHSLength; 411 UINT8 DataSegmentLength[3]; 412 UINT8 Lun[8]; 413 UINT32 InitiatorTaskTag; 414 UINT32 Reserved2; 415 UINT32 StatSN; 416 UINT32 ExpCmdSN; 417 UINT32 MaxCmdSN; 418 UINT8 AsyncEvent; 419 UINT8 AsyncVCode; 420 UINT16 Parameter1; 421 UINT16 Parameter2; 422 UINT16 Parameter3; 423 UINT32 Reserved3; 424 424 } ISCSI_ASYNC_MESSAGE; 425 425 … … 428 428 /// 429 429 typedef struct _ISCSI_LOGIN_REQUEST { 430 UINT8 OpCode;431 UINT8 Flags;432 UINT8 VersionMax;433 UINT8 VersionMin;434 UINT8 TotalAHSLength;435 UINT8 DataSegmentLength[3];436 UINT8 Isid[6];437 UINT16 Tsih;438 UINT32 InitiatorTaskTag;439 UINT16 Cid;440 UINT16 Reserved1;441 UINT32 CmdSN;442 UINT32 ExpStatSN;443 UINT32 Reserved2[4];430 UINT8 OpCode; 431 UINT8 Flags; 432 UINT8 VersionMax; 433 UINT8 VersionMin; 434 UINT8 TotalAHSLength; 435 UINT8 DataSegmentLength[3]; 436 UINT8 Isid[6]; 437 UINT16 Tsih; 438 UINT32 InitiatorTaskTag; 439 UINT16 Cid; 440 UINT16 Reserved1; 441 UINT32 CmdSN; 442 UINT32 ExpStatSN; 443 UINT32 Reserved2[4]; 444 444 } ISCSI_LOGIN_REQUEST; 445 445 … … 448 448 /// 449 449 typedef struct _ISCSI_LOGIN_RESPONSE { 450 UINT8 OpCode;451 UINT8 Flags;452 UINT8 VersionMax;453 UINT8 VersionActive;454 UINT8 TotalAHSLength;455 UINT8 DataSegmentLength[3];456 UINT8 Isid[6];457 UINT16 Tsih;458 UINT32 InitiatorTaskTag;459 UINT32 Reserved1;460 UINT32 StatSN;461 UINT32 ExpCmdSN;462 UINT32 MaxCmdSN;463 UINT8 StatusClass;464 UINT8 StatusDetail;465 UINT8 Reserved2[10];450 UINT8 OpCode; 451 UINT8 Flags; 452 UINT8 VersionMax; 453 UINT8 VersionActive; 454 UINT8 TotalAHSLength; 455 UINT8 DataSegmentLength[3]; 456 UINT8 Isid[6]; 457 UINT16 Tsih; 458 UINT32 InitiatorTaskTag; 459 UINT32 Reserved1; 460 UINT32 StatSN; 461 UINT32 ExpCmdSN; 462 UINT32 MaxCmdSN; 463 UINT8 StatusClass; 464 UINT8 StatusDetail; 465 UINT8 Reserved2[10]; 466 466 } ISCSI_LOGIN_RESPONSE; 467 467 … … 470 470 /// 471 471 typedef struct _ISCSI_LOGOUT_REQUEST { 472 UINT8 OpCode;473 UINT8 ReasonCode;474 UINT16 Reserved1;475 UINT8 TotalAHSLength;476 UINT8 DataSegmentLength[3];477 UINT32 Reserved2[2];478 UINT32 InitiatorTaskTag;479 UINT16 Cid;480 UINT16 Reserved3;481 UINT32 CmdSN;482 UINT32 ExpStatSN;483 UINT32 Reserved4[4];472 UINT8 OpCode; 473 UINT8 ReasonCode; 474 UINT16 Reserved1; 475 UINT8 TotalAHSLength; 476 UINT8 DataSegmentLength[3]; 477 UINT32 Reserved2[2]; 478 UINT32 InitiatorTaskTag; 479 UINT16 Cid; 480 UINT16 Reserved3; 481 UINT32 CmdSN; 482 UINT32 ExpStatSN; 483 UINT32 Reserved4[4]; 484 484 } ISCSI_LOGOUT_REQUEST; 485 485 … … 488 488 /// 489 489 typedef struct _ISCSI_LOGOUT_RESPONSE { 490 UINT8 OpCode;491 UINT8 Reserved1;492 UINT8 Response;493 UINT8 Reserved2;494 UINT8 TotalAHSLength;495 UINT8 DataSegmentLength[3];496 UINT32 Reserved3[2];497 UINT32 InitiatorTaskTag;498 UINT32 Reserved4;499 UINT32 StatSN;500 UINT32 ExpCmdSN;501 UINT32 MaxCmdSN;502 UINT32 Reserved5;503 UINT16 Time2Wait;504 UINT16 Time2Retain;505 UINT32 Reserved6;490 UINT8 OpCode; 491 UINT8 Reserved1; 492 UINT8 Response; 493 UINT8 Reserved2; 494 UINT8 TotalAHSLength; 495 UINT8 DataSegmentLength[3]; 496 UINT32 Reserved3[2]; 497 UINT32 InitiatorTaskTag; 498 UINT32 Reserved4; 499 UINT32 StatSN; 500 UINT32 ExpCmdSN; 501 UINT32 MaxCmdSN; 502 UINT32 Reserved5; 503 UINT16 Time2Wait; 504 UINT16 Time2Retain; 505 UINT32 Reserved6; 506 506 } ISCSI_LOGOUT_RESPONSE; 507 507 … … 510 510 /// 511 511 typedef struct _ISCSI_SNACK_REQUEST { 512 UINT8 OpCode;513 UINT8 Type;514 UINT16 Reserved1;515 UINT8 TotalAHSLength;516 UINT8 DataSegmentLength[3];517 UINT8 Lun[8];518 UINT32 InitiatorTaskTag;519 UINT32 TargetTransferTag;520 UINT32 Reserved2;521 UINT32 ExpStatSN;522 UINT32 Reserved[2];523 UINT32 BegRun;524 UINT32 RunLength;512 UINT8 OpCode; 513 UINT8 Type; 514 UINT16 Reserved1; 515 UINT8 TotalAHSLength; 516 UINT8 DataSegmentLength[3]; 517 UINT8 Lun[8]; 518 UINT32 InitiatorTaskTag; 519 UINT32 TargetTransferTag; 520 UINT32 Reserved2; 521 UINT32 ExpStatSN; 522 UINT32 Reserved[2]; 523 UINT32 BegRun; 524 UINT32 RunLength; 525 525 } ISCSI_SNACK_REQUEST; 526 526 … … 529 529 /// 530 530 typedef struct _ISCSI_REJECT { 531 UINT8 OpCode;532 UINT8 Reserved1;533 UINT8 Reason;534 UINT8 Reserved2;535 UINT8 TotalAHSLength;536 UINT8 DataSegmentLength[3];537 UINT32 Reserved3[2];538 UINT32 InitiatorTaskTag;539 UINT32 Reserved4;540 UINT32 StatSN;541 UINT32 ExpCmdSN;542 UINT32 MaxCmdSN;543 UINT32 DataSN;544 UINT32 Reserved5[2];531 UINT8 OpCode; 532 UINT8 Reserved1; 533 UINT8 Reason; 534 UINT8 Reserved2; 535 UINT8 TotalAHSLength; 536 UINT8 DataSegmentLength[3]; 537 UINT32 Reserved3[2]; 538 UINT32 InitiatorTaskTag; 539 UINT32 Reserved4; 540 UINT32 StatSN; 541 UINT32 ExpCmdSN; 542 UINT32 MaxCmdSN; 543 UINT32 DataSN; 544 UINT32 Reserved5[2]; 545 545 } ISCSI_REJECT; 546 546 … … 549 549 /// 550 550 typedef struct _ISCSI_NOP_OUT { 551 UINT8 OpCode;552 UINT8 Reserved1[3];553 UINT8 TotalAHSLength;554 UINT8 DataSegmentLength[3];555 UINT8 Lun[8];556 UINT32 InitiatorTaskTag;557 UINT32 TargetTransferTag;558 UINT32 CmdSN;559 UINT32 ExpStatSN;560 UINT32 Reserved2[4];551 UINT8 OpCode; 552 UINT8 Reserved1[3]; 553 UINT8 TotalAHSLength; 554 UINT8 DataSegmentLength[3]; 555 UINT8 Lun[8]; 556 UINT32 InitiatorTaskTag; 557 UINT32 TargetTransferTag; 558 UINT32 CmdSN; 559 UINT32 ExpStatSN; 560 UINT32 Reserved2[4]; 561 561 } ISCSI_NOP_OUT; 562 562 … … 565 565 /// 566 566 typedef struct _ISCSI_NOP_IN { 567 UINT8 OpCode;568 UINT8 Reserved1[3];569 UINT8 TotalAHSLength;570 UINT8 DataSegmentLength[3];571 UINT8 Lun[8];572 UINT32 InitiatorTaskTag;573 UINT32 TargetTransferTag;574 UINT32 StatSN;575 UINT32 ExpCmdSN;576 UINT32 MaxCmdSN;577 UINT32 Reserved2[3];567 UINT8 OpCode; 568 UINT8 Reserved1[3]; 569 UINT8 TotalAHSLength; 570 UINT8 DataSegmentLength[3]; 571 UINT8 Lun[8]; 572 UINT32 InitiatorTaskTag; 573 UINT32 TargetTransferTag; 574 UINT32 StatSN; 575 UINT32 ExpCmdSN; 576 UINT32 MaxCmdSN; 577 UINT32 Reserved2[3]; 578 578 } ISCSI_NOP_IN; 579 579 … … 584 584 585 585 typedef struct _ISCSI_XFER_CONTEXT { 586 UINT32 TargetTransferTag;587 UINT32 Offset;588 UINT32 DesiredLength;589 UINT32 ExpDataSN;586 UINT32 TargetTransferTag; 587 UINT32 Offset; 588 UINT32 DesiredLength; 589 UINT32 ExpDataSN; 590 590 } ISCSI_XFER_CONTEXT; 591 591 592 592 typedef struct _ISCSI_IN_BUFFER_CONTEXT { 593 UINT8 *InData;594 UINT32 InDataLen;593 UINT8 *InData; 594 UINT32 InDataLen; 595 595 } ISCSI_IN_BUFFER_CONTEXT; 596 596 597 597 typedef struct _ISCSI_TCB { 598 LIST_ENTRY Link;599 600 BOOLEAN SoFarInOrder;601 UINT32 ExpDataSN;602 BOOLEAN FbitReceived;603 BOOLEAN StatusXferd;604 UINT32 ActiveR2Ts;605 UINT32 Response;606 CHAR8 *Reason;607 UINT32 InitiatorTaskTag;608 UINT32 CmdSN;609 UINT32 SNACKTag;610 611 ISCSI_XFER_CONTEXT XferContext;612 613 ISCSI_CONNECTION *Conn;598 LIST_ENTRY Link; 599 600 BOOLEAN SoFarInOrder; 601 UINT32 ExpDataSN; 602 BOOLEAN FbitReceived; 603 BOOLEAN StatusXferd; 604 UINT32 ActiveR2Ts; 605 UINT32 Response; 606 CHAR8 *Reason; 607 UINT32 InitiatorTaskTag; 608 UINT32 CmdSN; 609 UINT32 SNACKTag; 610 611 ISCSI_XFER_CONTEXT XferContext; 612 613 ISCSI_CONNECTION *Conn; 614 614 } ISCSI_TCB; 615 615 616 616 typedef struct _ISCSI_KEY_VALUE_PAIR { 617 LIST_ENTRY 618 619 CHAR8 620 CHAR8 617 LIST_ENTRY List; 618 619 CHAR8 *Key; 620 CHAR8 *Value; 621 621 } ISCSI_KEY_VALUE_PAIR; 622 622 … … 658 658 EFI_STATUS 659 659 IScsiConnLogin ( 660 IN OUT ISCSI_CONNECTION 661 IN UINT16 660 IN OUT ISCSI_CONNECTION *Conn, 661 IN UINT16 Timeout 662 662 ); 663 663 … … 672 672 ISCSI_CONNECTION * 673 673 IScsiCreateConnection ( 674 IN ISCSI_SESSION 674 IN ISCSI_SESSION *Session 675 675 ); 676 676 … … 765 765 EFI_STATUS 766 766 IScsiAddKeyValuePair ( 767 IN OUT NET_BUF 768 IN CHAR8 769 IN CHAR8 767 IN OUT NET_BUF *Pdu, 768 IN CHAR8 *Key, 769 IN CHAR8 *Value 770 770 ); 771 771 … … 819 819 EFI_STATUS 820 820 IScsiUpdateTargetAddress ( 821 IN OUT ISCSI_SESSION 822 IN CHAR8 823 IN UINT32 821 IN OUT ISCSI_SESSION *Session, 822 IN CHAR8 *Data, 823 IN UINT32 Len 824 824 ); 825 825 … … 833 833 EFIAPI 834 834 IScsiFreeNbufList ( 835 VOID *Arg835 VOID *Arg 836 836 ); 837 837 … … 858 858 EFI_STATUS 859 859 IScsiReceivePdu ( 860 IN ISCSI_CONNECTION 861 OUT NET_BUF 862 IN ISCSI_IN_BUFFER_CONTEXT *Context, OPTIONAL863 IN BOOLEAN 864 IN BOOLEAN 865 IN EFI_EVENT 860 IN ISCSI_CONNECTION *Conn, 861 OUT NET_BUF **Pdu, 862 IN ISCSI_IN_BUFFER_CONTEXT *Context OPTIONAL, 863 IN BOOLEAN HeaderDigest, 864 IN BOOLEAN DataDigest, 865 IN EFI_EVENT TimeoutEvent OPTIONAL 866 866 ); 867 867 … … 906 906 EFI_STATUS 907 907 IScsiPadSegment ( 908 IN OUT NET_BUF 909 IN UINT32 908 IN OUT NET_BUF *Pdu, 909 IN UINT32 Len 910 910 ); 911 911 … … 922 922 LIST_ENTRY * 923 923 IScsiBuildKeyValueList ( 924 IN CHAR8 *Data,925 IN UINT32 Len924 IN CHAR8 *Data, 925 IN UINT32 Len 926 926 ); 927 927 … … 939 939 CHAR8 * 940 940 IScsiGetValueByKeyFromList ( 941 IN OUT LIST_ENTRY 942 IN CHAR8 941 IN OUT LIST_ENTRY *KeyValueList, 942 IN CHAR8 *Key 943 943 ); 944 944 … … 951 951 VOID 952 952 IScsiFreeKeyValueList ( 953 IN LIST_ENTRY 953 IN LIST_ENTRY *KeyValueList 954 954 ); 955 955 … … 966 966 EFI_STATUS 967 967 IScsiNormalizeName ( 968 IN OUT CHAR8 969 IN UINTN 968 IN OUT CHAR8 *Name, 969 IN UINTN Len 970 970 ); 971 971
Note:
See TracChangeset
for help on using the changeset viewer.