/** @file\r
The header file of iSCSI Protocol that defines many specific data structures.\r
\r
-Copyright (c) 2004 - 2008, Intel Corporation.<BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php\r
#define ISCSI_VERSION_MAX 0x00\r
#define ISCSI_VERSION_MIN 0x00\r
\r
-#define ISID_BYTE_0 0 // OUI format\r
-#define ISID_BYTE_1 0\r
-#define ISID_BYTE_2 0xaa\r
-#define ISID_BYTE_3 0x1\r
-\r
#define ISCSI_KEY_AUTH_METHOD "AuthMethod"\r
#define ISCSI_KEY_HEADER_DIGEST "HeaderDigest"\r
#define ISCSI_KEY_DATA_DIGEST "DataDigest"\r
///\r
/// connection state for initiator\r
///\r
-typedef enum {\r
- CONN_STATE_FREE,\r
- CONN_STATE_XPT_WAIT,\r
- CONN_STATE_IN_LOGIN,\r
- CONN_STATE_LOGGED_IN,\r
- CONN_STATE_IN_LOGOUT,\r
- CONN_STATE_LOGOUT_REQUESTED,\r
- CONN_STATE_CLEANUP_WAIT,\r
- CONN_STATE_IN_CLEANUP\r
-} CONNECTION_STATE;\r
+\r
+#define CONN_STATE_FREE 0\r
+#define CONN_STATE_XPT_WAIT 1\r
+#define CONN_STATE_IN_LOGIN 2\r
+#define CONN_STATE_LOGGED_IN 3\r
+#define CONN_STATE_IN_LOGOUT 4\r
+#define CONN_STATE_LOGOUT_REQUESTED 5\r
+#define CONN_STATE_CLEANUP_WAIT 6\r
+#define CONN_STATE_IN_CLEANUP 7\r
\r
///\r
/// session state for initiator\r
///\r
-typedef enum {\r
- SESSION_STATE_FREE,\r
- SESSION_STATE_LOGGED_IN,\r
- SESSION_STATE_FAILED\r
-} SESSION_STATE;\r
+#define SESSION_STATE_FREE 0\r
+#define SESSION_STATE_LOGGED_IN 1\r
+#define SESSION_STATE_FAILED 2\r
\r
typedef enum {\r
DataIn = 0,\r
UINT32 ExpDataXferLength;\r
UINT32 CmdSN;\r
UINT32 ExpStatSN;\r
- UINT8 CDB[16];\r
+ UINT8 Cdb[16];\r
} SCSI_COMMAND;\r
\r
//\r
UINT32 StatSN;\r
UINT32 ExpCmdSN;\r
UINT32 MaxCmdSN;\r
- UINT32 R2TSN;\r
+ UINT32 R2TSeqNum;\r
UINT32 BufferOffset;\r
UINT32 DesiredDataTransferLength;\r
} ISCSI_READY_TO_TRANSFER;\r
#define ISCSI_FULL_FEATURE_PHASE 3\r
\r
typedef enum {\r
- ISCSI_DIGEST_NONE,\r
- ISCSI_DIGEST_CRC32\r
+ IScsiDigestNone,\r
+ IScsiDigestCRC32\r
} ISCSI_DIGEST_TYPE;\r
\r
typedef struct _ISCSI_XFER_CONTEXT {\r
\r
@retval EFI_SUCCESS The iSCSI session login procedure finished.\r
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory.\r
+ @retval EFI_NO_MEDIA There was a media error.\r
@retval Others Other errors as indicated.\r
+\r
**/\r
EFI_STATUS\r
IScsiSessionLogin (\r
@param[in] Arg The opaque parameter.\r
**/\r
VOID\r
+EFIAPI\r
IScsiFreeNbufList (\r
VOID *Arg\r
);\r
the Packet.\r
@retval EFI_DEVICE_ERROR Session state was not as required.\r
@retval EFI_OUT_OF_RESOURCES Failed to allocate memory.\r
+ @retval EFI_NOT_READY The target can not accept new commands.\r
@retval Others Other errors as indicated.\r
**/\r
EFI_STATUS\r