]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OldMdePkg/Include/Protocol/IP4Config.h
Moved the MdePkg to OldMdePkg so that new code in MdePkg does not break existing...
[mirror_edk2.git] / OldMdePkg / Include / Protocol / IP4Config.h
diff --git a/OldMdePkg/Include/Protocol/IP4Config.h b/OldMdePkg/Include/Protocol/IP4Config.h
new file mode 100644 (file)
index 0000000..0212f35
--- /dev/null
@@ -0,0 +1,121 @@
+/** @file\r
+  Copyright (c) 2006, Intel Corporation                                                         \r
+  All rights reserved. This program and the accompanying materials                          \r
+  are licensed and made available under the terms and conditions of the BSD License         \r
+  which accompanies this distribution.  The full text of the license may be found at        \r
+  http://opensource.org/licenses/bsd-license.php                                            \r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+  Module Name:  IP4Config.h\r
+\r
+**/\r
+\r
+#ifndef __EFI_IP4CONFIG_PROTOCOL_H__\r
+#define __EFI_IP4CONFIG_PROTOCOL_H__\r
+\r
+#define EFI_IP4_CONFIG_PROTOCOL_GUID \\r
+  { \\r
+    0x3b95aa31, 0x3793, 0x434b, {0x86, 0x67, 0xc8, 0x07, 0x08, 0x92, 0xe0, 0x5e } \\r
+  }\r
+\r
+typedef struct _EFI_IP4_CONFIG_PROTOCOL EFI_IP4_CONFIG_PROTOCOL;\r
+\r
+#define IP4_CONFIG_VARIABLE_ATTRIBUTES \\r
+        (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | \\r
+         EFI_VARIABLE_RUNTIME_ACCESS )\r
+\r
+typedef struct {\r
+  EFI_IPv4_ADDRESS             StationAddress;\r
+  EFI_IPv4_ADDRESS             SubnetMask;\r
+  UINT32                       RouteTableSize;\r
+  EFI_IP4_ROUTE_TABLE          *RouteTable;    //OPTIONAL\r
+} EFI_IP4_IPCONFIG_DATA;\r
+\r
+\r
+/**\r
+  Starts running the configuration policy for the EFI IPv4 Protocol driver.\r
+\r
+  @param  This          Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
+  @param  DoneEvent     Event that will be signaled when the EFI IPv4 Protocol driver\r
+                        configuration policy completes execution. This event must be of\r
+                        type EVT_NOTIFY_SIGNAL.\r
+  @param  ReconfigEvent Event that will be signaled when the EFI IPv4 Protocol driver\r
+                        configuration needs to be updated. This event must be of type\r
+                        EVT_NOTIFY_SIGNAL.\r
+\r
+  @retval EFI_SUCCESS           The configuration policy for the EFI IPv4 Protocol driver is now\r
+                                running.\r
+  @retval EFI_INVALID_PARAMETER This, DoneEvent, or ReconfigEvent is NULL.\r
+  @retval EFI_OUT_OF_RESOURCES  Required system resources could not be allocated.\r
+  @retval EFI_ALREADY_STARTED   The configuration policy for the EFI IPv4 Protocol driver was\r
+                                already started.\r
+  @retval EFI_DEVICE_ERROR      An unexpected system error or network error occurred.\r
+  @retval EFI_UNSUPPORTED       This interface does not support the EFI IPv4 Protocol driver\r
+                                 configuration.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_IP4_CONFIG_START) (\r
+  IN EFI_IP4_CONFIG_PROTOCOL   *This,\r
+  IN EFI_EVENT                 DoneEvent,\r
+  IN EFI_EVENT                 ReconfigEvent \r
+  )\r
+;    \r
+\r
+/**\r
+  Stops running the configuration policy for the EFI IPv4 Protocol driver.\r
+\r
+  @param  This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
+\r
+  @retval EFI_SUCCESS           The configuration policy for the EFI IPv4 Protocol driver has been stopped.\r
+  @retval EFI_INVALID_PARAMETER This is NULL.\r
+  @retval EFI_NOT_STARTED       The configuration policy for the EFI IPv4 Protocol driver was not started.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_IP4_CONFIG_STOP) (\r
+  IN EFI_IP4_CONFIG_PROTOCOL   *This \r
+  )\r
+;   \r
+\r
+/**\r
+  Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.\r
+\r
+  @param  This             Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.\r
+  @param  IpConfigDataSize On input, the size of the IpConfigData buffer.\r
+                           On output, the count of bytes that were written into the IpConfigData buffer.\r
+  @param  IpConfigData     Pointer to the EFI IPv4 Configuration Protocol driver\r
+                           configuration data structure.\r
+\r
+  @retval EFI_SUCCESS           The EFI IPv4 Protocol driver configuration has been returned.\r
+  @retval EFI_INVALID_PARAMETER This is NULL.\r
+  @retval EFI_NOT_STARTED       The configuration policy for the EFI IPv4 Protocol driver is not\r
+                                running.\r
+  @retval EFI_NOT_READY         EFI IPv4 Protocol driver configuration is still running.\r
+  @retval EFI_ABORTED           EFI IPv4 Protocol driver configuration could not complete.\r
+  @retval EFI_BUFFER_TOO_SMALL  *IpConfigDataSize is smaller than the configuration data\r
+                                buffer or IpConfigData is NULL.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_IP4_CONFIG_GET_DATA) (\r
+  IN EFI_IP4_CONFIG_PROTOCOL   *This,\r
+  IN OUT UINTN                 *IpConfigDataSize,\r
+  OUT EFI_IP4_IPCONFIG_DATA    *IpConfigData    OPTIONAL \r
+  )\r
+;    \r
+\r
+struct _EFI_IP4_CONFIG_PROTOCOL {\r
+  EFI_IP4_CONFIG_START         Start;\r
+  EFI_IP4_CONFIG_STOP          Stop;\r
+  EFI_IP4_CONFIG_GET_DATA      GetData;\r
+};\r
+\r
+extern EFI_GUID gEfiIp4ConfigProtocolGuid;\r
+\r
+#endif\r