/* This function removes the multicast group specified by Arg from the Map. */
EFI_STATUS EFIAPI Udp4LeaveGroup(IN OUT NET_MAP *Map, IN NET_MAP_ITEM *Item, IN VOID *Arg OPTIONAL)
/* This function removes the multicast group specified by Arg from the Map. */
EFI_STATUS EFIAPI Udp4LeaveGroup(IN OUT NET_MAP *Map, IN NET_MAP_ITEM *Item, IN VOID *Arg OPTIONAL)
{
  EFI_IPv4_ADDRESS  *McastIp;
  McastIp = Arg;
  if ((McastIp != NULL) && (!EFI_IP4_EQUAL (McastIp, &(Item->Key)))) {
    return EFI_SUCCESS;
  }
  NetMapRemoveItem (Map, Item, NULL);
  if (McastIp != NULL) {
    return EFI_ABORTED;
  }
  return EFI_SUCCESS;
}