3 Copyright (c) 2007 Intel Corporation. All rights reserved
4 This software and associated documentation (if any) is furnished
5 under a license and may only be used or copied in accordance
6 with the terms of the license. Except as permitted by such
7 license, no part of this software or documentation may be
8 reproduced, stored in a retrieval system, or transmitted in any
9 form or by any means without the express written consent of
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
);