]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
To align w/ UEFI 2.3 Spec, PXE driver installs PxeBc, LoadFile and SNP Protocol on...
[mirror_edk2.git] / NetworkPkg / UefiPxeBcDxe / PxeBcImpl.h
index 7491cf828523f76e0959b90ffcb0f6b061df263c..c4a0add1c92a3cd03622c399ddf5cb7d56fb0f9b 100644 (file)
@@ -51,6 +51,7 @@
 #include <Library/PcdLib.h>\r
 \r
 typedef struct _PXEBC_PRIVATE_DATA  PXEBC_PRIVATE_DATA;\r
+typedef struct _PXEBC_PRIVATE_PROTOCOL PXEBC_PRIVATE_PROTOCOL;\r
 typedef struct _PXEBC_VIRTUAL_NIC   PXEBC_VIRTUAL_NIC;\r
 \r
 #include "PxeBcDriver.h"\r
@@ -72,13 +73,24 @@ typedef struct _PXEBC_VIRTUAL_NIC   PXEBC_VIRTUAL_NIC;
 #define PXEBC_PRIVATE_DATA_SIGNATURE          SIGNATURE_32 ('P', 'X', 'E', 'P')\r
 #define PXEBC_VIRTUAL_NIC_SIGNATURE           SIGNATURE_32 ('P', 'X', 'E', 'V')\r
 #define PXEBC_PRIVATE_DATA_FROM_PXEBC(a)      CR (a, PXEBC_PRIVATE_DATA, PxeBc, PXEBC_PRIVATE_DATA_SIGNATURE)\r
+#define PXEBC_PRIVATE_DATA_FROM_ID(a)         CR (a, PXEBC_PRIVATE_DATA, Id, PXEBC_PRIVATE_DATA_SIGNATURE)\r
 #define PXEBC_VIRTUAL_NIC_FROM_LOADFILE(a)    CR (a, PXEBC_VIRTUAL_NIC, LoadFile, PXEBC_VIRTUAL_NIC_SIGNATURE)\r
 \r
+#define PXEBC_PRIVATE_GUID  \\r
+  { \\r
+    0xa4dfac32, 0xfbb4, 0x4907,{0xb3, 0x13, 0x4, 0xe, 0xe2, 0x42, 0x33, 0x20 }  \\r
+  }\r
+\r
+\r
 typedef union {\r
   PXEBC_DHCP4_PACKET_CACHE            Dhcp4;\r
   PXEBC_DHCP6_PACKET_CACHE            Dhcp6;\r
 } PXEBC_DHCP_PACKET_CACHE;\r
 \r
+struct _PXEBC_PRIVATE_PROTOCOL {\r
+  UINT64                                    Reserved;\r
+};\r
+\r
 struct _PXEBC_VIRTUAL_NIC {\r
   UINT32                                    Signature;\r
   EFI_HANDLE                                Controller;\r
@@ -92,6 +104,9 @@ struct _PXEBC_PRIVATE_DATA {
   EFI_HANDLE                                Controller;\r
   EFI_HANDLE                                Image;\r
 \r
+  PXEBC_PRIVATE_PROTOCOL                    Id;\r
+  EFI_SIMPLE_NETWORK_PROTOCOL               *Snp; \r
+\r
   PXEBC_VIRTUAL_NIC                         *Ip4Nic;\r
   PXEBC_VIRTUAL_NIC                         *Ip6Nic;\r
 \r