Home | History | Annotate | Download | only in DxeIpIoLib

Lines Matching defs:IpIo

2   IpIo Library.

261 @param[in] IpIo Pointer to the IP_IO instance.
271 IN IP_IO *IpIo,
284 ASSERT (IpIo->IpVersion == IP_VERSION_4);
381 IpIo->PktRcvdNotify (EFI_ICMP_ERROR, IcmpErr, Session, Pkt, IpIo->RcvdContext);
390 @param[in] IpIo Pointer to the IP_IO instance.
400 IN IP_IO *IpIo,
415 ASSERT (IpIo->IpVersion == IP_VERSION_6);
542 IpIo->PktRcvdNotify (EFI_ICMP_ERROR, IcmpErr, Session, Pkt, IpIo->RcvdContext);
550 @param[in] IpIo Pointer to the IP_IO instance.
561 IN IP_IO *IpIo,
567 if (IpIo->IpVersion == IP_VERSION_4) {
569 return IpIoIcmpv4Handler (IpIo, Pkt, Session);
571 } else if (IpIo->IpVersion == IP_VERSION_6) {
573 return IpIoIcmpv6Handler (IpIo, Pkt, Session);
604 @param[in, out] IpIo Pointer to the IP_IO instance.
618 IN OUT IP_IO *IpIo,
637 if ((IpIo->IpVersion != IP_VERSION_4) && (IpIo->IpVersion != IP_VERSION_6)) {
680 if (IpIo->IpVersion == IP_VERSION_4) {
703 if (IpIo->IpVersion == IP_VERSION_4) {
746 SndEntry->IpIo = IpIo;
754 InsertTailList (&IpIo->PendingSndList, &SndEntry->Entry);
797 if (SndEntry->IpIo->IpVersion == IP_VERSION_4) {
801 } else if (SndEntry->IpIo->IpVersion == IP_VERSION_6) {
837 IP_IO *IpIo;
843 IpIo = SndEntry->IpIo;
845 if (IpIo->IpVersion == IP_VERSION_4) {
847 } else if (IpIo->IpVersion == IP_VERSION_6){
853 if ((IpIo->PktSentNotify != NULL) && (SndEntry->NotifyData != NULL)) {
854 IpIo->PktSentNotify (
992 IP_IO *IpIo;
998 IpIo = (IP_IO *) Context;
1000 if (IpIo->IpVersion == IP_VERSION_4) {
1001 Status = IpIo->RcvToken.Ip4Token.Status;
1002 RxData = (IP_IO_IP_RX_DATA *) IpIo->RcvToken.Ip4Token.Packet.RxData;
1003 } else if (IpIo->IpVersion == IP_VERSION_6) {
1004 Status = IpIo->RcvToken.Ip6Token.Status;
1005 RxData = (IP_IO_IP_RX_DATA *) IpIo->RcvToken.Ip6Token.Packet.RxData;
1026 if (NULL == IpIo->PktRcvdNotify) {
1030 if (IpIo->IpVersion == IP_VERSION_4) {
1103 IpIo->PktRcvdNotify (EFI_SUCCESS, 0, &Session, Pkt, IpIo->RcvdContext);
1108 Status = IpIoIcmpHandler (IpIo, Pkt, &Session);
1118 if (IpIo->IpVersion == IP_VERSION_4){
1126 if (IpIo->IpVersion == IP_VERSION_4){
1127 IpIo->Ip.Ip4->Receive (IpIo->Ip.Ip4, &(IpIo->RcvToken.Ip4Token));
1129 IpIo->Ip.Ip6->Receive (IpIo->Ip.Ip6, &(IpIo->RcvToken.Ip6Token));
1179 IP_IO *IpIo;
1184 IpIo = AllocateZeroPool (sizeof (IP_IO));
1185 if (NULL == IpIo) {
1189 InitializeListHead (&(IpIo->PendingSndList));
1190 InitializeListHead (&(IpIo->IpList));
1191 IpIo->Controller = Controller;
1192 IpIo->Image = Image;
1193 IpIo->IpVersion = IpVersion;
1200 IpIo,
1208 IpIo->RcvToken.Ip4Token.Event = Event;
1210 IpIo->RcvToken.Ip6Token.Event = Event;
1219 &IpIo->ChildHandle,
1221 (VOID **)&(IpIo->Ip)
1227 return IpIo;
1235 gBS->FreePool (IpIo);
1248 @param[in, out] IpIo Pointer to an IP_IO instance that needs
1263 IN OUT IP_IO *IpIo,
1270 if (IpIo->IsConfigured) {
1274 IpVersion = IpIo->IpVersion;
1282 Status = IpIo->Ip.Ip4->Configure (
1283 IpIo->Ip.Ip4,
1288 Status = IpIo->Ip.Ip6->Configure (
1289 IpIo->Ip.Ip6,
1304 Status = IpIo->Ip.Ip4->Routes (
1305 IpIo->Ip.Ip4,
1317 IpIo->PktRcvdNotify = OpenData->PktRcvdNotify;
1318 IpIo->PktSentNotify = OpenData->PktSentNotify;
1320 IpIo->RcvdContext = OpenData->RcvdContext;
1321 IpIo->SndContext = OpenData->SndContext;
1324 IpIo->Protocol = OpenData->IpConfigData.Ip4CfgData.DefaultProtocol;
1329 Status = IpIo->Ip.Ip4->Receive (
1330 IpIo->Ip.Ip4,
1331 &(IpIo->RcvToken.Ip4Token)
1334 IpIo->Ip.Ip4->Configure (IpIo->Ip.Ip4, NULL);
1340 IpIo->Protocol = OpenData->IpConfigData.Ip6CfgData.DefaultProtocol;
1341 Status = IpIo->Ip.Ip6->Receive (
1342 IpIo->Ip.Ip6,
1343 &(IpIo->RcvToken.Ip6Token)
1346 IpIo->Ip.Ip6->Configure (IpIo->Ip.Ip6, NULL);
1351 IpIo->IsConfigured = TRUE;
1352 InsertTailList (&mActiveIpIoList, &IpIo->Entry);
1366 @param[in, out] IpIo Pointer to the IP_IO instance that needs to stop.
1375 IN OUT IP_IO *IpIo
1382 if (!IpIo->IsConfigured) {
1386 IpVersion = IpIo->IpVersion;
1391 // Remove the IpIo from the active IpIo list.
1393 RemoveEntryList (&IpIo->Entry);
1399 Status = IpIo->Ip.Ip4->Configure (IpIo->Ip.Ip4, NULL);
1401 Status = IpIo->Ip.Ip6->Configure (IpIo->Ip.Ip6, NULL);
1407 IpIo->IsConfigured = FALSE;
1410 // Detroy the Ip List used by IpIo
1413 while (!IsListEmpty (&(IpIo->IpList))) {
1414 IpInfo = NET_LIST_HEAD (&(IpIo->IpList), IP_IO_IP_INFO, Entry);
1416 IpIoRemoveIp (IpIo, IpInfo);
1422 ASSERT (IsListEmpty (&IpIo->PendingSndList));
1428 gBS->CloseEvent (IpIo->RcvToken.Ip4Token.Event);
1430 gBS->CloseEvent (IpIo->RcvToken.Ip6Token.Event);
1443 @param[in, out] IpIo Pointer to the IP_IO instance that needs to be
1453 IN OUT IP_IO *IpIo
1457 // Stop the IpIo.
1459 IpIoStop (IpIo);
1465 IpIo->Controller,
1466 IpIo->Image,
1467 IpIo->ChildHandle,
1468 IpIo->IpVersion
1471 gBS->FreePool (IpIo);
1481 Pkt. The IP instance wrapped in IpIo is used for sending by default but can be
1485 @param[in, out] IpIo Pointer to an IP_IO instance used for sending IP
1496 @retval EFI_NOT_STARTED The IpIo is not configured.
1503 IN OUT IP_IO *IpIo,
1516 ASSERT ((IpIo->IpVersion != IP_VERSION_4) || (Dest != NULL));
1518 if (!IpIo->IsConfigured) {
1522 Ip = (NULL == Sender) ? IpIo->Ip : Sender->Ip;
1527 SndEntry = IpIoCreateSndEntry (IpIo, Pkt, Ip, Context, NotifyData, Dest, OverrideData);
1535 if (IpIo->IpVersion == IP_VERSION_4){
1558 @param[in] IpIo Pointer to the IP_IO instance.
1565 IN IP_IO *IpIo,
1573 ASSERT ((IpIo != NULL) && (Packet != NULL));
1575 NET_LIST_FOR_EACH (Node, &IpIo->PendingSndList) {
1583 if (IpIo->IpVersion == IP_VERSION_4) {
1609 @param[in, out] IpIo Pointer to a IP_IO instance to add a new IP
1618 IN OUT IP_IO *IpIo
1625 ASSERT (IpIo != NULL);
1642 IpInfo->IpVersion = IpIo->IpVersion;
1648 IpIo->Controller,
1649 IpIo->Image,
1679 // Link this IpInfo into the IpIo.
1681 InsertTailList (&IpIo->IpList, &IpInfo->Entry);
1688 IpIo->Controller,
1689 IpIo->Image,
1864 Destroy an IP instance maintained in IpIo->IpList for
1871 @param[in] IpIo Pointer to the IP_IO instance.
1878 IN IP_IO *IpIo,
1894 IpVersion = IpIo->IpVersion;
1906 IpIo->Controller,
1907 IpIo->Image,
1922 IpIo->Controller,
1923 IpIo
1936 Find the first IP protocol maintained in IpIo whose local
1939 This function is called when the caller needs the IpIo to send data to the
1940 specified Src. The IpIo was added previously by IpIoAddIp().
1942 @param[in, out] IpIo Pointer to the pointer of the IP_IO instance.
1954 IN OUT IP_IO **IpIo,
1969 if (((*IpIo != NULL) && (*IpIo != IpIoPtr)) || (IpIoPtr->IpVersion != IpVersion)) {
1978 *IpIo = IpIoPtr;
1985 *IpIo = IpIoPtr;
2112 This function is called when the caller needs the IpIo to refresh the existing
2117 @param[in] IpIo Pointer to an IP_IO instance
2126 @retval EFI_NOT_STARTED The IpIo is not configured.
2135 IN IP_IO *IpIo,
2142 if (!IpIo->IsConfigured || IpIo->IpVersion != IP_VERSION_6) {
2146 Ip = IpIo->Ip.Ip6;