3 Copyright (c) 2004 - 2007, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 Miscellaneous definitions for iSCSI driver.
22 #ifndef _ISCSI_MISC_H_
23 #define _ISCSI_MISC_H_
26 typedef struct _ISCSI_SESSION_CONFIG_NVDATA
{
29 BOOLEAN InitiatorInfoFromDhcp
;
30 EFI_IPv4_ADDRESS LocalIp
;
31 EFI_IPv4_ADDRESS SubnetMask
;
32 EFI_IPv4_ADDRESS Gateway
;
34 BOOLEAN TargetInfoFromDhcp
;
35 CHAR8 TargetName
[ISCSI_NAME_MAX_SIZE
];
36 EFI_IPv4_ADDRESS TargetIp
;
39 } ISCSI_SESSION_CONFIG_NVDATA
;
42 struct _ISCSI_SESSION_CONFIG_DATA
{
43 ISCSI_SESSION_CONFIG_NVDATA NvData
;
45 EFI_IPv4_ADDRESS PrimaryDns
;
46 EFI_IPv4_ADDRESS SecondaryDns
;
47 EFI_IPv4_ADDRESS DhcpServer
;
51 IScsiGetSubnetMaskPrefixLength (
52 IN EFI_IPv4_ADDRESS
*SubnetMask
62 IScsiLunToUnicodeStr (
68 IScsiAsciiStrToUnicodeStr (
70 OUT CHAR16
*Destination
74 IScsiUnicodeStrToAsciiStr (
76 OUT CHAR8
*Destination
81 IN EFI_MAC_ADDRESS
*Mac
,
89 OUT EFI_IPv4_ADDRESS
*Ip
97 IN OUT UINT32
*HexLength
102 IN OUT UINT8
*BinBuffer
,
103 IN OUT UINT32
*BinLength
,
114 IScsiCreateDriverData (
116 IN EFI_HANDLE Controller
120 IScsiCleanDriverData (
121 IN ISCSI_DRIVER_DATA
*Private
126 IN ISCSI_DRIVER_DATA
*Private
129 EFI_DEVICE_PATH_PROTOCOL
*
130 IScsiGetTcpConnDevicePath (
131 IN ISCSI_DRIVER_DATA
*Private
136 IScsiOnExitBootService (
141 extern CHAR16
NibbleToHexChar(UINT8 Nibble
);