]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
remove the unused msa files in MdeModulePkg.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / UefiPxeBcDxe / PxeBcImpl.h
index 6bd7a55531c6eda622d93d082479cd634be41335..df77c5da49c13ceb83597b59686b45b1ae0a0480 100644 (file)
@@ -1,6 +1,6 @@
 /** @file
 
-Copyright (c) 2007, Intel Corporation
+Copyright (c) 2007 - 2008, Intel Corporation                                                         
 All rights reserved. This program and the accompanying materials
 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
@@ -24,25 +24,26 @@ Abstract:
 
 typedef struct _PXEBC_PRIVATE_DATA  PXEBC_PRIVATE_DATA;
 
-#include <PiDxe.h>\r
-\r
-#include <Guid/SmBios.h>\r
-#include <IndustryStandard/Smbios.h>\r
-#include <Protocol/Dhcp4.h>\r
-#include <Protocol/PxeBaseCode.h>\r
-#include <Protocol/Mtftp4.h>\r
-#include <Protocol/Udp4.h>\r
-#include <Protocol/LoadFile.h>\r
-#include <Protocol/NetworkInterfaceIdentifier.h>\r
-#include <Protocol/PxeBaseCodeCallBack.h>\r
+#include <PiDxe.h>
+
+#include <Guid/SmBios.h>
+#include <IndustryStandard/SmBios.h>
+#include <Protocol/Dhcp4.h>
+#include <Protocol/PxeBaseCode.h>
+#include <Protocol/Mtftp4.h>
+#include <Protocol/Udp4.h>
+#include <Protocol/LoadFile.h>
+#include <Protocol/NetworkInterfaceIdentifier.h>
+#include <Protocol/PxeBaseCodeCallBack.h>
 #include <Protocol/Arp.h>
-\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/UefiDriverEntryPoint.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/BaseLib.h>\r
+#include <Protocol/Ip4.h>
+
+#include <Library/DebugLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/UefiDriverEntryPoint.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/UefiLib.h>
+#include <Library/BaseLib.h>
 #include <Library/NetLib.h>
 
 #include "PxeBcDriver.h"
@@ -61,8 +62,10 @@ struct _PXEBC_PRIVATE_DATA {
   EFI_HANDLE                                Image;
   EFI_HANDLE                                ArpChild;
   EFI_HANDLE                                Dhcp4Child;
+  EFI_HANDLE                                Ip4Child;
   EFI_HANDLE                                Mtftp4Child;
-  EFI_HANDLE                                Udp4Child;
+  EFI_HANDLE                                Udp4ReadChild;
+  EFI_HANDLE                                Udp4WriteChild;
 
   EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *Nii;
 
@@ -72,10 +75,15 @@ struct _PXEBC_PRIVATE_DATA {
   EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL       *PxeBcCallback;
   EFI_ARP_PROTOCOL                          *Arp;
   EFI_DHCP4_PROTOCOL                        *Dhcp4;
+  EFI_IP4_PROTOCOL                          *Ip4;
+  EFI_IP4_CONFIG_DATA                       Ip4ConfigData;
   EFI_MTFTP4_PROTOCOL                       *Mtftp4;
-  EFI_UDP4_PROTOCOL                         *Udp4;
+  EFI_UDP4_PROTOCOL                         *Udp4Read;
+  EFI_UDP4_PROTOCOL                         *Udp4Write;
+  UINT16                                    CurrentUdpSrcPort;
   EFI_UDP4_CONFIG_DATA                      Udp4CfgData;
 
+
   EFI_PXE_BASE_CODE_MODE                    Mode;
   EFI_PXE_BASE_CODE_FUNCTION                Function;
 
@@ -91,6 +99,8 @@ struct _PXEBC_PRIVATE_DATA {
 
   UINT8                                     OptionBuffer[PXEBC_DHCP4_MAX_OPTION_SIZE];
   EFI_DHCP4_PACKET                          SeedPacket;
+  EFI_MAC_ADDRESS                           Mac;
+  UINT8                                     MacLen;
 
   BOOLEAN                                   SortOffers;
   UINT32                                    NumOffers;
@@ -115,6 +125,12 @@ struct _PXEBC_PRIVATE_DATA {
   UINT32                                    BootpIndex;
   UINT32                                    ProxyIndex[DHCP4_PACKET_TYPE_MAX];
   UINT32                                    BinlIndex[PXEBC_MAX_OFFER_NUM];
+
+  EFI_EVENT                                 GetArpCacheEvent;
+  //\r
+  // token and event used to get ICMP error data from IP\r
+  //\r
+  EFI_IP4_COMPLETION_TOKEN                  IcmpErrorRcvToken;
 };
 
 #define PXEBC_PRIVATE_DATA_FROM_PXEBC(a)          CR (a, PXEBC_PRIVATE_DATA, PxeBc, PXEBC_PRIVATE_DATA_SIGNATURE)