]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Network/IScsiDxe/IScsiImpl.h
Synchronize interface function comment from declaration in library class header file...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / IScsiDxe / IScsiImpl.h
CommitLineData
12618416 1/** @file\r
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
13Module Name:\r
14\r
15 IScsiImpl.h\r
16\r
17Abstract:\r
12618416 18 The header file of IScsiImpl.c\r
6a690e23 19\r
12618416 20**/\r
6a690e23 21\r
22#ifndef _ISCSI_IMPL_H_\r
23#define _ISCSI_IMPL_H_\r
24\r
19034421 25#include <Uefi.h>\r
26\r
6a690e23 27#include <Library/NetLib.h>\r
28#include <Library/PrintLib.h>\r
29#include <Library/UefiRuntimeServicesTableLib.h>\r
30#include "IScsiCommon.h"\r
31#include "IScsiDriver.h"\r
32#include "IScsiConfigNVDataStruc.h"\r
33#include "IScsiExtScsiPassThru.h"\r
34#include "IScsiProto.h"\r
35#include "IScsiCHAP.h"\r
36#include "IScsiDhcp.h"\r
37#include "IScsiTcp4Io.h"\r
38#include "IScsiIbft.h"\r
39#include "IScsiMisc.h"\r
40#include "IScsiConfig.h"\r
41\r
42#define ISCSI_SESSION_SIGNATURE EFI_SIGNATURE_32 ('I', 'S', 'S', 'N')\r
43\r
69b0882d 44struct _ISCSI_SESSION {\r
6a690e23 45 UINT32 Signature;\r
46\r
47 ISCSI_SESSION_CONFIG_DATA ConfigData;\r
48 ISCSI_CHAP_AUTH_DATA AuthData;\r
49\r
50 CHAR8 InitiatorName[ISCSI_NAME_MAX_SIZE];\r
51 UINTN InitiatorNameLength;\r
52 UINT8 State;\r
53\r
54 UINT8 ISID[6];\r
55 UINT16 TSIH;\r
56\r
57 UINT32 CmdSN;\r
58 UINT32 ExpCmdSN;\r
59 UINT32 MaxCmdSN;\r
60\r
61 UINT32 InitiatorTaskTag;\r
62 UINT16 NextCID;\r
63\r
e48e37fc 64 LIST_ENTRY Conns;\r
6a690e23 65 UINT32 NumConns;\r
66\r
e48e37fc 67 LIST_ENTRY TcbList;\r
6a690e23 68\r
69 //\r
70 // session-wide parameters\r
71 //\r
72 UINT16 TargetPortalGroupTag;\r
73 UINT32 MaxConnections;\r
74 BOOLEAN InitialR2T;\r
75 BOOLEAN ImmediateData;\r
76 UINT32 MaxBurstLength;\r
77 UINT32 FirstBurstLength;\r
78 UINT32 DefaultTime2Wait;\r
79 UINT32 DefaultTime2Retain;\r
80 UINT16 MaxOutstandingR2T;\r
81 BOOLEAN DataPDUInOrder;\r
82 BOOLEAN DataSequenceInOrder;\r
83 UINT8 ErrorRecoveryLevel;\r
69b0882d 84};\r
6a690e23 85\r
86#define ISCSI_CONNECTION_SIGNATURE EFI_SIGNATURE_32 ('I', 'S', 'C', 'N')\r
87\r
69b0882d 88struct _ISCSI_CONNECTION {\r
6a690e23 89 UINT32 Signature;\r
e48e37fc 90 LIST_ENTRY Link;\r
6a690e23 91\r
92 EFI_EVENT TimeoutEvent;\r
93\r
94 ISCSI_SESSION *Session;\r
95\r
96 UINT8 State;\r
97 UINT8 CurrentStage;\r
98 UINT8 NextStage;\r
99\r
100 UINT8 CHAPStep;\r
101\r
102 BOOLEAN PartialReqSent;\r
103 BOOLEAN PartialRspRcvd;\r
104\r
105 BOOLEAN TransitInitiated;\r
106\r
107 UINT16 CID;\r
108 UINT32 ExpStatSN;\r
109\r
110 //\r
111 // queues...\r
112 //\r
113 NET_BUF_QUEUE RspQue;\r
114\r
115 TCP4_IO Tcp4Io;\r
116\r
117 //\r
118 // connection-only parameters\r
119 //\r
120 UINT32 MaxRecvDataSegmentLength;\r
121 ISCSI_DIGEST_TYPE HeaderDigest;\r
122 ISCSI_DIGEST_TYPE DataDigest;\r
69b0882d 123};\r
6a690e23 124\r
125#define ISCSI_DRIVER_DATA_SIGNATURE EFI_SIGNATURE_32 ('I', 'S', 'D', 'A')\r
126\r
127#define ISCSI_DRIVER_DATA_FROM_EXT_SCSI_PASS_THRU(PassThru) \\r
128 CR ( \\r
129 PassThru, \\r
130 ISCSI_DRIVER_DATA, \\r
131 IScsiExtScsiPassThru, \\r
132 ISCSI_DRIVER_DATA_SIGNATURE \\r
133 )\r
134#define ISCSI_DRIVER_DATA_FROM_IDENTIFIER(Identifier) \\r
135 CR ( \\r
136 Identifier, \\r
137 ISCSI_DRIVER_DATA, \\r
138 IScsiIdentifier, \\r
139 ISCSI_DRIVER_DATA_SIGNATURE \\r
140 )\r
141#define ISCSI_DRIVER_DATA_FROM_SESSION(s) \\r
142 CR ( \\r
143 s, \\r
144 ISCSI_DRIVER_DATA, \\r
145 Session, \\r
146 ISCSI_DRIVER_DATA_SIGNATURE \\r
147 )\r
148\r
69b0882d 149struct _ISCSI_DRIVER_DATA {\r
6a690e23 150 UINT32 Signature;\r
151 EFI_HANDLE Image;\r
152 EFI_HANDLE Controller;\r
153 ISCSI_PRIVATE_PROTOCOL IScsiIdentifier;\r
154\r
155 EFI_EVENT ExitBootServiceEvent;\r
156\r
157 EFI_EXT_SCSI_PASS_THRU_PROTOCOL IScsiExtScsiPassThru;\r
158 EFI_EXT_SCSI_PASS_THRU_MODE ExtScsiPassThruMode;\r
159 EFI_HANDLE ExtScsiPassThruHandle;\r
160 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
161\r
162 ISCSI_SESSION Session;\r
69b0882d 163};\r
6a690e23 164\r
165#endif\r