mirror of https://github.com/acidanthera/audk.git
Scrubbed some code for Ip4ConfigDxe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7100 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
c3a78fc8f9
commit
402fa70fc9
|
@ -1,21 +1,14 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
|
||||||
Copyright (c) 2006 - 2007, Intel Corporation
|
Copyright (c) 2006 - 2007, Intel Corporation.<BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name:
|
|
||||||
|
|
||||||
ComponentName.c
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,15 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
This code implements the IP4Config and NicIp4Config protocols.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation
|
Copyright (c) 2006 - 2008, Intel Corporation.<BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name:
|
|
||||||
|
|
||||||
Ip4Config.c
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
This code implements the IP4Config and NicIp4Config protocols.
|
|
||||||
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#include "Ip4Config.h"
|
#include "Ip4Config.h"
|
||||||
|
@ -290,15 +282,49 @@ EfiNicIp4ConfigSetInfo (
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Start the auto configuration process.
|
Starts running the configuration policy for the EFI IPv4 Protocol driver.
|
||||||
|
|
||||||
@param This The IP4 configure protocol
|
The Start() function is called to determine and to begin the platform
|
||||||
@param DoneEvent The event to signal when auto configure is done
|
configuration policy by the EFI IPv4 Protocol driver. This determination may
|
||||||
@param ReconfigEvent The event to signal when reconfigure is necessary.
|
be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
|
||||||
|
driver configuration policy. It may be as involved as loading some defaults
|
||||||
|
from nonvolatile storage, downloading dynamic data from a DHCP server, and
|
||||||
|
checking permissions with a site policy server.
|
||||||
|
Starting the configuration policy is just the beginning. It may finish almost
|
||||||
|
instantly or it may take several minutes before it fails to retrieve configuration
|
||||||
|
information from one or more servers. Once the policy is started, drivers
|
||||||
|
should use the DoneEvent parameter to determine when the configuration policy
|
||||||
|
has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
|
||||||
|
determine if the configuration succeeded or failed.
|
||||||
|
Until the configuration completes successfully, EFI IPv4 Protocol driver instances
|
||||||
|
that are attempting to use default configurations must return EFI_NO_MAPPING.
|
||||||
|
Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
|
||||||
|
signals DoneEvent. The configuration may need to be updated in the future,
|
||||||
|
however; in this case, the EFI IPv4 Configuration Protocol driver must signal
|
||||||
|
ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
|
||||||
|
configurations must return EFI_NO_MAPPING until the configuration policy has
|
||||||
|
been rerun.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER One of the function parameters is NULL.
|
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||||
@retval EFI_ALREADY_STARTED The auto configuration has already started.
|
@param DoneEvent Event that will be signaled when the EFI IPv4
|
||||||
@retval EFI_SUCCESS The auto configure is successfully started.
|
Protocol driver configuration policy completes
|
||||||
|
execution. This event must be of type EVT_NOTIFY_SIGNAL.
|
||||||
|
@param ReconfigEvent Event that will be signaled when the EFI IPv4
|
||||||
|
Protocol driver configuration needs to be updated.
|
||||||
|
This event must be of type EVT_NOTIFY_SIGNAL.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
|
||||||
|
driver is now running.
|
||||||
|
@retval EFI_INVALID_PARAMETER One or more of the following parameters is NULL:
|
||||||
|
This
|
||||||
|
DoneEvent
|
||||||
|
ReconfigEvent
|
||||||
|
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||||
|
@retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||||
|
driver was already started.
|
||||||
|
@retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
|
||||||
|
@retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol
|
||||||
|
driver configuration.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
|
@ -460,13 +486,18 @@ ON_EXIT:
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Stop the current auto configuration
|
Stops running the configuration policy for the EFI IPv4 Protocol driver.
|
||||||
|
|
||||||
@param This The IP4 CONFIG protocol
|
The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
|
||||||
|
All configuration data will be lost after calling Stop().
|
||||||
|
|
||||||
|
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
|
||||||
|
driver has been stopped.
|
||||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||||
@retval EFI_NOT_STARTED The auto configuration hasn't been started.
|
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||||
@retval EFI_SUCCESS The auto configuration has been stopped.
|
driver was not started.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
|
@ -508,16 +539,28 @@ ON_EXIT:
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Get the current outcome of the auto configuration process
|
Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
|
||||||
|
|
||||||
@param This The IP4 CONFIG protocol
|
The GetData() function returns the current configuration data for the EFI IPv4
|
||||||
@param ConfigDataSize The size of the configure data
|
Protocol driver after the configuration policy has completed.
|
||||||
@param ConfigData The buffer to save the configure data
|
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER This or ConfigDataSize is NULL
|
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||||
@retval EFI_BUFFER_TOO_SMALL The buffer is too small. The needed size is
|
@param ConfigDataSize On input, the size of the ConfigData buffer.
|
||||||
returned in the ConfigDataSize.
|
On output, the count of bytes that were written
|
||||||
@retval EFI_SUCCESS The configure data is put in the buffer
|
into the ConfigData buffer.
|
||||||
|
@param ConfigData Pointer to the EFI IPv4 Configuration Protocol
|
||||||
|
driver configuration data structure.
|
||||||
|
Type EFI_IP4_IPCONFIG_DATA is defined in
|
||||||
|
"Related Definitions" below.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The EFI IPv4 Protocol driver configuration has been returned.
|
||||||
|
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||||
|
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||||
|
driver is not running.
|
||||||
|
@retval EFI_NOT_READY EFI IPv4 Protocol driver configuration is still running.
|
||||||
|
@retval EFI_ABORTED EFI IPv4 Protocol driver configuration could not complete.
|
||||||
|
@retval EFI_BUFFER_TOO_SMALL *ConfigDataSize is smaller than the configuration
|
||||||
|
data buffer or ConfigData is NULL.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
|
|
|
@ -1,27 +1,19 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
Header file for IP4Config driver.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation
|
Copyright (c) 2006 - 2008, Intel Corporation.<BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name:
|
|
||||||
|
|
||||||
Ip4Config.h
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
Header file for IP4Config driver.
|
|
||||||
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef __EFI_IP4CONFIG_H__
|
#ifndef _EFI_IP4CONFIG_H_
|
||||||
#define __EFI_IP4CONFIG_H__
|
#define _EFI_IP4CONFIG_H_
|
||||||
|
|
||||||
#include <PiDxe.h>
|
#include <PiDxe.h>
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,15 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
The driver binding for IP4 CONFIG protocol.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation
|
Copyright (c) 2006 - 2008, Intel Corporation.<BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name:
|
|
||||||
|
|
||||||
Ip4ConfigDriver.c
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
The driver binding for IP4 CONFIG protocol.
|
|
||||||
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,15 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
Routines used to operate the Ip4 configure variable
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation
|
Copyright (c) 2006 - 2008, Intel Corporation.<BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name:
|
|
||||||
|
|
||||||
NicIp4Variable.c
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
Routines used to operate the Ip4 configure variable
|
|
||||||
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#include <Uefi.h>
|
#include <Uefi.h>
|
||||||
|
@ -384,6 +376,15 @@ Ip4ConfigModifyVariable (
|
||||||
return NewVar;
|
return NewVar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
|
||||||
|
|
||||||
|
The pointer is set to be immediately follow the ConfigData if there're entries
|
||||||
|
in the RouteTable. Otherwise it is set to NULL.
|
||||||
|
|
||||||
|
@param ConfigData The IP4 IP configure data.
|
||||||
|
|
||||||
|
**/
|
||||||
VOID
|
VOID
|
||||||
Ip4ConfigFixRouteTablePointer (
|
Ip4ConfigFixRouteTablePointer (
|
||||||
IN EFI_IP4_IPCONFIG_DATA *ConfigData
|
IN EFI_IP4_IPCONFIG_DATA *ConfigData
|
||||||
|
|
|
@ -1,23 +1,15 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
Routines used to operate the Ip4 configure variable
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation
|
Copyright (c) 2006 - 2008, Intel Corporation.<BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name:
|
|
||||||
|
|
||||||
NicIp4Variable.h
|
|
||||||
|
|
||||||
Abstract:
|
|
||||||
|
|
||||||
Routines used to operate the Ip4 configure variable
|
|
||||||
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef _NIC_IP4_VARIABLE_H_
|
#ifndef _NIC_IP4_VARIABLE_H_
|
||||||
|
@ -96,7 +88,7 @@ Ip4ConfigWriteVariable (
|
||||||
@param NicAddr The interface address to check
|
@param NicAddr The interface address to check
|
||||||
|
|
||||||
@return The point to the NIC's IP4 configure info if it is found
|
@return The point to the NIC's IP4 configure info if it is found
|
||||||
@return in the IP4 variable, otherwise NULL.
|
in the IP4 variable, otherwise NULL.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
NIC_IP4_CONFIG_INFO *
|
NIC_IP4_CONFIG_INFO *
|
||||||
|
@ -127,6 +119,15 @@ Ip4ConfigModifyVariable (
|
||||||
IN NIC_IP4_CONFIG_INFO *Config OPTIONAL
|
IN NIC_IP4_CONFIG_INFO *Config OPTIONAL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
|
||||||
|
|
||||||
|
The pointer is set to be immediately follow the ConfigData if there're entries
|
||||||
|
in the RouteTable. Otherwise it is set to NULL.
|
||||||
|
|
||||||
|
@param ConfigData The IP4 IP configure data.
|
||||||
|
|
||||||
|
**/
|
||||||
VOID
|
VOID
|
||||||
Ip4ConfigFixRouteTablePointer (
|
Ip4ConfigFixRouteTablePointer (
|
||||||
IN EFI_IP4_IPCONFIG_DATA *ConfigData
|
IN EFI_IP4_IPCONFIG_DATA *ConfigData
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
|
||||||
This file provides a definition of the EFI IPv4 Configuration
|
This file provides a definition of the EFI IPv4 Configuration
|
||||||
Protocol.
|
Protocol.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2008, Intel Corporation
|
Copyright (c) 2006 - 2008, Intel Corporation.<BR>
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at<BR>
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
|
@ -29,6 +28,14 @@ typedef struct _EFI_IP4_CONFIG_PROTOCOL EFI_IP4_CONFIG_PROTOCOL;
|
||||||
(EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | \
|
(EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | \
|
||||||
EFI_VARIABLE_RUNTIME_ACCESS)
|
EFI_VARIABLE_RUNTIME_ACCESS)
|
||||||
|
|
||||||
|
///
|
||||||
|
/// EFI_IP4_IPCONFIG_DATA contains the minimum IPv4 configuration data
|
||||||
|
/// that is needed to start basic network communication. The StationAddress
|
||||||
|
/// and SubnetMask must be a valid unicast IP address and subnet mask.
|
||||||
|
/// If RouteTableSize is not zero, then RouteTable contains a properly
|
||||||
|
/// formatted routing table for the StationAddress/SubnetMask, with the
|
||||||
|
/// last entry in the table being the default route.
|
||||||
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
///
|
///
|
||||||
/// Default station IP address, stored in network byte order.
|
/// Default station IP address, stored in network byte order.
|
||||||
|
@ -44,6 +51,7 @@ typedef struct {
|
||||||
UINT32 RouteTableSize;
|
UINT32 RouteTableSize;
|
||||||
///
|
///
|
||||||
/// Default routing table data (stored in network byte order).
|
/// Default routing table data (stored in network byte order).
|
||||||
|
/// Ignored if RouteTableSize is zero.
|
||||||
///
|
///
|
||||||
EFI_IP4_ROUTE_TABLE *RouteTable;
|
EFI_IP4_ROUTE_TABLE *RouteTable;
|
||||||
} EFI_IP4_IPCONFIG_DATA;
|
} EFI_IP4_IPCONFIG_DATA;
|
||||||
|
@ -52,23 +60,47 @@ typedef struct {
|
||||||
/**
|
/**
|
||||||
Starts running the configuration policy for the EFI IPv4 Protocol driver.
|
Starts running the configuration policy for the EFI IPv4 Protocol driver.
|
||||||
|
|
||||||
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
The Start() function is called to determine and to begin the platform
|
||||||
@param DoneEvent Event that will be signaled when the EFI IPv4 Protocol driver
|
configuration policy by the EFI IPv4 Protocol driver. This determination may
|
||||||
configuration policy completes execution. This event must be of
|
be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
|
||||||
type EVT_NOTIFY_SIGNAL.
|
driver configuration policy. It may be as involved as loading some defaults
|
||||||
@param ReconfigEvent Event that will be signaled when the EFI IPv4 Protocol driver
|
from nonvolatile storage, downloading dynamic data from a DHCP server, and
|
||||||
configuration needs to be updated. This event must be of type
|
checking permissions with a site policy server.
|
||||||
EVT_NOTIFY_SIGNAL.
|
Starting the configuration policy is just the beginning. It may finish almost
|
||||||
|
instantly or it may take several minutes before it fails to retrieve configuration
|
||||||
|
information from one or more servers. Once the policy is started, drivers
|
||||||
|
should use the DoneEvent parameter to determine when the configuration policy
|
||||||
|
has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
|
||||||
|
determine if the configuration succeeded or failed.
|
||||||
|
Until the configuration completes successfully, EFI IPv4 Protocol driver instances
|
||||||
|
that are attempting to use default configurations must return EFI_NO_MAPPING.
|
||||||
|
Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
|
||||||
|
signals DoneEvent. The configuration may need to be updated in the future,
|
||||||
|
however; in this case, the EFI IPv4 Configuration Protocol driver must signal
|
||||||
|
ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
|
||||||
|
configurations must return EFI_NO_MAPPING until the configuration policy has
|
||||||
|
been rerun.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol driver is now
|
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||||
running.
|
@param DoneEvent Event that will be signaled when the EFI IPv4
|
||||||
@retval EFI_INVALID_PARAMETER This, DoneEvent, or ReconfigEvent is NULL.
|
Protocol driver configuration policy completes
|
||||||
|
execution. This event must be of type EVT_NOTIFY_SIGNAL.
|
||||||
|
@param ReconfigEvent Event that will be signaled when the EFI IPv4
|
||||||
|
Protocol driver configuration needs to be updated.
|
||||||
|
This event must be of type EVT_NOTIFY_SIGNAL.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
|
||||||
|
driver is now running.
|
||||||
|
@retval EFI_INVALID_PARAMETER One or more of the following parameters is NULL:
|
||||||
|
This
|
||||||
|
DoneEvent
|
||||||
|
ReconfigEvent
|
||||||
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
@retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
|
||||||
@retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol driver was
|
@retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||||
already started.
|
driver was already started.
|
||||||
@retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
|
@retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
|
||||||
@retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol driver
|
@retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol
|
||||||
configuration.
|
driver configuration.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -82,11 +114,16 @@ EFI_STATUS
|
||||||
/**
|
/**
|
||||||
Stops running the configuration policy for the EFI IPv4 Protocol driver.
|
Stops running the configuration policy for the EFI IPv4 Protocol driver.
|
||||||
|
|
||||||
|
The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
|
||||||
|
All configuration data will be lost after calling Stop().
|
||||||
|
|
||||||
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol driver has been stopped.
|
@retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
|
||||||
|
driver has been stopped.
|
||||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||||
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol driver was not started.
|
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||||
|
driver was not started.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -98,20 +135,26 @@ EFI_STATUS
|
||||||
/**
|
/**
|
||||||
Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
|
Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
|
||||||
|
|
||||||
|
The GetData() function returns the current configuration data for the EFI IPv4
|
||||||
|
Protocol driver after the configuration policy has completed.
|
||||||
|
|
||||||
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
@param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
|
||||||
@param IpConfigDataSize On input, the size of the IpConfigData buffer.
|
@param IpConfigDataSize On input, the size of the IpConfigData buffer.
|
||||||
On output, the count of bytes that were written into the IpConfigData buffer.
|
On output, the count of bytes that were written
|
||||||
@param IpConfigData Pointer to the EFI IPv4 Configuration Protocol driver
|
into the IpConfigData buffer.
|
||||||
configuration data structure.
|
@param IpConfigData Pointer to the EFI IPv4 Configuration Protocol
|
||||||
|
driver configuration data structure.
|
||||||
|
Type EFI_IP4_IPCONFIG_DATA is defined in
|
||||||
|
"Related Definitions" below.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The EFI IPv4 Protocol driver configuration has been returned.
|
@retval EFI_SUCCESS The EFI IPv4 Protocol driver configuration has been returned.
|
||||||
@retval EFI_INVALID_PARAMETER This is NULL.
|
@retval EFI_INVALID_PARAMETER This is NULL.
|
||||||
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol driver is not
|
@retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
|
||||||
running.
|
driver is not running.
|
||||||
@retval EFI_NOT_READY EFI IPv4 Protocol driver configuration is still running.
|
@retval EFI_NOT_READY EFI IPv4 Protocol driver configuration is still running.
|
||||||
@retval EFI_ABORTED EFI IPv4 Protocol driver configuration could not complete.
|
@retval EFI_ABORTED EFI IPv4 Protocol driver configuration could not complete.
|
||||||
@retval EFI_BUFFER_TOO_SMALL *IpConfigDataSize is smaller than the configuration data
|
@retval EFI_BUFFER_TOO_SMALL *IpConfigDataSize is smaller than the configuration
|
||||||
buffer or IpConfigData is NULL.
|
data buffer or IpConfigData is NULL.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
|
Loading…
Reference in New Issue