#include <Library/MemoryAllocationLib.h>\r
#include <Library/NetLib.h>\r
#include <Library/PrintLib.h>\r
+#include <Library/SafeIntLib.h>\r
#include <Library/TcpIoLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
#include <Library/UefiHiiServicesLib.h>\r
#include "IScsiDns.h"\r
#include "IScsiConfig.h"\r
\r
-#define ISCSI_AUTH_INITIAL 0\r
+#define ISCSI_AUTH_INITIAL 0\r
\r
-#define ISCSI_SESSION_SIGNATURE SIGNATURE_32 ('I', 'S', 'S', 'N')\r
+#define ISCSI_SESSION_SIGNATURE SIGNATURE_32 ('I', 'S', 'S', 'N')\r
///\r
/// 10 seconds\r
///\r
-#define ISCSI_GET_MAPPING_TIMEOUT 100000000U\r
+#define ISCSI_GET_MAPPING_TIMEOUT 100000000U\r
///\r
/// 3 seconds\r
///\r
#define ISCSI_WAIT_IPSEC_TIMEOUT 30000000U\r
\r
struct _ISCSI_SESSION {\r
- UINT32 Signature;\r
+ UINT32 Signature;\r
\r
- ISCSI_DRIVER_DATA *Private;\r
- ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData;\r
+ ISCSI_DRIVER_DATA *Private;\r
+ ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData;\r
\r
- UINT8 AuthType;\r
+ UINT8 AuthType;\r
union {\r
- ISCSI_CHAP_AUTH_DATA CHAP;\r
+ ISCSI_CHAP_AUTH_DATA CHAP;\r
} AuthData;\r
\r
- UINT8 State;\r
+ UINT8 State;\r
\r
- UINT8 Isid[6];\r
- UINT16 Tsih;\r
+ UINT8 Isid[6];\r
+ UINT16 Tsih;\r
\r
- UINT32 CmdSN;\r
- UINT32 ExpCmdSN;\r
- UINT32 MaxCmdSN;\r
+ UINT32 CmdSN;\r
+ UINT32 ExpCmdSN;\r
+ UINT32 MaxCmdSN;\r
\r
- UINT32 InitiatorTaskTag;\r
- UINT16 NextCid;\r
+ UINT32 InitiatorTaskTag;\r
+ UINT16 NextCid;\r
\r
- LIST_ENTRY Conns;\r
- UINT32 NumConns;\r
+ LIST_ENTRY Conns;\r
+ UINT32 NumConns;\r
\r
- LIST_ENTRY TcbList;\r
+ LIST_ENTRY TcbList;\r
\r
//\r
// Session-wide parameters\r
//\r
- UINT16 TargetPortalGroupTag;\r
- UINT32 MaxConnections;\r
- BOOLEAN InitialR2T;\r
- BOOLEAN ImmediateData;\r
- UINT32 MaxBurstLength;\r
- UINT32 FirstBurstLength;\r
- UINT32 DefaultTime2Wait;\r
- UINT32 DefaultTime2Retain;\r
- UINT16 MaxOutstandingR2T;\r
- BOOLEAN DataPDUInOrder;\r
- BOOLEAN DataSequenceInOrder;\r
- UINT8 ErrorRecoveryLevel;\r
+ UINT16 TargetPortalGroupTag;\r
+ UINT32 MaxConnections;\r
+ BOOLEAN InitialR2T;\r
+ BOOLEAN ImmediateData;\r
+ UINT32 MaxBurstLength;\r
+ UINT32 FirstBurstLength;\r
+ UINT32 DefaultTime2Wait;\r
+ UINT32 DefaultTime2Retain;\r
+ UINT16 MaxOutstandingR2T;\r
+ BOOLEAN DataPDUInOrder;\r
+ BOOLEAN DataSequenceInOrder;\r
+ UINT8 ErrorRecoveryLevel;\r
};\r
\r
#define ISCSI_CONNECTION_SIGNATURE SIGNATURE_32 ('I', 'S', 'C', 'N')\r
\r
struct _ISCSI_CONNECTION {\r
- UINT32 Signature;\r
- LIST_ENTRY Link;\r
+ UINT32 Signature;\r
+ LIST_ENTRY Link;\r
\r
- EFI_EVENT TimeoutEvent;\r
+ EFI_EVENT TimeoutEvent;\r
\r
- ISCSI_SESSION *Session;\r
+ ISCSI_SESSION *Session;\r
\r
- UINT8 State;\r
- UINT8 CurrentStage;\r
- UINT8 NextStage;\r
+ UINT8 State;\r
+ UINT8 CurrentStage;\r
+ UINT8 NextStage;\r
\r
- UINT8 AuthStep;\r
+ UINT8 AuthStep;\r
\r
- BOOLEAN PartialReqSent;\r
- BOOLEAN PartialRspRcvd;\r
+ BOOLEAN PartialReqSent;\r
+ BOOLEAN PartialRspRcvd;\r
\r
- BOOLEAN TransitInitiated;\r
- BOOLEAN ParamNegotiated;\r
+ BOOLEAN TransitInitiated;\r
+ BOOLEAN ParamNegotiated;\r
\r
- UINT16 Cid;\r
- UINT32 ExpStatSN;\r
+ UINT16 Cid;\r
+ UINT32 ExpStatSN;\r
\r
//\r
// Queues...\r
//\r
- NET_BUF_QUEUE RspQue;\r
+ NET_BUF_QUEUE RspQue;\r
\r
- BOOLEAN Ipv6Flag;\r
- TCP_IO TcpIo;\r
+ BOOLEAN Ipv6Flag;\r
+ TCP_IO TcpIo;\r
\r
//\r
// Connection-only parameters.\r
//\r
- UINT32 MaxRecvDataSegmentLength;\r
- ISCSI_DIGEST_TYPE HeaderDigest;\r
- ISCSI_DIGEST_TYPE DataDigest;\r
+ UINT32 MaxRecvDataSegmentLength;\r
+ ISCSI_DIGEST_TYPE HeaderDigest;\r
+ ISCSI_DIGEST_TYPE DataDigest;\r
};\r
\r
-#define ISCSI_DRIVER_DATA_SIGNATURE SIGNATURE_32 ('I', 'S', 'D', 'A')\r
+#define ISCSI_DRIVER_DATA_SIGNATURE SIGNATURE_32 ('I', 'S', 'D', 'A')\r
\r
#define ISCSI_DRIVER_DATA_FROM_EXT_SCSI_PASS_THRU(PassThru) \\r
CR ( \\r
)\r
\r
struct _ISCSI_DRIVER_DATA {\r
- UINT32 Signature;\r
- EFI_HANDLE Image;\r
- EFI_HANDLE Controller;\r
- ISCSI_PRIVATE_PROTOCOL IScsiIdentifier;\r
-\r
- EFI_EVENT ExitBootServiceEvent;\r
-\r
- EFI_EXT_SCSI_PASS_THRU_PROTOCOL IScsiExtScsiPassThru;\r
- EFI_EXT_SCSI_PASS_THRU_MODE ExtScsiPassThruMode;\r
- EFI_HANDLE ExtScsiPassThruHandle;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
- EFI_HANDLE ChildHandle;\r
- ISCSI_SESSION *Session;\r
+ UINT32 Signature;\r
+ EFI_HANDLE Image;\r
+ EFI_HANDLE Controller;\r
+ ISCSI_PRIVATE_PROTOCOL IScsiIdentifier;\r
+\r
+ EFI_EVENT ExitBootServiceEvent;\r
+\r
+ EFI_EXT_SCSI_PASS_THRU_PROTOCOL IScsiExtScsiPassThru;\r
+ EFI_EXT_SCSI_PASS_THRU_MODE ExtScsiPassThruMode;\r
+ EFI_HANDLE ExtScsiPassThruHandle;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ EFI_HANDLE ChildHandle;\r
+ ISCSI_SESSION *Session;\r
};\r
\r
#endif\r