extern EFI_IP4_CONFIG_DATA mIp4IoDefaultIpConfigData;\r
extern EFI_IP6_CONFIG_DATA mIp6IoDefaultIpConfigData;\r
\r
-typedef enum {\r
- IP_VERSION_4 = 4,\r
- IP_VERSION_6 = 6\r
-} IP_VERSION;\r
+#define IP_VERSION_4 4\r
+#define IP_VERSION_6 6\r
\r
///\r
/// This error will be delivered to the\r
/// listening transportation layer protocol\r
/// that consumes IpIO.\r
///\r
-typedef enum {\r
- ICMP_ERR_UNREACH_NET = 0,\r
- ICMP_ERR_UNREACH_HOST,\r
- ICMP_ERR_UNREACH_PROTOCOL,\r
- ICMP_ERR_UNREACH_PORT,\r
- ICMP_ERR_MSGSIZE,\r
- ICMP_ERR_UNREACH_SRCFAIL,\r
- ICMP_ERR_TIMXCEED_INTRANS,\r
- ICMP_ERR_TIMXCEED_REASS,\r
- ICMP_ERR_QUENCH,\r
- ICMP_ERR_PARAMPROB\r
-} ICMP_ERROR;\r
-\r
-typedef enum {\r
- ICMP6_ERR_UNREACH_NET = 0,\r
- ICMP6_ERR_UNREACH_HOST,\r
- ICMP6_ERR_UNREACH_PROTOCOL,\r
- ICMP6_ERR_UNREACH_PORT,\r
- ICMP6_ERR_PACKAGE_TOOBIG,\r
- ICMP6_ERR_TIMXCEED_HOPLIMIT,\r
- ICMP6_ERR_TIMXCEED_REASS,\r
- ICMP6_ERR_PARAMPROB_HEADER,\r
- ICMP6_ERR_PARAMPROB_NEXHEADER,\r
- ICMP6_ERR_PARAMPROB_IPV6OPTION\r
-} ICMP6_ERROR;\r
+\r
+#define ICMP_ERR_UNREACH_NET 0\r
+#define ICMP_ERR_UNREACH_HOST 1\r
+#define ICMP_ERR_UNREACH_PROTOCOL 2\r
+#define ICMP_ERR_UNREACH_PORT 3\r
+#define ICMP_ERR_MSGSIZE 4\r
+#define ICMP_ERR_UNREACH_SRCFAIL 5\r
+#define ICMP_ERR_TIMXCEED_INTRANS 6\r
+#define ICMP_ERR_TIMXCEED_REASS 7\r
+#define ICMP_ERR_QUENCH 8\r
+#define ICMP_ERR_PARAMPROB 9\r
+\r
+#define ICMP6_ERR_UNREACH_NET 0\r
+#define ICMP6_ERR_UNREACH_HOST 1\r
+#define ICMP6_ERR_UNREACH_PROTOCOL 2\r
+#define ICMP6_ERR_UNREACH_PORT 3\r
+#define ICMP6_ERR_PACKAGE_TOOBIG 4\r
+#define ICMP6_ERR_TIMXCEED_HOPLIMIT 5\r
+#define ICMP6_ERR_TIMXCEED_REASS 6\r
+#define ICMP6_ERR_PARAMPROB_HEADER 7\r
+#define ICMP6_ERR_PARAMPROB_NEXHEADER 8\r
+#define ICMP6_ERR_PARAMPROB_IPV6OPTION 9\r
\r
///\r
/// The helper struct for IpIoGetIcmpErrStatus(). It is for internal use only.\r
EFI_IP6_CONFIG_DATA Ip6CfgData;\r
} IP_IO_IP_CONFIG_DATA;\r
\r
+typedef union {\r
+ EFI_IP4_HEADER *Ip4Hdr;\r
+ EFI_IP6_HEADER *Ip6Hdr;\r
+} IP_IO_IP_HEADER;\r
+\r
+typedef union {\r
+ IP4_ADDR SubnetMask;\r
+ UINT8 PrefixLength;\r
+} IP_IO_IP_MASK;\r
+\r
///\r
/// The IP session for an IP receive packet.\r
///\r
typedef struct _EFI_NET_SESSION_DATA {\r
EFI_IP_ADDRESS Source; ///< Source IP of the received packet\r
EFI_IP_ADDRESS Dest; ///< Destination IP of the received packet\r
- union {\r
- EFI_IP4_HEADER *Ip4Hdr; ///< IP4 header of the received packet\r
- EFI_IP6_HEADER *Ip6Hdr; ///< IP6 header of the received packet\r
- } IpHdr;\r
- IP_VERSION IpVersion; ///< The IP version of the received packet\r
+ IP_IO_IP_HEADER IpHdr; ///< IP header of the received packet\r
+ UINT8 IpVersion; ///< The IP version of the received packet\r
} EFI_NET_SESSION_DATA;\r
\r
/**\r
VOID\r
(*PKT_RCVD_NOTIFY) (\r
IN EFI_STATUS Status, \r
- IN ICMP_ERROR IcmpErr,\r
+ IN UINT8 IcmpErr,\r
IN EFI_NET_SESSION_DATA *NetSession,\r
IN NET_BUF *Pkt,\r
IN VOID *Context\r
VOID *SndContext; ///< See IP_IO_OPEN_DATA::SndContext\r
PKT_RCVD_NOTIFY PktRcvdNotify; ///< See IP_IO_OPEN_DATA::PktRcvdNotify\r
PKT_SENT_NOTIFY PktSentNotify; ///< See IP_IO_OPEN_DATA::PktSentNotify\r
- //\r
- // Ip Version \r
- //\r
- IP_VERSION IpVersion;\r
+ UINT8 IpVersion;\r
} IP_IO;\r
\r
///\r
///\r
typedef struct _IP_IO_IP_INFO {\r
EFI_IP_ADDRESS Addr;\r
- union {\r
- IP4_ADDR SubnetMask;\r
- UINT8 PrefixLength;\r
- } PreMask;\r
+ IP_IO_IP_MASK PreMask;\r
LIST_ENTRY Entry;\r
EFI_HANDLE ChildHandle;\r
VOID *Ip;\r
IP_IO_IP_COMPLETION_TOKEN DummyRcvToken;\r
INTN RefCnt;\r
- IP_VERSION IpVersion;\r
+ UINT8 IpVersion;\r
} IP_IO_IP_INFO;\r
\r
/**\r
IpIoCreate (\r
IN EFI_HANDLE Image,\r
IN EFI_HANDLE Controller,\r
- IN IP_VERSION IpVersion\r
+ IN UINT8 IpVersion\r
);\r
\r
/**\r
EFIAPI\r
IpIoFindSender (\r
IN OUT IP_IO **IpIo,\r
- IN IP_VERSION IpVersion,\r
+ IN UINT8 IpVersion,\r
IN EFI_IP_ADDRESS *Src\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
IpIoGetIcmpErrStatus (\r
- IN ICMP_ERROR IcmpError,\r
- IN IP_VERSION IpVersion,\r
+ IN UINT8 IcmpError,\r
+ IN UINT8 IpVersion,\r
OUT BOOLEAN *IsHard OPTIONAL,\r
OUT BOOLEAN *Notify OPTIONAL\r
);\r