]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/iScsi/IScsiMisc.h
Comment out the IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSampleDxe...
[mirror_edk2.git] / MdeModulePkg / Universal / iScsi / IScsiMisc.h
CommitLineData
6a690e23 1/*++\r
2\r
3Copyright (c) 2007 Intel Corporation. All rights reserved\r
4This software and associated documentation (if any) is furnished\r
5under a license and may only be used or copied in accordance\r
6with the terms of the license. Except as permitted by such\r
7license, no part of this software or documentation may be\r
8reproduced, stored in a retrieval system, or transmitted in any\r
9form or by any means without the express written consent of\r
10Intel Corporation.\r
11\r
12Module Name:\r
13\r
14 IScsiMisc.h\r
15\r
16Abstract:\r
17\r
18 Miscellaneous definitions for iSCSI driver.\r
19\r
20--*/\r
21\r
22#ifndef _ISCSI_MISC_H_\r
23#define _ISCSI_MISC_H_\r
24\r
25#pragma pack(1)\r
26typedef struct _ISCSI_SESSION_CONFIG_NVDATA {\r
27 BOOLEAN Enabled;\r
28\r
29 BOOLEAN InitiatorInfoFromDhcp;\r
30 EFI_IPv4_ADDRESS LocalIp;\r
31 EFI_IPv4_ADDRESS SubnetMask;\r
32 EFI_IPv4_ADDRESS Gateway;\r
33\r
34 BOOLEAN TargetInfoFromDhcp;\r
35 CHAR8 TargetName[ISCSI_NAME_MAX_SIZE];\r
36 EFI_IPv4_ADDRESS TargetIp;\r
37 UINT16 TargetPort;\r
38 UINT8 BootLun[8];\r
39} ISCSI_SESSION_CONFIG_NVDATA;\r
40#pragma pack()\r
41\r
07a7038c 42struct _ISCSI_SESSION_CONFIG_DATA {\r
6a690e23 43 ISCSI_SESSION_CONFIG_NVDATA NvData;\r
44\r
45 EFI_IPv4_ADDRESS PrimaryDns;\r
46 EFI_IPv4_ADDRESS SecondaryDns;\r
47 EFI_IPv4_ADDRESS DhcpServer;\r
07a7038c 48};\r
6a690e23 49\r
50UINT8\r
51IScsiGetSubnetMaskPrefixLength (\r
52 IN EFI_IPv4_ADDRESS *SubnetMask\r
53 );\r
54\r
55EFI_STATUS\r
56IScsiAsciiStrToLun (\r
57 IN CHAR8 *Str,\r
58 OUT UINT8 *Lun\r
59 );\r
60\r
61VOID\r
62IScsiLunToUnicodeStr (\r
63 IN UINT8 *Lun,\r
64 OUT CHAR16 *String\r
65 );\r
66\r
67CHAR16 *\r
68IScsiAsciiStrToUnicodeStr (\r
69 IN CHAR8 *Source,\r
70 OUT CHAR16 *Destination\r
71 );\r
72\r
73CHAR8 *\r
74IScsiUnicodeStrToAsciiStr (\r
75 IN CHAR16 *Source,\r
76 OUT CHAR8 *Destination\r
77 );\r
78\r
79VOID\r
80IScsiMacAddrToStr (\r
81 IN EFI_MAC_ADDRESS *Mac,\r
82 IN UINT32 Len,\r
83 OUT CHAR16 *Str\r
84 );\r
85\r
86EFI_STATUS\r
87IScsiAsciiStrToIp (\r
88 IN CHAR8 *Str,\r
89 OUT EFI_IPv4_ADDRESS *Ip\r
90 );\r
91\r
92EFI_STATUS\r
93IScsiBinToHex (\r
94 IN UINT8 *BinBuffer,\r
95 IN UINT32 BinLength,\r
96 IN OUT CHAR8 *HexStr,\r
97 IN OUT UINT32 *HexLength\r
98 );\r
99\r
100EFI_STATUS\r
101IScsiHexToBin (\r
102 IN OUT UINT8 *BinBuffer,\r
103 IN OUT UINT32 *BinLength,\r
104 IN CHAR8 *HexStr\r
105 );\r
106\r
107VOID\r
108IScsiGenRandom (\r
109 IN OUT UINT8 *Rand,\r
110 IN UINTN RandLength\r
111 );\r
112\r
113ISCSI_DRIVER_DATA *\r
114IScsiCreateDriverData (\r
115 IN EFI_HANDLE Image,\r
116 IN EFI_HANDLE Controller\r
117 );\r
118\r
119VOID\r
120IScsiCleanDriverData (\r
121 IN ISCSI_DRIVER_DATA *Private\r
122 );\r
123\r
124EFI_STATUS\r
125IScsiGetConfigData (\r
126 IN ISCSI_DRIVER_DATA *Private\r
127 );\r
128\r
129EFI_DEVICE_PATH_PROTOCOL *\r
130IScsiGetTcpConnDevicePath (\r
131 IN ISCSI_DRIVER_DATA *Private\r
132 );\r
133\r
134VOID\r
135EFIAPI\r
136IScsiOnExitBootService (\r
137 IN EFI_EVENT Event,\r
138 IN VOID *Context\r
139 );\r
140\r
141extern CHAR16 NibbleToHexChar(UINT8 Nibble);\r
142\r
143#endif\r