TianoCore EDK2 master
Loading...
Searching...
No Matches
IScsiDhcp6.c File Reference
#include "IScsiImpl.h"

Go to the source code of this file.

Functions

EFI_STATUS IScsiDhcp6ExtractRootPath (IN CHAR8 *RootPath, IN UINT16 Length, IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData)
 
EFI_STATUS EFIAPI IScsiDhcp6ParseReply (IN EFI_DHCP6_PROTOCOL *This, IN VOID *Context, IN EFI_DHCP6_PACKET *Packet)
 
EFI_STATUS IScsiDoDhcp6 (IN EFI_HANDLE Image, IN EFI_HANDLE Controller, IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData)
 

Detailed Description

iSCSI DHCP6 related configuration routines.

Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file IScsiDhcp6.c.

Function Documentation

◆ IScsiDhcp6ExtractRootPath()

EFI_STATUS IScsiDhcp6ExtractRootPath ( IN CHAR8 *  RootPath,
IN UINT16  Length,
IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA ConfigData 
)

Extract the Root Path option and get the required target information from Boot File Uniform Resource Locator (URL) Option.

Parameters
[in]RootPathThe RootPath string.
[in]LengthLength of the RootPath option payload.
[in,out]ConfigDataThe iSCSI session configuration data read from nonvolatile device.
Return values
EFI_SUCCESSAll required information is extracted from the RootPath option.
EFI_NOT_FOUNDThe RootPath is not an iSCSI RootPath.
EFI_OUT_OF_RESOURCESFailed to allocate memory.
EFI_INVALID_PARAMETERThe RootPath is malformatted.

Definition at line 28 of file IScsiDhcp6.c.

◆ IScsiDhcp6ParseReply()

EFI_STATUS EFIAPI IScsiDhcp6ParseReply ( IN EFI_DHCP6_PROTOCOL This,
IN VOID *  Context,
IN EFI_DHCP6_PACKET Packet 
)

EFI_DHCP6_INFO_CALLBACK is provided by the consumer of the EFI DHCPv6 Protocol instance to intercept events that occurs in the DHCPv6 Information Request exchange process.

Parameters
[in]ThisPointer to the EFI_DHCP6_PROTOCOL instance that is used to configure this callback function.
[in]ContextPointer to the context that is initialized in the EFI_DHCP6_PROTOCOL.InfoRequest().
[in]PacketPointer to Reply packet that has been received. The EFI DHCPv6 Protocol instance is responsible for freeing the buffer.
Return values
EFI_SUCCESSTell the EFI DHCPv6 Protocol instance to finish Information Request exchange process.
EFI_NOT_READYTell the EFI DHCPv6 Protocol instance to continue Information Request exchange process.
EFI_ABORTEDTell the EFI DHCPv6 Protocol instance to abort the Information Request exchange process.
EFI_UNSUPPORTEDTell the EFI DHCPv6 Protocol instance to finish the Information Request exchange process because some request information are not received.

Definition at line 267 of file IScsiDhcp6.c.

◆ IScsiDoDhcp6()

EFI_STATUS IScsiDoDhcp6 ( IN EFI_HANDLE  Image,
IN EFI_HANDLE  Controller,
IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA ConfigData 
)

Parse the DHCP ACK to get the address configuration and DNS information.

Parameters
[in]ImageThe handle of the driver image.
[in]ControllerThe handle of the controller;
[in,out]ConfigDataThe attempt configuration data.
Return values
EFI_SUCCESSThe DNS information is got from the DHCP ACK.
EFI_NO_MAPPINGDHCP failed to acquire address and other information.
EFI_INVALID_PARAMETERThe DHCP ACK's DNS option is malformatted.
EFI_DEVICE_ERRORSome unexpected error occurred.
EFI_OUT_OF_RESOURCESThere is no sufficient resource to finish the operation.
EFI_NO_MEDIAThere was a media error.

Definition at line 391 of file IScsiDhcp6.c.