]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.h
MdeModulePkg: Change the default IPv4 config policy
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4Dxe / Ip4Config2Impl.h
index ab72525646772388e92ee05d2fce8a861b1b02e0..77bdc8dcb645ccd067726fc4edff8f2d95df3934 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Definitions for EFI IPv4 Configuration II Protocol implementation.\r
 \r
-  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
   (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
 \r
   This program and the accompanying materials\r
@@ -212,6 +212,26 @@ typedef struct {
 } IP4_CONFIG2_DHCP4_OPTION;\r
 #pragma pack()\r
 \r
+/**\r
+  Read the configuration data from variable storage according to the VarName and\r
+  gEfiIp4Config2ProtocolGuid. It checks the integrity of variable data. If the\r
+  data is corrupted, it clears the variable data to ZERO. Othewise, it outputs the\r
+  configuration data to IP4_CONFIG2_INSTANCE.\r
+\r
+  @param[in]      VarName       The pointer to the variable name\r
+  @param[in, out] Instance      The pointer to the IP4 config2 instance data.\r
+\r
+  @retval EFI_NOT_FOUND         The variable can not be found or already corrupted.\r
+  @retval EFI_OUT_OF_RESOURCES  Fail to allocate resource to complete the operation.\r
+  @retval EFI_SUCCESS           The configuration data was retrieved successfully.\r
+\r
+**/\r
+EFI_STATUS\r
+Ip4Config2ReadConfigData (\r
+  IN     CHAR16               *VarName,\r
+  IN OUT IP4_CONFIG2_INSTANCE *Instance\r
+  );\r
+\r
 /**\r
   Start the DHCP configuration for this IP service instance.\r
   It will locates the EFI_IP4_CONFIG2_PROTOCOL, then start the\r
@@ -253,6 +273,20 @@ Ip4Config2CleanInstance (
   IN OUT IP4_CONFIG2_INSTANCE  *Instance\r
   );\r
 \r
+/**\r
+  Request Ip4AutoReconfigCallBackDpc as a DPC at TPL_CALLBACK.\r
+\r
+  @param Event     The event that is signalled.\r
+  @param Context   The IP4 service binding instance.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+Ip4AutoReconfigCallBack (\r
+  IN EFI_EVENT              Event,\r
+  IN VOID                   *Context\r
+  );\r
+\r
 /**\r
   Destroy the Dhcp4 child in IP4_CONFIG2_INSTANCE and release the resources.\r
 \r