summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2008-04-02 08:45:36 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2008-04-02 08:45:36 +0000
commit982a9eaea270fdc05d60d570e3d0e4d168654c05 (patch)
tree1b6c7f82c07fb4d7bf60fea12e3b2aad9631e36a /MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
parent4965dd562e2d858c5085145de9c6a89f1c7bc020 (diff)
downloadedk2-platforms-982a9eaea270fdc05d60d570e3d0e4d168654c05.tar.xz
enhanced UefiPxeBcDxe to support
1. AutoArp. 2. SendGuid. 3 TftpError. 4. IcmpError. 5. RouteTable. 6. ArpCache. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4981 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h')
-rw-r--r--MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
index cd428e75d1..4fbdcad5eb 100644
--- a/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
+++ b/MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.h
@@ -36,6 +36,7 @@ typedef struct _PXEBC_PRIVATE_DATA PXEBC_PRIVATE_DATA;
#include <Protocol/NetworkInterfaceIdentifier.h>
#include <Protocol/PxeBaseCodeCallBack.h>
#include <Protocol/Arp.h>
+#include <Protocol/Ip4.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
@@ -61,9 +62,11 @@ struct _PXEBC_PRIVATE_DATA {
EFI_HANDLE Image;
EFI_HANDLE ArpChild;
EFI_HANDLE Dhcp4Child;
+ EFI_HANDLE Ip4Child;
EFI_HANDLE Mtftp4Child;
EFI_HANDLE Udp4Child;
+
EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *Nii;
EFI_PXE_BASE_CODE_PROTOCOL PxeBc;
@@ -72,10 +75,13 @@ 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_CONFIG_DATA Udp4CfgData;
+
EFI_PXE_BASE_CODE_MODE Mode;
EFI_PXE_BASE_CODE_FUNCTION Function;
@@ -91,6 +97,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 +123,12 @@ struct _PXEBC_PRIVATE_DATA {
UINT32 BootpIndex;
UINT32 ProxyIndex[DHCP4_PACKET_TYPE_MAX];
UINT32 BinlIndex[PXEBC_MAX_OFFER_NUM];
+
+ EFI_EVENT GetArpCacheEvent;
+ //
+ // token and event used to get ICMP error data from IP
+ //
+ EFI_IP4_COMPLETION_TOKEN IcmpErrorRcvToken;
};
#define PXEBC_PRIVATE_DATA_FROM_PXEBC(a) CR (a, PXEBC_PRIVATE_DATA, PxeBc, PXEBC_PRIVATE_DATA_SIGNATURE)