]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.h
NetworkPkg: Move Network library and drivers from MdeModulePkg to NetworkPkg
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4Dxe / Ip4Config2Impl.h
diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.h b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.h
deleted file mode 100644 (file)
index 1716dde..0000000
+++ /dev/null
@@ -1,294 +0,0 @@
-/** @file\r
-  Definitions for EFI IPv4 Configuration II Protocol implementation.\r
-\r
-  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
-  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
-\r
-  SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef __IP4_CONFIG2_IMPL_H__\r
-#define __IP4_CONFIG2_IMPL_H__\r
-\r
-#define IP4_CONFIG2_INSTANCE_SIGNATURE    SIGNATURE_32 ('I', 'P', 'C', '2')\r
-#define IP4_FORM_CALLBACK_INFO_SIGNATURE  SIGNATURE_32 ('I', 'F', 'C', 'I')\r
-\r
-#define IP4_CONFIG2_VARIABLE_ATTRIBUTE    (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)\r
-\r
-#define DATA_ATTRIB_SIZE_FIXED              0x1\r
-#define DATA_ATTRIB_VOLATILE                0x2\r
-\r
-#define DATA_ATTRIB_SET(Attrib, Bits)       (BOOLEAN)((Attrib) & (Bits))\r
-#define SET_DATA_ATTRIB(Attrib, Bits)       ((Attrib) |= (Bits))\r
-#define REMOVE_DATA_ATTRIB(Attrib, Bits)    ((Attrib) &= (~Bits))\r
-\r
-typedef struct _IP4_CONFIG2_INSTANCE IP4_CONFIG2_INSTANCE;\r
-\r
-#define IP4_CONFIG2_INSTANCE_FROM_PROTOCOL(Proto) \\r
-  CR ((Proto), \\r
-      IP4_CONFIG2_INSTANCE, \\r
-      Ip4Config2, \\r
-      IP4_CONFIG2_INSTANCE_SIGNATURE \\r
-      )\r
-\r
-#define IP4_SERVICE_FROM_IP4_CONFIG2_INSTANCE(Instance) \\r
-  CR ((Instance), \\r
-      IP4_SERVICE, \\r
-      Ip4Config2Instance, \\r
-      IP4_SERVICE_SIGNATURE \\r
-      )\r
-\r
-#define IP4_CONFIG2_INSTANCE_FROM_FORM_CALLBACK(Callback) \\r
-  CR ((Callback), \\r
-      IP4_CONFIG2_INSTANCE, \\r
-      CallbackInfo, \\r
-      IP4_CONFIG2_INSTANCE_SIGNATURE \\r
-      )\r
-\r
-#define IP4_FORM_CALLBACK_INFO_FROM_CONFIG_ACCESS(ConfigAccess) \\r
-  CR ((ConfigAccess), \\r
-      IP4_FORM_CALLBACK_INFO, \\r
-      HiiConfigAccessProtocol, \\r
-      IP4_FORM_CALLBACK_INFO_SIGNATURE \\r
-      )\r
-\r
-/**\r
-  The prototype of work function for EfiIp4Config2SetData().\r
-\r
-  @param[in]     Instance The pointer to the IP4 config2 instance data.\r
-  @param[in]     DataSize In bytes, the size of the buffer pointed to by Data.\r
-  @param[in]     Data     The data buffer to set.\r
-\r
-  @retval EFI_BAD_BUFFER_SIZE  The DataSize does not match the size of the type,\r
-                               8 bytes.\r
-  @retval EFI_SUCCESS          The specified configuration data for the EFI IPv4\r
-                               network stack was set successfully.\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(*IP4_CONFIG2_SET_DATA) (\r
-  IN IP4_CONFIG2_INSTANCE *Instance,\r
-  IN UINTN                DataSize,\r
-  IN VOID                 *Data\r
-  );\r
-\r
-/**\r
-  The prototype of work function for EfiIp4Config2GetData().\r
-\r
-  @param[in]      Instance The pointer to the IP4 config2 instance data.\r
-  @param[in, out] DataSize On input, in bytes, the size of Data. On output, in\r
-                           bytes, the size of buffer required to store the specified\r
-                           configuration data.\r
-  @param[in]      Data     The data buffer in which the configuration data is returned.\r
-                           Ignored if DataSize is ZERO.\r
-\r
-  @retval EFI_BUFFER_TOO_SMALL The size of Data is too small for the specified\r
-                               configuration data, and the required size is\r
-                               returned in DataSize.\r
-  @retval EFI_SUCCESS          The specified configuration data was obtained successfully.\r
-\r
-**/\r
-typedef\r
-EFI_STATUS\r
-(*IP4_CONFIG2_GET_DATA) (\r
-  IN IP4_CONFIG2_INSTANCE *Instance,\r
-  IN OUT UINTN            *DataSize,\r
-  IN VOID                 *Data      OPTIONAL\r
-  );\r
-\r
-typedef union {\r
-  VOID                                      *Ptr;\r
-  EFI_IP4_CONFIG2_INTERFACE_INFO            *IfInfo;\r
-  EFI_IP4_CONFIG2_POLICY                    *Policy;\r
-  EFI_IP4_CONFIG2_MANUAL_ADDRESS            *ManualAddress;\r
-  EFI_IPv4_ADDRESS                          *Gateway;\r
-  EFI_IPv4_ADDRESS                          *DnsServers;\r
-} IP4_CONFIG2_DATA;\r
-\r
-typedef struct {\r
-  IP4_CONFIG2_SET_DATA SetData;\r
-  IP4_CONFIG2_GET_DATA GetData;\r
-  EFI_STATUS           Status;\r
-  UINT8                Attribute;\r
-  NET_MAP              EventMap;\r
-  IP4_CONFIG2_DATA     Data;\r
-  UINTN                DataSize;\r
-} IP4_CONFIG2_DATA_ITEM;\r
-\r
-typedef struct {\r
-  UINT16                    Offset;\r
-  UINT32                    DataSize;\r
-  EFI_IP4_CONFIG2_DATA_TYPE DataType;\r
-} IP4_CONFIG2_DATA_RECORD;\r
-\r
-#pragma pack(1)\r
-\r
-//\r
-// heap data that contains the data for each data record.\r
-//\r
-//  EFI_IP4_CONFIG2_POLICY                    Policy;\r
-//  UINT32                                    ManualaddressCount;\r
-//  UINT32                                    GatewayCount;\r
-//  UINT32                                    DnsServersCount;\r
-//  EFI_IP4_CONFIG2_MANUAL_ADDRESS            ManualAddress[];\r
-//  EFI_IPv4_ADDRESS                          Gateway[];\r
-//  EFI_IPv4_ADDRESS                          DnsServers[];\r
-//\r
-typedef struct {\r
-  UINT16                  Checksum;\r
-  UINT16                  DataRecordCount;\r
-  IP4_CONFIG2_DATA_RECORD DataRecord[1];\r
-} IP4_CONFIG2_VARIABLE;\r
-\r
-#pragma pack()\r
-\r
-typedef struct {\r
-  EFI_IP4_CONFIG2_POLICY                   Policy;               ///< manual or automatic\r
-  EFI_IP4_CONFIG2_MANUAL_ADDRESS           *ManualAddress;       ///< IP addresses\r
-  UINT32                                   ManualAddressCount;   ///< IP addresses count\r
-  EFI_IPv4_ADDRESS                         *GatewayAddress;      ///< Gateway address\r
-  UINT32                                   GatewayAddressCount;  ///< Gateway address count\r
-  EFI_IPv4_ADDRESS                         *DnsAddress;          ///< DNS server address\r
-  UINT32                                   DnsAddressCount;      ///< DNS server address count\r
-} IP4_CONFIG2_NVDATA;\r
-\r
-typedef struct _IP4_FORM_CALLBACK_INFO {\r
-  UINT32                           Signature;\r
-  EFI_HANDLE                       ChildHandle;\r
-  EFI_HII_CONFIG_ACCESS_PROTOCOL   HiiConfigAccessProtocol;\r
-  EFI_DEVICE_PATH_PROTOCOL         *HiiVendorDevicePath;\r
-  EFI_HII_HANDLE                   RegisteredHandle;\r
-} IP4_FORM_CALLBACK_INFO;\r
-\r
-struct _IP4_CONFIG2_INSTANCE {\r
-  UINT32                                    Signature;\r
-  BOOLEAN                                   Configured;\r
-  LIST_ENTRY                                Link;\r
-  UINT16                                    IfIndex;\r
-\r
-  EFI_IP4_CONFIG2_PROTOCOL                  Ip4Config2;\r
-\r
-  EFI_IP4_CONFIG2_INTERFACE_INFO            InterfaceInfo;\r
-  EFI_IP4_CONFIG2_POLICY                    Policy;\r
-  IP4_CONFIG2_DATA_ITEM                     DataItem[Ip4Config2DataTypeMaximum];\r
-\r
-  EFI_EVENT                                 Dhcp4SbNotifyEvent;\r
-  VOID                                      *Registration;\r
-  EFI_HANDLE                                Dhcp4Handle;\r
-  EFI_DHCP4_PROTOCOL                        *Dhcp4;\r
-  BOOLEAN                                   DhcpSuccess;\r
-  BOOLEAN                                   OtherInfoOnly;\r
-  EFI_EVENT                                 Dhcp4Event;\r
-  UINT32                                    FailedIaAddressCount;\r
-  EFI_IPv4_ADDRESS                          *DeclineAddress;\r
-  UINT32                                    DeclineAddressCount;\r
-\r
-  IP4_FORM_CALLBACK_INFO                    CallbackInfo;\r
-\r
-  IP4_CONFIG2_NVDATA                        Ip4NvData;\r
-};\r
-\r
-//\r
-// Configure the DHCP to request the routers and netmask\r
-// from server. The DHCP4_TAG_NETMASK is included in Head.\r
-//\r
-#pragma pack(1)\r
-typedef struct {\r
-  EFI_DHCP4_PACKET_OPTION Head;\r
-  UINT8                   Route;\r
-  UINT8                   Dns;\r
-} 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
-  DHCP configuration.\r
-\r
-  @param[in]  Instance           The IP4 config2 instance to configure.\r
-\r
-  @retval EFI_SUCCESS            The auto configuration is successfully started.\r
-  @retval Others                 Failed to start auto configuration.\r
-\r
-**/\r
-EFI_STATUS\r
-Ip4StartAutoConfig (\r
-  IN IP4_CONFIG2_INSTANCE   *Instance\r
-  );\r
-\r
-/**\r
-  Initialize an IP4_CONFIG2_INSTANCE.\r
-\r
-  @param[out]    Instance       The buffer of IP4_CONFIG2_INSTANCE to be initialized.\r
-\r
-  @retval EFI_OUT_OF_RESOURCES  Failed to allocate resources to complete the operation.\r
-  @retval EFI_SUCCESS           The IP4_CONFIG2_INSTANCE initialized successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-Ip4Config2InitInstance (\r
-  OUT IP4_CONFIG2_INSTANCE  *Instance\r
-  );\r
-\r
-/**\r
-  Release an IP4_CONFIG2_INSTANCE.\r
-\r
-  @param[in, out] Instance    The buffer of IP4_CONFIG2_INSTANCE to be freed.\r
-\r
-**/\r
-VOID\r
-Ip4Config2CleanInstance (\r
-  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
-  @param[in, out] Instance    The buffer of IP4 config2 instance to be freed.\r
-\r
-  @retval EFI_SUCCESS         The child was successfully destroyed.\r
-  @retval Others              Failed to destroy the child.\r
-\r
-**/\r
-EFI_STATUS\r
-Ip4Config2DestroyDhcp4 (\r
-  IN OUT IP4_CONFIG2_INSTANCE  *Instance\r
-  );\r
-\r
-#endif\r