]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Ip6Dxe/Ip6Nd.h
NetworkPkg/Ip6Dxe: Improve Neightbor Discovery message validation.
[mirror_edk2.git] / NetworkPkg / Ip6Dxe / Ip6Nd.h
index 560dfa343782e38a2c2d83e13b2e99f10d017ffe..5f1bd6fb922a7faeb4d687e543d37f1a9c1ea5a9 100644 (file)
@@ -56,12 +56,21 @@ VOID
   VOID                      *Context\r
   );\r
 \r
+typedef struct _IP6_OPTION_HEADER {\r
+  UINT8                     Type;\r
+  UINT8                     Length;\r
+} IP6_OPTION_HEADER;\r
+\r
+STATIC_ASSERT (sizeof (IP6_OPTION_HEADER) == 2, "IP6_OPTION_HEADER is expected to be exactly 2 bytes long.");\r
+\r
 typedef struct _IP6_ETHE_ADDR_OPTION {\r
   UINT8                     Type;\r
   UINT8                     Length;\r
   UINT8                     EtherAddr[6];\r
 } IP6_ETHER_ADDR_OPTION;\r
 \r
+STATIC_ASSERT (sizeof (IP6_ETHER_ADDR_OPTION) == 8, "IP6_ETHER_ADDR_OPTION is expected to be exactly 8 bytes long.");\r
+\r
 typedef struct _IP6_MTU_OPTION {\r
   UINT8                     Type;\r
   UINT8                     Length;\r
@@ -69,6 +78,8 @@ typedef struct _IP6_MTU_OPTION {
   UINT32                    Mtu;\r
 } IP6_MTU_OPTION;\r
 \r
+STATIC_ASSERT (sizeof (IP6_MTU_OPTION) == 8, "IP6_MTU_OPTION is expected to be exactly 8 bytes long.");\r
+\r
 typedef struct _IP6_PREFIX_INFO_OPTION {\r
   UINT8                     Type;\r
   UINT8                     Length;\r
@@ -80,6 +91,8 @@ typedef struct _IP6_PREFIX_INFO_OPTION {
   EFI_IPv6_ADDRESS          Prefix;\r
 } IP6_PREFIX_INFO_OPTION;\r
 \r
+STATIC_ASSERT (sizeof (IP6_PREFIX_INFO_OPTION) == 32, "IP6_PREFIX_INFO_OPTION is expected to be exactly 32 bytes long.");\r
+\r
 typedef\r
 VOID\r
 (*IP6_DAD_CALLBACK) (\r