UINT8 PrefixLength;\r
} IP_IO_IP_MASK;\r
\r
+typedef union {\r
+ EFI_IP4_PROTOCOL *Ip4;\r
+ EFI_IP6_PROTOCOL *Ip6;\r
+} IP_IO_IP_PROTOCOL;\r
+\r
///\r
/// The IP session for an IP receive packet.\r
///\r
@param[in] Status Result of the IP packet being sent.\r
@param[in] Context The data provided by user for the received packet when\r
the callback is registered in IP_IO_OPEN_DATA::SndContext.\r
- @param[in] Sender A pointer to EFI_IP4_PROTOCOL or EFI_IP6_PROTOCOL.\r
+ @param[in] Sender A Union type to specify a pointer of EFI_IP4_PROTOCOL \r
+ or EFI_IP6_PROTOCOL.\r
@param[in] NotifyData The Context data specified when calling IpIoSend()\r
\r
**/\r
typedef\r
VOID\r
(EFIAPI *PKT_SENT_NOTIFY) (\r
- IN EFI_STATUS Status,\r
- IN VOID *Context,\r
- IN VOID *Sender,\r
- IN VOID *NotifyData\r
+ IN EFI_STATUS Status,\r
+ IN VOID *Context,\r
+ IN IP_IO_IP_PROTOCOL Sender,\r
+ IN VOID *NotifyData\r
);\r
\r
///\r
//\r
// The IP instance consumed by this IP_IO\r
//\r
- VOID *Ip;\r
+ IP_IO_IP_PROTOCOL Ip;\r
BOOLEAN IsConfigured;\r
\r
///\r
IP_IO *IpIo;\r
VOID *Context;\r
VOID *NotifyData;\r
- VOID *Ip;\r
+ IP_IO_IP_PROTOCOL Ip;\r
NET_BUF *Pkt;\r
IP_IO_IP_COMPLETION_TOKEN SndToken;\r
} IP_IO_SEND_ENTRY;\r
IP_IO_IP_MASK PreMask;\r
LIST_ENTRY Entry;\r
EFI_HANDLE ChildHandle;\r
- VOID *Ip;\r
+ IP_IO_IP_PROTOCOL Ip;\r
IP_IO_IP_COMPLETION_TOKEN DummyRcvToken;\r
INTN RefCnt;\r
UINT8 IpVersion;\r