summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0ccabf7)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10578
6f19259b-4bc3-4df7-8a09-
765794883524
UINT8 PrefixLength;\r
} IP_IO_IP_MASK;\r
\r
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
///\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] 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
@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
// The IP instance consumed by this IP_IO\r
//\r
//\r
// The IP instance consumed by this IP_IO\r
//\r
+ IP_IO_IP_PROTOCOL Ip;\r
BOOLEAN IsConfigured;\r
\r
///\r
BOOLEAN IsConfigured;\r
\r
///\r
IP_IO *IpIo;\r
VOID *Context;\r
VOID *NotifyData;\r
IP_IO *IpIo;\r
VOID *Context;\r
VOID *NotifyData;\r
+ IP_IO_IP_PROTOCOL Ip;\r
NET_BUF *Pkt;\r
IP_IO_IP_COMPLETION_TOKEN SndToken;\r
} IP_IO_SEND_ENTRY;\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
IP_IO_IP_MASK PreMask;\r
LIST_ENTRY Entry;\r
EFI_HANDLE ChildHandle;\r
+ IP_IO_IP_PROTOCOL Ip;\r
IP_IO_IP_COMPLETION_TOKEN DummyRcvToken;\r
INTN RefCnt;\r
UINT8 IpVersion;\r
IP_IO_IP_COMPLETION_TOKEN DummyRcvToken;\r
INTN RefCnt;\r
UINT8 IpVersion;\r
IpIoCreateSndEntry (\r
IN OUT IP_IO *IpIo,\r
IN OUT NET_BUF *Pkt,\r
IpIoCreateSndEntry (\r
IN OUT IP_IO *IpIo,\r
IN OUT NET_BUF *Pkt,\r
+ IN IP_IO_IP_PROTOCOL Sender,\r
IN VOID *Context OPTIONAL,\r
IN VOID *NotifyData OPTIONAL,\r
IN EFI_IP_ADDRESS *Dest OPTIONAL,\r
IN VOID *Context OPTIONAL,\r
IN VOID *NotifyData OPTIONAL,\r
IN EFI_IP_ADDRESS *Dest OPTIONAL,\r
// Continue the receive.\r
//\r
if (IpInfo->IpVersion == IP_VERSION_4) {\r
// Continue the receive.\r
//\r
if (IpInfo->IpVersion == IP_VERSION_4) {\r
- ((EFI_IP4_PROTOCOL *) (IpInfo->Ip))->Receive (\r
- (EFI_IP4_PROTOCOL *) (IpInfo->Ip),\r
- &IpInfo->DummyRcvToken.Ip4Token\r
- );\r
+ IpInfo->Ip.Ip4->Receive (\r
+ IpInfo->Ip.Ip4,\r
+ &IpInfo->DummyRcvToken.Ip4Token\r
+ );\r
- ((EFI_IP6_PROTOCOL *) (IpInfo->Ip))->Receive (\r
- (EFI_IP6_PROTOCOL *) (IpInfo->Ip),\r
- &IpInfo->DummyRcvToken.Ip6Token\r
- );\r
+ IpInfo->Ip.Ip6->Receive (\r
+ IpInfo->Ip.Ip6,\r
+ &IpInfo->DummyRcvToken.Ip6Token\r
+ );\r
IP_IO *IpIo;\r
EFI_STATUS Status;\r
IP_IO_IP_RX_DATA *RxData;\r
IP_IO *IpIo;\r
EFI_STATUS Status;\r
IP_IO_IP_RX_DATA *RxData;\r
EFI_NET_SESSION_DATA Session;\r
NET_BUF *Pkt;\r
\r
IpIo = (IP_IO *) Context;\r
EFI_NET_SESSION_DATA Session;\r
NET_BUF *Pkt;\r
\r
IpIo = (IP_IO *) Context;\r
\r
if (IpIo->IpVersion == IP_VERSION_4) {\r
Status = IpIo->RcvToken.Ip4Token.Status;\r
\r
if (IpIo->IpVersion == IP_VERSION_4) {\r
Status = IpIo->RcvToken.Ip4Token.Status;\r
Resume:\r
\r
if (IpIo->IpVersion == IP_VERSION_4){\r
Resume:\r
\r
if (IpIo->IpVersion == IP_VERSION_4){\r
- ((EFI_IP4_PROTOCOL *) Ip)->Receive (Ip, &(IpIo->RcvToken.Ip4Token));\r
+ IpIo->Ip.Ip4->Receive (IpIo->Ip.Ip4, &(IpIo->RcvToken.Ip4Token));\r
- ((EFI_IP6_PROTOCOL *) Ip)->Receive (Ip, &(IpIo->RcvToken.Ip6Token));\r
+ IpIo->Ip.Ip6->Receive (IpIo->Ip.Ip6, &(IpIo->RcvToken.Ip6Token));\r
)\r
{\r
EFI_STATUS Status;\r
)\r
{\r
EFI_STATUS Status;\r
UINT8 IpVersion;\r
\r
if (IpIo->IsConfigured) {\r
UINT8 IpVersion;\r
\r
if (IpIo->IsConfigured) {\r
\r
ASSERT ((IpVersion == IP_VERSION_4) || (IpVersion == IP_VERSION_6));\r
\r
\r
ASSERT ((IpVersion == IP_VERSION_4) || (IpVersion == IP_VERSION_6));\r
\r
//\r
// configure ip\r
//\r
if (IpVersion == IP_VERSION_4){\r
//\r
// configure ip\r
//\r
if (IpVersion == IP_VERSION_4){\r
- Status = ((EFI_IP4_PROTOCOL *) Ip)->Configure (\r
- (EFI_IP4_PROTOCOL *) Ip,\r
- &OpenData->IpConfigData.Ip4CfgData\r
- );\r
+ Status = IpIo->Ip.Ip4->Configure (\r
+ IpIo->Ip.Ip4,\r
+ &OpenData->IpConfigData.Ip4CfgData\r
+ );\r
- Status = ((EFI_IP6_PROTOCOL *) Ip)->Configure (\r
- (EFI_IP6_PROTOCOL *) Ip, \r
- &OpenData->IpConfigData.Ip6CfgData\r
- );\r
+ Status = IpIo->Ip.Ip6->Configure (\r
+ IpIo->Ip.Ip6, \r
+ &OpenData->IpConfigData.Ip6CfgData\r
+ );\r
}\r
\r
if (EFI_ERROR (Status)) {\r
}\r
\r
if (EFI_ERROR (Status)) {\r
// @bug its code\r
//\r
if (IpVersion == IP_VERSION_4){\r
// @bug its code\r
//\r
if (IpVersion == IP_VERSION_4){\r
- Status = ((EFI_IP4_PROTOCOL *) Ip)->Routes (\r
- (EFI_IP4_PROTOCOL *) Ip,\r
- TRUE,\r
- &mZeroIp4Addr,\r
- &mZeroIp4Addr,\r
- &mZeroIp4Addr\r
- );\r
+ Status = IpIo->Ip.Ip4->Routes (\r
+ IpIo->Ip.Ip4,\r
+ TRUE,\r
+ &mZeroIp4Addr,\r
+ &mZeroIp4Addr,\r
+ &mZeroIp4Addr\r
+ );\r
\r
if (EFI_ERROR (Status) && (EFI_NOT_FOUND != Status)) {\r
return Status;\r
\r
if (EFI_ERROR (Status) && (EFI_NOT_FOUND != Status)) {\r
return Status;\r
//\r
// start to listen incoming packet\r
//\r
//\r
// start to listen incoming packet\r
//\r
- Status = ((EFI_IP4_PROTOCOL *) Ip)->Receive (\r
- (EFI_IP4_PROTOCOL *) Ip,\r
- &(IpIo->RcvToken.Ip4Token)\r
- );\r
+ Status = IpIo->Ip.Ip4->Receive (\r
+ IpIo->Ip.Ip4,\r
+ &(IpIo->RcvToken.Ip4Token)\r
+ );\r
if (EFI_ERROR (Status)) {\r
if (EFI_ERROR (Status)) {\r
- ((EFI_IP4_PROTOCOL *) Ip)->Configure ((EFI_IP4_PROTOCOL *) Ip, NULL);\r
+ IpIo->Ip.Ip4->Configure (IpIo->Ip.Ip4, NULL);\r
goto ErrorExit;\r
}\r
\r
} else {\r
\r
IpIo->Protocol = OpenData->IpConfigData.Ip6CfgData.DefaultProtocol;\r
goto ErrorExit;\r
}\r
\r
} else {\r
\r
IpIo->Protocol = OpenData->IpConfigData.Ip6CfgData.DefaultProtocol;\r
- Status = ((EFI_IP6_PROTOCOL *) Ip)->Receive (\r
- (EFI_IP6_PROTOCOL *) Ip,\r
- &(IpIo->RcvToken.Ip6Token)\r
- );\r
+ Status = IpIo->Ip.Ip6->Receive (\r
+ IpIo->Ip.Ip6,\r
+ &(IpIo->RcvToken.Ip6Token)\r
+ );\r
if (EFI_ERROR (Status)) {\r
if (EFI_ERROR (Status)) {\r
- ((EFI_IP6_PROTOCOL *) Ip)->Configure ((EFI_IP6_PROTOCOL *) Ip, NULL);\r
+ IpIo->Ip.Ip6->Configure (IpIo->Ip.Ip6, NULL);\r
goto ErrorExit;\r
}\r
}\r
goto ErrorExit;\r
}\r
}\r
)\r
{\r
EFI_STATUS Status;\r
)\r
{\r
EFI_STATUS Status;\r
IP_IO_IP_INFO *IpInfo;\r
UINT8 IpVersion;\r
\r
IP_IO_IP_INFO *IpInfo;\r
UINT8 IpVersion;\r
\r
//\r
RemoveEntryList (&IpIo->Entry);\r
\r
//\r
RemoveEntryList (&IpIo->Entry);\r
\r
//\r
// Configure NULL Ip\r
//\r
if (IpVersion == IP_VERSION_4) {\r
//\r
// Configure NULL Ip\r
//\r
if (IpVersion == IP_VERSION_4) {\r
- Status = ((EFI_IP4_PROTOCOL *) Ip)->Configure ((EFI_IP4_PROTOCOL *) Ip, NULL);\r
+ Status = IpIo->Ip.Ip4->Configure (IpIo->Ip.Ip4, NULL);\r
- Status = ((EFI_IP6_PROTOCOL *) Ip)->Configure ((EFI_IP6_PROTOCOL *) Ip, NULL);\r
+ Status = IpIo->Ip.Ip6->Configure (IpIo->Ip.Ip6, NULL);\r
}\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
if (EFI_ERROR (Status)) {\r
return Status;\r
)\r
{\r
EFI_STATUS Status;\r
)\r
{\r
EFI_STATUS Status;\r
+ IP_IO_IP_PROTOCOL Ip;\r
IP_IO_SEND_ENTRY *SndEntry;\r
\r
ASSERT ((IpIo->IpVersion != IP_VERSION_4) || (Dest != NULL));\r
IP_IO_SEND_ENTRY *SndEntry;\r
\r
ASSERT ((IpIo->IpVersion != IP_VERSION_4) || (Dest != NULL));\r
// Send this Packet\r
//\r
if (IpIo->IpVersion == IP_VERSION_4){\r
// Send this Packet\r
//\r
if (IpIo->IpVersion == IP_VERSION_4){\r
- Status = ((EFI_IP4_PROTOCOL *) Ip)->Transmit (\r
- (EFI_IP4_PROTOCOL *) Ip,\r
- &SndEntry->SndToken.Ip4Token\r
- );\r
+ Status = Ip.Ip4->Transmit (\r
+ Ip.Ip4,\r
+ &SndEntry->SndToken.Ip4Token\r
+ );\r
- Status = ((EFI_IP6_PROTOCOL *) Ip)->Transmit (\r
- (EFI_IP6_PROTOCOL *) Ip,\r
- &SndEntry->SndToken.Ip6Token\r
- );\r
+ Status = Ip.Ip6->Transmit (\r
+ Ip.Ip6,\r
+ &SndEntry->SndToken.Ip6Token\r
+ );\r
}\r
\r
if (EFI_ERROR (Status)) {\r
}\r
\r
if (EFI_ERROR (Status)) {\r
{\r
LIST_ENTRY *Node;\r
IP_IO_SEND_ENTRY *SndEntry;\r
{\r
LIST_ENTRY *Node;\r
IP_IO_SEND_ENTRY *SndEntry;\r
+ IP_IO_IP_PROTOCOL Ip;\r
\r
ASSERT ((IpIo != NULL) && (Packet != NULL));\r
\r
\r
ASSERT ((IpIo != NULL) && (Packet != NULL));\r
\r
Ip = SndEntry->Ip;\r
\r
if (IpIo->IpVersion == IP_VERSION_4) {\r
Ip = SndEntry->Ip;\r
\r
if (IpIo->IpVersion == IP_VERSION_4) {\r
- ((EFI_IP4_PROTOCOL *) Ip)->Cancel (\r
- (EFI_IP4_PROTOCOL *) Ip,\r
- &SndEntry->SndToken.Ip4Token\r
- );\r
+ Ip.Ip4->Cancel (\r
+ Ip.Ip4,\r
+ &SndEntry->SndToken.Ip4Token\r
+ );\r
- ((EFI_IP6_PROTOCOL *) Ip)->Cancel (\r
- (EFI_IP6_PROTOCOL *) Ip,\r
- &SndEntry->SndToken.Ip6Token\r
- );\r
+ Ip.Ip6->Cancel (\r
+ Ip.Ip6,\r
+ &SndEntry->SndToken.Ip6Token\r
+ );\r
)\r
{\r
EFI_STATUS Status;\r
)\r
{\r
EFI_STATUS Status;\r
+ IP_IO_IP_PROTOCOL Ip;\r
UINT8 IpVersion;\r
EFI_IP4_MODE_DATA Ip4ModeData;\r
EFI_IP6_MODE_DATA Ip6ModeData;\r
UINT8 IpVersion;\r
EFI_IP4_MODE_DATA Ip4ModeData;\r
EFI_IP6_MODE_DATA Ip6ModeData;\r
Ip = IpInfo->Ip;\r
\r
if (IpInfo->IpVersion == IP_VERSION_4) {\r
Ip = IpInfo->Ip;\r
\r
if (IpInfo->IpVersion == IP_VERSION_4) {\r
- Status = ((EFI_IP4_PROTOCOL *) Ip)->Configure ((EFI_IP4_PROTOCOL *) Ip, IpConfigData);\r
+ Status = Ip.Ip4->Configure (Ip.Ip4, IpConfigData);\r
- Status = ((EFI_IP6_PROTOCOL *) Ip)->Configure ((EFI_IP6_PROTOCOL *) Ip, IpConfigData);\r
+ Status = Ip.Ip6->Configure (Ip.Ip6, IpConfigData);\r
}\r
\r
if (EFI_ERROR (Status)) {\r
}\r
\r
if (EFI_ERROR (Status)) {\r
if (IpInfo->IpVersion == IP_VERSION_4){\r
\r
if (((EFI_IP4_CONFIG_DATA *) IpConfigData)->UseDefaultAddress) {\r
if (IpInfo->IpVersion == IP_VERSION_4){\r
\r
if (((EFI_IP4_CONFIG_DATA *) IpConfigData)->UseDefaultAddress) {\r
- ((EFI_IP4_PROTOCOL *) Ip)->GetModeData (\r
- (EFI_IP4_PROTOCOL *) Ip, \r
- &Ip4ModeData, \r
- NULL, \r
- NULL\r
- );\r
+ Ip.Ip4->GetModeData (\r
+ Ip.Ip4, \r
+ &Ip4ModeData, \r
+ NULL, \r
+ NULL\r
+ );\r
\r
((EFI_IP4_CONFIG_DATA*) IpConfigData)->StationAddress = Ip4ModeData.ConfigData.StationAddress;\r
((EFI_IP4_CONFIG_DATA*) IpConfigData)->SubnetMask = Ip4ModeData.ConfigData.SubnetMask;\r
\r
((EFI_IP4_CONFIG_DATA*) IpConfigData)->StationAddress = Ip4ModeData.ConfigData.StationAddress;\r
((EFI_IP4_CONFIG_DATA*) IpConfigData)->SubnetMask = Ip4ModeData.ConfigData.SubnetMask;\r
sizeof (IP4_ADDR)\r
);\r
\r
sizeof (IP4_ADDR)\r
);\r
\r
- Status = ((EFI_IP4_PROTOCOL *) Ip)->Receive (\r
- (EFI_IP4_PROTOCOL *) Ip,\r
- &IpInfo->DummyRcvToken.Ip4Token\r
- );\r
+ Status = Ip.Ip4->Receive (\r
+ Ip.Ip4,\r
+ &IpInfo->DummyRcvToken.Ip4Token\r
+ );\r
if (EFI_ERROR (Status)) {\r
if (EFI_ERROR (Status)) {\r
- ((EFI_IP4_PROTOCOL*)Ip)->Configure (Ip, NULL);\r
+ Ip.Ip4->Configure (Ip.Ip4, NULL);\r
-\r
- ((EFI_IP6_PROTOCOL *) Ip)->GetModeData (\r
- (EFI_IP6_PROTOCOL *) Ip,\r
- &Ip6ModeData,\r
- NULL,\r
- NULL\r
- );\r
+ Ip.Ip6->GetModeData (\r
+ Ip.Ip6,\r
+ &Ip6ModeData,\r
+ NULL,\r
+ NULL\r
+ );\r
\r
if (Ip6ModeData.IsConfigured) {\r
CopyMem (\r
\r
if (Ip6ModeData.IsConfigured) {\r
CopyMem (\r
sizeof (EFI_IPv6_ADDRESS)\r
);\r
\r
sizeof (EFI_IPv6_ADDRESS)\r
);\r
\r
- Status = ((EFI_IP6_PROTOCOL *) Ip)->Receive (\r
- (EFI_IP6_PROTOCOL *) Ip,\r
- &IpInfo->DummyRcvToken.Ip6Token\r
- );\r
+ Status = Ip.Ip6->Receive (\r
+ Ip.Ip6,\r
+ &IpInfo->DummyRcvToken.Ip6Token\r
+ );\r
if (EFI_ERROR (Status)) {\r
if (EFI_ERROR (Status)) {\r
- ((EFI_IP6_PROTOCOL *) Ip)->Configure ((EFI_IP6_PROTOCOL *) Ip, NULL);\r
+ Ip.Ip6->Configure (Ip.Ip6, NULL);\r
RemoveEntryList (&IpInfo->Entry);\r
\r
if (IpVersion == IP_VERSION_4){\r
RemoveEntryList (&IpInfo->Entry);\r
\r
if (IpVersion == IP_VERSION_4){\r
- ((EFI_IP4_PROTOCOL *) (IpInfo->Ip))->Configure (\r
- (EFI_IP4_PROTOCOL *) (IpInfo->Ip),\r
- NULL\r
- );\r
+ IpInfo->Ip.Ip4->Configure (\r
+ IpInfo->Ip.Ip4,\r
+ NULL\r
+ );\r
IpIoCloseProtocolDestroyIpChild (\r
IpIo->Controller,\r
IpIo->Image,\r
IpIoCloseProtocolDestroyIpChild (\r
IpIo->Controller,\r
IpIo->Image,\r
- ((EFI_IP6_PROTOCOL *) (IpInfo->Ip))->Configure (\r
- (EFI_IP6_PROTOCOL *) (IpInfo->Ip),\r
- NULL\r
- );\r
+ IpInfo->Ip.Ip6->Configure (\r
+ IpInfo->Ip.Ip6,\r
+ NULL\r
+ );\r
\r
IpIoCloseProtocolDestroyIpChild (\r
IpIo->Controller,\r
\r
IpIoCloseProtocolDestroyIpChild (\r
IpIo->Controller,\r
return EFI_NOT_STARTED;\r
}\r
\r
return EFI_NOT_STARTED;\r
}\r
\r
- Ip = (EFI_IP6_PROTOCOL *) (IpIo->Ip);\r
\r
return Ip->Neighbors (Ip, FALSE, &Neighbor->v6, NULL, Timeout, TRUE);\r
}\r
\r
return Ip->Neighbors (Ip, FALSE, &Neighbor->v6, NULL, Timeout, TRUE);\r
}\r
IN TCP4_ROUTE_INFO *RouteInfo\r
)\r
{\r
IN TCP4_ROUTE_INFO *RouteInfo\r
)\r
{\r
- EFI_IP4_PROTOCOL *Ip;\r
+ EFI_IP4_PROTOCOL *Ip4;\r
- Ip = Tcb->IpInfo->Ip;\r
+ Ip4 = Tcb->IpInfo->Ip.Ip4;\r
+ ASSERT (Ip4 != NULL);\r
- return Ip->Routes (\r
- Ip,\r
+ return Ip4->Routes (\r
+ Ip4,\r
RouteInfo->DeleteRoute,\r
RouteInfo->SubnetAddress,\r
RouteInfo->SubnetMask,\r
RouteInfo->DeleteRoute,\r
RouteInfo->SubnetAddress,\r
RouteInfo->SubnetMask,\r
- Ip = Tcb->IpInfo->Ip;\r
+ Ip = Tcb->IpInfo->Ip.Ip4;\r
ASSERT (Ip != NULL);\r
\r
return Ip->GetModeData (Ip, Mode->Ip4ModeData, Mode->MnpConfigData, Mode->SnpModeData);\r
ASSERT (Ip != NULL);\r
\r
return Ip->GetModeData (Ip, Mode->Ip4ModeData, Mode->MnpConfigData, Mode->SnpModeData);\r
\r
switch (Request) {\r
case SOCK_POLL:\r
\r
switch (Request) {\r
case SOCK_POLL:\r
- Ip = (EFI_IP4_PROTOCOL *) (ProtoData->TcpService->IpIo->Ip);\r
+ Ip = ProtoData->TcpService->IpIo->Ip.Ip4;\r
Ip->Poll (Ip);\r
break;\r
\r
Ip->Poll (Ip);\r
break;\r
\r
ASSERT (Sock != NULL);\r
\r
TcpProto = (TCP4_PROTO_DATA *) Sock->ProtoReserved;\r
ASSERT (Sock != NULL);\r
\r
TcpProto = (TCP4_PROTO_DATA *) Sock->ProtoReserved;\r
- Ip = (EFI_IP4_PROTOCOL *) (TcpProto->TcpService->IpIo->Ip);\r
+ Ip = TcpProto->TcpService->IpIo->Ip.Ip4;\r
ASSERT (Ip != NULL);\r
\r
Ip->GetModeData (Ip, &Ip4Mode, NULL, NULL);\r
ASSERT (Ip != NULL);\r
\r
Ip->GetModeData (Ip, &Ip4Mode, NULL, NULL);\r
\r
@param[in] Status The completion status of the output udp datagram.\r
@param[in] Context Pointer to the context data.\r
\r
@param[in] Status The completion status of the output udp datagram.\r
@param[in] Context Pointer to the context data.\r
- @param[in] Sender Pointer to the Ip sender of the udp datagram.\r
+ @param[in] Sender Specify a pointer of EFI_IP4_PROTOCOL for sending.\r
@param[in] NotifyData Pointer to the notify data.\r
\r
**/\r
VOID\r
EFIAPI\r
Udp4DgramSent (\r
@param[in] NotifyData Pointer to the notify data.\r
\r
**/\r
VOID\r
EFIAPI\r
Udp4DgramSent (\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
@param[in] Status The completion status of the output udp datagram.\r
@param[in] Context Pointer to the context data.\r
\r
@param[in] Status The completion status of the output udp datagram.\r
@param[in] Context Pointer to the context data.\r
- @param[in] Sender Pointer to the Ip sender of the udp datagram.\r
+ @param[in] Sender Specify a pointer of EFI_IP4_PROTOCOL for sending.\r
@param[in] NotifyData Pointer to the notify data.\r
\r
**/\r
VOID\r
EFIAPI\r
Udp4DgramSent (\r
@param[in] NotifyData Pointer to the notify data.\r
\r
**/\r
VOID\r
EFIAPI\r
Udp4DgramSent (\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
UDP4_INSTANCE_DATA *Instance;\r
)\r
{\r
UDP4_INSTANCE_DATA *Instance;\r
CopyMem (Udp4ConfigData, &Instance->ConfigData, sizeof (*Udp4ConfigData));\r
}\r
\r
CopyMem (Udp4ConfigData, &Instance->ConfigData, sizeof (*Udp4ConfigData));\r
}\r
\r
- Ip = Instance->IpInfo->Ip;\r
+ Ip = Instance->IpInfo->Ip.Ip4;\r
\r
//\r
// Get the underlying Ip4ModeData, MnpConfigData and SnpModeData.\r
\r
//\r
// Get the underlying Ip4ModeData, MnpConfigData and SnpModeData.\r
return EFI_NOT_STARTED;\r
}\r
\r
return EFI_NOT_STARTED;\r
}\r
\r
- Ip = Instance->IpInfo->Ip;\r
+ Ip = Instance->IpInfo->Ip.Ip4;\r
\r
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
\r
\r
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
\r
return EFI_NOT_STARTED;\r
}\r
\r
return EFI_NOT_STARTED;\r
}\r
\r
- Ip = Instance->IpInfo->Ip;\r
+ Ip = Instance->IpInfo->Ip.Ip4;\r
\r
//\r
// Invoke the Ip instance the Udp4 instance consumes to do the actual operation.\r
\r
//\r
// Invoke the Ip instance the Udp4 instance consumes to do the actual operation.\r
}\r
\r
Instance = UDP4_INSTANCE_DATA_FROM_THIS (This);\r
}\r
\r
Instance = UDP4_INSTANCE_DATA_FROM_THIS (This);\r
- Ip = Instance->IpInfo->Ip;\r
+ Ip = Instance->IpInfo->Ip.Ip4;\r
\r
//\r
// Invode the Ip instance consumed by the udp instance to do the poll operation.\r
\r
//\r
// Invode the Ip instance consumed by the udp instance to do the poll operation.\r