]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h
Clean up to update the reference of the these macros:
[mirror_edk2.git] / MdeModulePkg / Universal / Network / IScsiDxe / IScsiImpl.h
CommitLineData
12618416 1/** @file\r
fa6fb82a 2 The header file of IScsiImpl.c.\r
6a690e23 3\r
12618416 4Copyright (c) 2004 - 2008, Intel Corporation\r
7a444476 5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
6a690e23 12\r
12618416 13**/\r
6a690e23 14\r
15#ifndef _ISCSI_IMPL_H_\r
16#define _ISCSI_IMPL_H_\r
17\r
19034421 18#include <Uefi.h>\r
19\r
6a690e23 20#include <Library/NetLib.h>\r
21#include <Library/PrintLib.h>\r
22#include <Library/UefiRuntimeServicesTableLib.h>\r
23#include "IScsiCommon.h"\r
24#include "IScsiDriver.h"\r
b263ee17 25#include "IscsiInitiatorName.h"\r
26#include "ComponentName.h"\r
6a690e23 27#include "IScsiConfigNVDataStruc.h"\r
28#include "IScsiExtScsiPassThru.h"\r
29#include "IScsiProto.h"\r
fa6fb82a 30#include "IScsiMisc.h"\r
6a690e23 31#include "IScsiCHAP.h"\r
fa6fb82a 32#include "IScsiConfig.h"\r
6a690e23 33#include "IScsiDhcp.h"\r
34#include "IScsiTcp4Io.h"\r
35#include "IScsiIbft.h"\r
fa6fb82a 36\r
37\r
f3f2e05d 38#define ISCSI_SESSION_SIGNATURE SIGNATURE_32 ('I', 'S', 'S', 'N')\r
6a690e23 39\r
69b0882d 40struct _ISCSI_SESSION {\r
6a690e23 41 UINT32 Signature;\r
42\r
43 ISCSI_SESSION_CONFIG_DATA ConfigData;\r
44 ISCSI_CHAP_AUTH_DATA AuthData;\r
45\r
46 CHAR8 InitiatorName[ISCSI_NAME_MAX_SIZE];\r
47 UINTN InitiatorNameLength;\r
48 UINT8 State;\r
49\r
50 UINT8 ISID[6];\r
51 UINT16 TSIH;\r
52\r
53 UINT32 CmdSN;\r
54 UINT32 ExpCmdSN;\r
55 UINT32 MaxCmdSN;\r
56\r
57 UINT32 InitiatorTaskTag;\r
58 UINT16 NextCID;\r
59\r
e48e37fc 60 LIST_ENTRY Conns;\r
6a690e23 61 UINT32 NumConns;\r
62\r
e48e37fc 63 LIST_ENTRY TcbList;\r
6a690e23 64\r
65 //\r
66 // session-wide parameters\r
67 //\r
68 UINT16 TargetPortalGroupTag;\r
69 UINT32 MaxConnections;\r
70 BOOLEAN InitialR2T;\r
71 BOOLEAN ImmediateData;\r
72 UINT32 MaxBurstLength;\r
73 UINT32 FirstBurstLength;\r
74 UINT32 DefaultTime2Wait;\r
75 UINT32 DefaultTime2Retain;\r
76 UINT16 MaxOutstandingR2T;\r
77 BOOLEAN DataPDUInOrder;\r
78 BOOLEAN DataSequenceInOrder;\r
79 UINT8 ErrorRecoveryLevel;\r
69b0882d 80};\r
6a690e23 81\r
f3f2e05d 82#define ISCSI_CONNECTION_SIGNATURE SIGNATURE_32 ('I', 'S', 'C', 'N')\r
6a690e23 83\r
69b0882d 84struct _ISCSI_CONNECTION {\r
6a690e23 85 UINT32 Signature;\r
e48e37fc 86 LIST_ENTRY Link;\r
6a690e23 87\r
88 EFI_EVENT TimeoutEvent;\r
89\r
90 ISCSI_SESSION *Session;\r
91\r
92 UINT8 State;\r
93 UINT8 CurrentStage;\r
94 UINT8 NextStage;\r
95\r
96 UINT8 CHAPStep;\r
97\r
98 BOOLEAN PartialReqSent;\r
99 BOOLEAN PartialRspRcvd;\r
100\r
101 BOOLEAN TransitInitiated;\r
102\r
103 UINT16 CID;\r
104 UINT32 ExpStatSN;\r
105\r
106 //\r
107 // queues...\r
108 //\r
109 NET_BUF_QUEUE RspQue;\r
110\r
111 TCP4_IO Tcp4Io;\r
112\r
113 //\r
114 // connection-only parameters\r
115 //\r
116 UINT32 MaxRecvDataSegmentLength;\r
117 ISCSI_DIGEST_TYPE HeaderDigest;\r
118 ISCSI_DIGEST_TYPE DataDigest;\r
69b0882d 119};\r
6a690e23 120\r
f3f2e05d 121#define ISCSI_DRIVER_DATA_SIGNATURE SIGNATURE_32 ('I', 'S', 'D', 'A')\r
6a690e23 122\r
123#define ISCSI_DRIVER_DATA_FROM_EXT_SCSI_PASS_THRU(PassThru) \\r
124 CR ( \\r
125 PassThru, \\r
126 ISCSI_DRIVER_DATA, \\r
127 IScsiExtScsiPassThru, \\r
128 ISCSI_DRIVER_DATA_SIGNATURE \\r
129 )\r
130#define ISCSI_DRIVER_DATA_FROM_IDENTIFIER(Identifier) \\r
131 CR ( \\r
132 Identifier, \\r
133 ISCSI_DRIVER_DATA, \\r
134 IScsiIdentifier, \\r
135 ISCSI_DRIVER_DATA_SIGNATURE \\r
136 )\r
137#define ISCSI_DRIVER_DATA_FROM_SESSION(s) \\r
138 CR ( \\r
139 s, \\r
140 ISCSI_DRIVER_DATA, \\r
141 Session, \\r
142 ISCSI_DRIVER_DATA_SIGNATURE \\r
143 )\r
144\r
69b0882d 145struct _ISCSI_DRIVER_DATA {\r
6a690e23 146 UINT32 Signature;\r
147 EFI_HANDLE Image;\r
148 EFI_HANDLE Controller;\r
149 ISCSI_PRIVATE_PROTOCOL IScsiIdentifier;\r
150\r
151 EFI_EVENT ExitBootServiceEvent;\r
152\r
153 EFI_EXT_SCSI_PASS_THRU_PROTOCOL IScsiExtScsiPassThru;\r
154 EFI_EXT_SCSI_PASS_THRU_MODE ExtScsiPassThruMode;\r
155 EFI_HANDLE ExtScsiPassThruHandle;\r
156 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
157\r
158 ISCSI_SESSION Session;\r
69b0882d 159};\r
6a690e23 160\r
161#endif\r