]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/iScsi/IScsiMisc.h
Comment out the IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSampleDxe...
[mirror_edk2.git] / MdeModulePkg / Universal / iScsi / IScsiMisc.h
1 /*++
2
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
10 Intel Corporation.
11
12 Module Name:
13
14 IScsiMisc.h
15
16 Abstract:
17
18 Miscellaneous definitions for iSCSI driver.
19
20 --*/
21
22 #ifndef _ISCSI_MISC_H_
23 #define _ISCSI_MISC_H_
24
25 #pragma pack(1)
26 typedef struct _ISCSI_SESSION_CONFIG_NVDATA {
27 BOOLEAN Enabled;
28
29 BOOLEAN InitiatorInfoFromDhcp;
30 EFI_IPv4_ADDRESS LocalIp;
31 EFI_IPv4_ADDRESS SubnetMask;
32 EFI_IPv4_ADDRESS Gateway;
33
34 BOOLEAN TargetInfoFromDhcp;
35 CHAR8 TargetName[ISCSI_NAME_MAX_SIZE];
36 EFI_IPv4_ADDRESS TargetIp;
37 UINT16 TargetPort;
38 UINT8 BootLun[8];
39 } ISCSI_SESSION_CONFIG_NVDATA;
40 #pragma pack()
41
42 struct _ISCSI_SESSION_CONFIG_DATA {
43 ISCSI_SESSION_CONFIG_NVDATA NvData;
44
45 EFI_IPv4_ADDRESS PrimaryDns;
46 EFI_IPv4_ADDRESS SecondaryDns;
47 EFI_IPv4_ADDRESS DhcpServer;
48 };
49
50 UINT8
51 IScsiGetSubnetMaskPrefixLength (
52 IN EFI_IPv4_ADDRESS *SubnetMask
53 );
54
55 EFI_STATUS
56 IScsiAsciiStrToLun (
57 IN CHAR8 *Str,
58 OUT UINT8 *Lun
59 );
60
61 VOID
62 IScsiLunToUnicodeStr (
63 IN UINT8 *Lun,
64 OUT CHAR16 *String
65 );
66
67 CHAR16 *
68 IScsiAsciiStrToUnicodeStr (
69 IN CHAR8 *Source,
70 OUT CHAR16 *Destination
71 );
72
73 CHAR8 *
74 IScsiUnicodeStrToAsciiStr (
75 IN CHAR16 *Source,
76 OUT CHAR8 *Destination
77 );
78
79 VOID
80 IScsiMacAddrToStr (
81 IN EFI_MAC_ADDRESS *Mac,
82 IN UINT32 Len,
83 OUT CHAR16 *Str
84 );
85
86 EFI_STATUS
87 IScsiAsciiStrToIp (
88 IN CHAR8 *Str,
89 OUT EFI_IPv4_ADDRESS *Ip
90 );
91
92 EFI_STATUS
93 IScsiBinToHex (
94 IN UINT8 *BinBuffer,
95 IN UINT32 BinLength,
96 IN OUT CHAR8 *HexStr,
97 IN OUT UINT32 *HexLength
98 );
99
100 EFI_STATUS
101 IScsiHexToBin (
102 IN OUT UINT8 *BinBuffer,
103 IN OUT UINT32 *BinLength,
104 IN CHAR8 *HexStr
105 );
106
107 VOID
108 IScsiGenRandom (
109 IN OUT UINT8 *Rand,
110 IN UINTN RandLength
111 );
112
113 ISCSI_DRIVER_DATA *
114 IScsiCreateDriverData (
115 IN EFI_HANDLE Image,
116 IN EFI_HANDLE Controller
117 );
118
119 VOID
120 IScsiCleanDriverData (
121 IN ISCSI_DRIVER_DATA *Private
122 );
123
124 EFI_STATUS
125 IScsiGetConfigData (
126 IN ISCSI_DRIVER_DATA *Private
127 );
128
129 EFI_DEVICE_PATH_PROTOCOL *
130 IScsiGetTcpConnDevicePath (
131 IN ISCSI_DRIVER_DATA *Private
132 );
133
134 VOID
135 EFIAPI
136 IScsiOnExitBootService (
137 IN EFI_EVENT Event,
138 IN VOID *Context
139 );
140
141 extern CHAR16 NibbleToHexChar(UINT8 Nibble);
142
143 #endif