]> git.proxmox.com Git - mirror_edk2.git/blame - NetworkPkg/IScsiDxe/IScsiDhcp6.h
ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
[mirror_edk2.git] / NetworkPkg / IScsiDxe / IScsiDhcp6.h
CommitLineData
4c5a5e0c 1/** @file\r
2 The header file of iSCSI DHCP6 related configuration routines.\r
3\r
142c00c3 4Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>\r
ecf98fbc 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
4c5a5e0c 6\r
7**/\r
8\r
9#ifndef _ISCSI_DHCP6_H_\r
10#define _ISCSI_DHCP6_H_\r
11\r
4c5a5e0c 12#define ISCSI_ROOT_PATH_ID "iscsi:"\r
13#define ISCSI_ROOT_PATH_FIELD_DELIMITER ':'\r
14#define ISCSI_ROOT_PATH_ADDR_START_DELIMITER '['\r
15#define ISCSI_ROOT_PATH_ADDR_END_DELIMITER ']'\r
16\r
17\r
18/**\r
19 Extract the Root Path option and get the required target information from\r
20 Boot File Uniform Resource Locator (URL) Option.\r
21\r
22 @param[in] RootPath The RootPath string.\r
23 @param[in] Length Length of the RootPath option payload.\r
24 @param[in, out] ConfigData The iSCSI session configuration data read from\r
25 nonvolatile device.\r
26\r
27 @retval EFI_SUCCESS All required information is extracted from the\r
28 RootPath option.\r
29 @retval EFI_NOT_FOUND The RootPath is not an iSCSI RootPath.\r
30 @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.\r
31 @retval EFI_INVALID_PARAMETER The RootPath is malformatted.\r
32\r
33**/\r
34EFI_STATUS\r
35IScsiDhcp6ExtractRootPath (\r
36 IN CHAR8 *RootPath,\r
37 IN UINT16 Length,\r
38 IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData\r
39 );\r
40\r
41/**\r
42 Parse the DHCP ACK to get the address configuration and DNS information.\r
43\r
44 @param[in] Image The handle of the driver image.\r
45 @param[in] Controller The handle of the controller;\r
46 @param[in, out] ConfigData The attempt configuration data.\r
47\r
48 @retval EFI_SUCCESS The DNS information is got from the DHCP ACK.\r
49 @retval EFI_NO_MAPPING DHCP failed to acquire address and other\r
50 information.\r
51 @retval EFI_INVALID_PARAMETER The DHCP ACK's DNS option is malformatted.\r
52 @retval EFI_DEVICE_ERROR Some unexpected error happened.\r
53 @retval EFI_OUT_OF_RESOURCES There is no sufficient resource to finish the\r
54 operation.\r
55 @retval EFI_NO_MEDIA There was a media error.\r
56\r
57**/\r
58EFI_STATUS\r
59IScsiDoDhcp6 (\r
60 IN EFI_HANDLE Image,\r
61 IN EFI_HANDLE Controller,\r
62 IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData\r
63 );\r
64\r
65#endif\r