1. Enable Network stack to pass SCT, currently MNP, ARP, IP4, TCP4 and DHCP4 have passed SCT.

2. Enable Network stack to pass ICC build.
3. Sync Network library instances' module names with their filenames.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3692 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff 2007-08-23 02:19:41 +00:00
parent 4a8f7ccecc
commit 687a2e5f69
51 changed files with 211 additions and 172 deletions

View File

@ -553,7 +553,7 @@ UsbScsiModeSense (
// ModeSense6 command is defined in [SCSI2Spec-Page151] // ModeSense6 command is defined in [SCSI2Spec-Page151]
// //
ModeSenseCmd.OpCode = USB_SCSI_MODE_SENSE6_OPCODE; ModeSenseCmd.OpCode = USB_SCSI_MODE_SENSE6_OPCODE;
ModeSenseCmd.Lun = USB_BOOT_LUN (UsbMass->Lun); ModeSenseCmd.Lun = (UINT8) USB_BOOT_LUN (UsbMass->Lun);
ModeSenseCmd.PageCode = 0x3F; ModeSenseCmd.PageCode = 0x3F;
ModeSenseCmd.AllocateLen = (UINT8) sizeof (USB_SCSI_MODE_SENSE6_PARA_HEADER); ModeSenseCmd.AllocateLen = (UINT8) sizeof (USB_SCSI_MODE_SENSE6_PARA_HEADER);
@ -572,7 +572,7 @@ UsbScsiModeSense (
// devices support this command, so have a try here. // devices support this command, so have a try here.
// //
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
Media->ReadOnly = (ModeParaHeader.DevicePara & 0x80) ? TRUE : FALSE; Media->ReadOnly = (BOOLEAN) ((ModeParaHeader.DevicePara & 0x80) ? TRUE : FALSE);
} }
return Status; return Status;

View File

@ -1272,18 +1272,47 @@ IpIoGetIcmpErrStatus (
OUT BOOLEAN *Notify OPTIONAL OUT BOOLEAN *Notify OPTIONAL
) )
{ {
ICMP_ERROR_INFO IcmpErrMap[] = { ICMP_ERROR_INFO IcmpErrMap[10];
{ EFI_NETWORK_UNREACHABLE, FALSE, TRUE }, // ICMP_ERR_UNREACH_NET
{ EFI_HOST_UNREACHABLE, FALSE, TRUE }, // ICMP_ERR_UNREACH_HOST IcmpErrMap[0].Error = EFI_NETWORK_UNREACHABLE;
{ EFI_PROTOCOL_UNREACHABLE, TRUE, TRUE }, // ICMP_ERR_UNREACH_PROTOCOL IcmpErrMap[0].IsHard = FALSE;
{ EFI_PORT_UNREACHABLE, TRUE, TRUE }, // ICMP_ERR_UNREACH_PORT IcmpErrMap[0].Notify = TRUE;
{ EFI_ICMP_ERROR, TRUE, TRUE }, // ICMP_ERR_MSGSIZE
{ EFI_ICMP_ERROR, FALSE, TRUE }, // ICMP_ERR_UNREACH_SRCFAIL IcmpErrMap[1].Error = EFI_HOST_UNREACHABLE;
{ EFI_HOST_UNREACHABLE, FALSE, TRUE }, // ICMP_ERR_TIMXCEED_INTRANS IcmpErrMap[1].IsHard = FALSE;
{ EFI_HOST_UNREACHABLE, FALSE, TRUE }, // ICMP_ERR_TIMEXCEED_REASS IcmpErrMap[1].Notify = TRUE;
{ EFI_ICMP_ERROR, FALSE, FALSE }, // ICMP_ERR_QUENCH
{ EFI_ICMP_ERROR, FALSE, TRUE } // ICMP_ERR_PARAMPROB IcmpErrMap[2].Error = EFI_PROTOCOL_UNREACHABLE;
}; IcmpErrMap[2].IsHard = TRUE;
IcmpErrMap[2].Notify = TRUE;
IcmpErrMap[3].Error = EFI_PORT_UNREACHABLE;
IcmpErrMap[3].IsHard = TRUE;
IcmpErrMap[3].Notify = TRUE;
IcmpErrMap[4].Error = EFI_ICMP_ERROR;
IcmpErrMap[4].IsHard = TRUE;
IcmpErrMap[4].Notify = TRUE;
IcmpErrMap[5].Error = EFI_ICMP_ERROR;
IcmpErrMap[5].IsHard = FALSE;
IcmpErrMap[5].Notify = TRUE;
IcmpErrMap[6].Error = EFI_HOST_UNREACHABLE;
IcmpErrMap[6].IsHard = FALSE;
IcmpErrMap[6].Notify = TRUE;
IcmpErrMap[7].Error = EFI_HOST_UNREACHABLE;
IcmpErrMap[7].IsHard = FALSE;
IcmpErrMap[7].Notify = TRUE;
IcmpErrMap[8].Error = EFI_ICMP_ERROR;
IcmpErrMap[8].IsHard = FALSE;
IcmpErrMap[8].Notify = FALSE;
IcmpErrMap[9].Error = EFI_ICMP_ERROR;
IcmpErrMap[9].IsHard = FALSE;
IcmpErrMap[9].Notify = TRUE;
ASSERT ((IcmpError >= ICMP_ERR_UNREACH_NET) && (IcmpError <= ICMP_ERR_PARAMPROB)); ASSERT ((IcmpError >= ICMP_ERR_UNREACH_NET) && (IcmpError <= ICMP_ERR_PARAMPROB));

View File

@ -1,5 +1,5 @@
#/** @file #/** @file
# Component name for module NetLib # Component name for module DxeIpIoLib
# #
# FIX ME! # FIX ME!
# Copyright (c) 2006, Intel Corporation. # Copyright (c) 2006, Intel Corporation.
@ -17,7 +17,7 @@
[Defines] [Defines]
INF_VERSION = 0x00010005 INF_VERSION = 0x00010005
BASE_NAME = NetIpIoDxe BASE_NAME = DxeIpIoLib
FILE_GUID = A302F877-8625-425c-B1EC-7487B62C4FDA FILE_GUID = A302F877-8625-425c-B1EC-7487B62C4FDA
MODULE_TYPE = DXE_DRIVER MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0 VERSION_STRING = 1.0

View File

@ -1,5 +1,5 @@
#/** @file #/** @file
# Component name for module NetLib # Component name for module DxeNetLib
# #
# FIX ME! # FIX ME!
# Copyright (c) 2006, Intel Corporation. # Copyright (c) 2006, Intel Corporation.
@ -17,7 +17,7 @@
[Defines] [Defines]
INF_VERSION = 0x00010005 INF_VERSION = 0x00010005
BASE_NAME = NetLibDxe BASE_NAME = DxeNetLib
FILE_GUID = db6dcef3-9f4e-4340-9351-fc35aa8a5888 FILE_GUID = db6dcef3-9f4e-4340-9351-fc35aa8a5888
MODULE_TYPE = DXE_DRIVER MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0 VERSION_STRING = 1.0

View File

@ -414,7 +414,10 @@ UdpIoFreePort (
UdpIo->UdpHandle UdpIo->UdpHandle
); );
NetListRemoveEntry (&UdpIo->Link); if (!IsListEmpty(&UdpIo->Link)) {
NetListRemoveEntry (&UdpIo->Link);
}
NetFreePool (UdpIo); NetFreePool (UdpIo);
return EFI_SUCCESS; return EFI_SUCCESS;
} }

View File

@ -1,5 +1,5 @@
#/** @file #/** @file
# Component name for module NetLib # Component name for module DxeUpdIoLib
# #
# FIX ME! # FIX ME!
# Copyright (c) 2006, Intel Corporation. # Copyright (c) 2006, Intel Corporation.
@ -17,7 +17,7 @@
[Defines] [Defines]
INF_VERSION = 0x00010005 INF_VERSION = 0x00010005
BASE_NAME = DxeUpdIoDxe BASE_NAME = DxeUpdIoLib
FILE_GUID = 7E615AA1-41EE-49d4-B7E9-1D7A60AA5C8D FILE_GUID = 7E615AA1-41EE-49d4-B7E9-1D7A60AA5C8D
MODULE_TYPE = DXE_DRIVER MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0 VERSION_STRING = 1.0

View File

@ -54,7 +54,7 @@ ArpInitInstance (
Instance->Signature = ARP_INSTANCE_DATA_SIGNATURE; Instance->Signature = ARP_INSTANCE_DATA_SIGNATURE;
Instance->ArpService = ArpService; Instance->ArpService = ArpService;
CopyMem (&Instance->ArpProto, &mEfiArpProtocolTemplate, sizeof (ARP_SERVICE_DATA)); CopyMem (&Instance->ArpProto, &mEfiArpProtocolTemplate, sizeof (Instance->ArpProto));
Instance->Configured = FALSE; Instance->Configured = FALSE;
Instance->Destroyed = FALSE; Instance->Destroyed = FALSE;
@ -263,7 +263,9 @@ ArpOnFrameRcvd (
} }
} }
NetListRemoveEntry (&CacheEntry->List); if (!IsListEmpty (&CacheEntry->List)) {
NetListRemoveEntry (&CacheEntry->List);
}
// //
// Fill the addresses into the CacheEntry. // Fill the addresses into the CacheEntry.
@ -912,7 +914,7 @@ ArpConfigureInstance (
// //
// Save the configuration. // Save the configuration.
// //
CopyMem (OldConfigData, ConfigData, sizeof (EFI_ARP_CONFIG_DATA)); CopyMem (OldConfigData, ConfigData, sizeof (*OldConfigData));
OldConfigData->StationAddress = NetAllocatePool (OldConfigData->SwAddressLength); OldConfigData->StationAddress = NetAllocatePool (OldConfigData->SwAddressLength);
if (OldConfigData->StationAddress == NULL) { if (OldConfigData->StationAddress == NULL) {

View File

@ -36,7 +36,6 @@ EFI_SERVICE_BINDING_PROTOCOL mDhcp4ServiceBindingTemplete = {
Dhcp4ServiceBindingDestroyChild Dhcp4ServiceBindingDestroyChild
}; };
//@MT: EFI_DRIVER_ENTRY_POINT (Dhcp4DriverEntryPoint)
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
@ -250,7 +249,7 @@ Dhcp4CreateService (
DhcpSb->HwLen = (UINT8) DhcpSb->UdpIo->SnpMode.HwAddressSize; DhcpSb->HwLen = (UINT8) DhcpSb->UdpIo->SnpMode.HwAddressSize;
DhcpSb->HwType = DhcpSb->UdpIo->SnpMode.IfType; DhcpSb->HwType = DhcpSb->UdpIo->SnpMode.IfType;
CopyMem (&DhcpSb->Mac, &DhcpSb->UdpIo->SnpMode.CurrentAddress, sizeof (EFI_MAC_ADDRESS)); CopyMem (&DhcpSb->Mac, &DhcpSb->UdpIo->SnpMode.CurrentAddress, sizeof (DhcpSb->Mac));
*Service = DhcpSb; *Service = DhcpSb;
return EFI_SUCCESS; return EFI_SUCCESS;
@ -454,7 +453,7 @@ DhcpInitProtocol (
) )
{ {
Instance->Signature = DHCP_PROTOCOL_SIGNATURE; Instance->Signature = DHCP_PROTOCOL_SIGNATURE;
CopyMem (&Instance->Dhcp4Protocol, &mDhcp4ProtocolTemplate, sizeof (EFI_DHCP4_PROTOCOL)); CopyMem (&Instance->Dhcp4Protocol, &mDhcp4ProtocolTemplate, sizeof (Instance->Dhcp4Protocol));
NetListInit (&Instance->Link); NetListInit (&Instance->Link);
Instance->Handle = NULL; Instance->Handle = NULL;
Instance->Service = DhcpSb; Instance->Service = DhcpSb;

View File

@ -69,9 +69,9 @@ EfiDhcp4GetModeData (
// Caller can use GetModeData to retrieve current DHCP states // Caller can use GetModeData to retrieve current DHCP states
// no matter whether it is the active child or not. // no matter whether it is the active child or not.
// //
Dhcp4ModeData->State = DhcpSb->DhcpState; Dhcp4ModeData->State = (EFI_DHCP4_STATE) DhcpSb->DhcpState;
CopyMem (&Dhcp4ModeData->ConfigData, &DhcpSb->ActiveConfig, sizeof (EFI_DHCP4_CONFIG_DATA)); CopyMem (&Dhcp4ModeData->ConfigData, &DhcpSb->ActiveConfig, sizeof (Dhcp4ModeData->ConfigData));
CopyMem (&Dhcp4ModeData->ClientMacAddress, &DhcpSb->Mac, sizeof (EFI_MAC_ADDRESS)); CopyMem (&Dhcp4ModeData->ClientMacAddress, &DhcpSb->Mac, sizeof (Dhcp4ModeData->ClientMacAddress));
Ip = HTONL (DhcpSb->ClientAddr); Ip = HTONL (DhcpSb->ClientAddr);
NetCopyMem (&Dhcp4ModeData->ClientAddress, &Ip, sizeof (EFI_IPv4_ADDRESS)); NetCopyMem (&Dhcp4ModeData->ClientAddress, &Ip, sizeof (EFI_IPv4_ADDRESS));
@ -161,7 +161,7 @@ DhcpCopyConfigure (
INTN Len; INTN Len;
UINT32 Index; UINT32 Index;
CopyMem (Dst, Src, sizeof (EFI_DHCP4_CONFIG_DATA)); CopyMem (Dst, Src, sizeof (Dst));
Dst->DiscoverTimeout = NULL; Dst->DiscoverTimeout = NULL;
Dst->RequestTimeout = NULL; Dst->RequestTimeout = NULL;
Dst->OptionList = NULL; Dst->OptionList = NULL;
@ -250,9 +250,7 @@ DhcpYieldControl (
) )
{ {
EFI_DHCP4_CONFIG_DATA *Config; EFI_DHCP4_CONFIG_DATA *Config;
DHCP_PROTOCOL *Instance;
Instance = DhcpSb->ActiveChild;
Config = &DhcpSb->ActiveConfig; Config = &DhcpSb->ActiveConfig;
DhcpSb->ServiceState = DHCP_UNCONFIGED; DhcpSb->ServiceState = DHCP_UNCONFIGED;

View File

@ -61,10 +61,10 @@ enum {
// //
DHCP_UNCONFIGED = 0, DHCP_UNCONFIGED = 0,
DHCP_CONFIGED, DHCP_CONFIGED,
DHCP_DESTORY, DHCP_DESTORY
}; };
typedef struct _DHCP_PROTOCOL { struct _DHCP_PROTOCOL {
UINT32 Signature; UINT32 Signature;
EFI_DHCP4_PROTOCOL Dhcp4Protocol; EFI_DHCP4_PROTOCOL Dhcp4Protocol;
NET_LIST_ENTRY Link; NET_LIST_ENTRY Link;
@ -83,7 +83,7 @@ typedef struct _DHCP_PROTOCOL {
// DHCP driver is specical in that it is a singleton. Although it // DHCP driver is specical in that it is a singleton. Although it
// has a service binding, there can be only one active child. // has a service binding, there can be only one active child.
// //
typedef struct _DHCP_SERVICE { struct _DHCP_SERVICE {
UINT32 Signature; UINT32 Signature;
EFI_SERVICE_BINDING_PROTOCOL ServiceBinding; EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;

View File

@ -120,7 +120,7 @@ DhcpCallUser (
Status = Config->Dhcp4Callback ( Status = Config->Dhcp4Callback (
&DhcpSb->ActiveChild->Dhcp4Protocol, &DhcpSb->ActiveChild->Dhcp4Protocol,
Config->CallbackContext, Config->CallbackContext,
DhcpSb->DhcpState, (EFI_DHCP4_STATE) DhcpSb->DhcpState,
Event, Event,
Packet, Packet,
NewPacket NewPacket
@ -948,7 +948,7 @@ DhcpHandleReboot (
} }
DhcpSb->Selected = Packet; DhcpSb->Selected = Packet;
CopyMem (DhcpSb->Para, Para, sizeof (DHCP_PARAMETER)); CopyMem (DhcpSb->Para, Para, sizeof (*DhcpSb->Para));
Status = DhcpLeaseAcquired (DhcpSb); Status = DhcpLeaseAcquired (DhcpSb);
@ -1214,7 +1214,7 @@ DhcpSendMessage (
Len = sizeof (EFI_DHCP4_PACKET) + 128 + DhcpSb->UserOptionLen; Len = sizeof (EFI_DHCP4_PACKET) + 128 + DhcpSb->UserOptionLen;
if (Msg != NULL) { if (Msg != NULL) {
Len += (UINT32)AsciiStrLen (Msg); Len += (UINT32)AsciiStrLen ((CHAR8 *) Msg);
} }
Packet = NetAllocatePool (Len); Packet = NetAllocatePool (Len);
@ -1310,7 +1310,7 @@ DhcpSendMessage (
// Append the user's message if it isn't NULL // Append the user's message if it isn't NULL
// //
if (Msg != NULL) { if (Msg != NULL) {
Len = NET_MIN ((UINT32) AsciiStrLen (Msg), 255); Len = NET_MIN ((UINT32) AsciiStrLen ((CHAR8 *) Msg), 255);
Buf = DhcpAppendOption (Buf, DHCP_TAG_MESSAGE, (UINT16) Len, Msg); Buf = DhcpAppendOption (Buf, DHCP_TAG_MESSAGE, (UINT16) Len, Msg);
} }

View File

@ -63,7 +63,7 @@ enum {
// //
DHCP_NOTIFY_COMPLETION = 1, DHCP_NOTIFY_COMPLETION = 1,
DHCP_NOTIFY_RENEWREBIND, DHCP_NOTIFY_RENEWREBIND,
DHCP_NOTIFY_ALL, DHCP_NOTIFY_ALL
}; };
#define DHCP_IS_BOOTP(Parameter) (((Parameter) == NULL) || ((Parameter)->DhcpType == 0)) #define DHCP_IS_BOOTP(Parameter) (((Parameter) == NULL) || ((Parameter)->DhcpType == 0))

View File

@ -424,7 +424,7 @@ DhcpIterateOptions (
if ((Overload == DHCP_OVERLOAD_FILENAME) || (Overload == DHCP_OVERLOAD_BOTH)) { if ((Overload == DHCP_OVERLOAD_FILENAME) || (Overload == DHCP_OVERLOAD_BOTH)) {
Status = DhcpIterateBufferOptions ( Status = DhcpIterateBufferOptions (
Packet->Dhcp4.Header.BootFileName, (UINT8 *) Packet->Dhcp4.Header.BootFileName,
128, 128,
Check, Check,
Context, Context,
@ -438,7 +438,7 @@ DhcpIterateOptions (
if ((Overload == DHCP_OVERLOAD_SVRNAME) || (Overload == DHCP_OVERLOAD_BOTH)) { if ((Overload == DHCP_OVERLOAD_SVRNAME) || (Overload == DHCP_OVERLOAD_BOTH)) {
Status = DhcpIterateBufferOptions ( Status = DhcpIterateBufferOptions (
Packet->Dhcp4.Header.ServerName, (UINT8 *) Packet->Dhcp4.Header.ServerName,
64, 64,
Check, Check,
Context, Context,
@ -480,7 +480,7 @@ DhcpGetOptionLen (
DHCP_OPTION_COUNT *OpCount; DHCP_OPTION_COUNT *OpCount;
OpCount = (DHCP_OPTION_COUNT *) Context; OpCount = (DHCP_OPTION_COUNT *) Context;
OpCount[Tag].Offset = OpCount[Tag].Offset + Len; OpCount[Tag].Offset = (UINT16) (OpCount[Tag].Offset + Len);
return EFI_SUCCESS; return EFI_SUCCESS;
} }
@ -528,8 +528,8 @@ DhcpFillOption (
NetCopyMem (Buf + OptCount[Tag].Offset, Data, Len); NetCopyMem (Buf + OptCount[Tag].Offset, Data, Len);
OptCount[Tag].Offset = OptCount[Tag].Offset + Len; OptCount[Tag].Offset = (UINT16) (OptCount[Tag].Offset + Len);
Options[Index].Len = Options[Index].Len + Len; Options[Index].Len = (UINT16) (Options[Index].Len + Len);
return EFI_SUCCESS; return EFI_SUCCESS;
} }
@ -606,8 +606,8 @@ DhcpParseOption (
if (OptCount[Index].Offset != 0) { if (OptCount[Index].Offset != 0) {
OptCount[Index].Index = (UINT8) OptNum; OptCount[Index].Index = (UINT8) OptNum;
TotalLen = TotalLen + OptCount[Index].Offset; TotalLen = (UINT16) (TotalLen + OptCount[Index].Offset);
OptCount[Index].Offset = TotalLen - OptCount[Index].Offset; OptCount[Index].Offset = (UINT16) (TotalLen - OptCount[Index].Offset);
OptNum++; OptNum++;
} }
@ -727,7 +727,7 @@ DhcpValidateOptions (
goto ON_EXIT; goto ON_EXIT;
} }
CopyMem (*Para, &Parameter, sizeof (DHCP_PARAMETER)); CopyMem (*Para, &Parameter, sizeof (**Para));
} }
ON_EXIT: ON_EXIT:
@ -879,7 +879,7 @@ DhcpBuild (
Packet->Size = Len; Packet->Size = Len;
Packet->Length = 0; Packet->Length = 0;
CopyMem (&Packet->Dhcp4.Header, &SeedPacket->Dhcp4.Header, sizeof (EFI_DHCP4_HEADER)); CopyMem (&Packet->Dhcp4.Header, &SeedPacket->Dhcp4.Header, sizeof (Packet->Dhcp4.Header));
Packet->Dhcp4.Magik = DHCP_OPTION_MAGIC; Packet->Dhcp4.Magik = DHCP_OPTION_MAGIC;
Buf = Packet->Dhcp4.Option; Buf = Packet->Dhcp4.Option;

View File

@ -131,7 +131,7 @@ enum {
DHCP_TAG_T1 = 58, // Renewal (T1) Time Value DHCP_TAG_T1 = 58, // Renewal (T1) Time Value
DHCP_TAG_T2 = 59, // Rebinding (T2) Time Value DHCP_TAG_T2 = 59, // Rebinding (T2) Time Value
DHCP_TAG_VENDOR_CLASS = 60, // Vendor class identifier DHCP_TAG_VENDOR_CLASS = 60, // Vendor class identifier
DHCP_TAG_CLIENT_ID = 61, // Client-identifier DHCP_TAG_CLIENT_ID = 61 // Client-identifier
}; };
enum { enum {
@ -153,7 +153,7 @@ enum {
// //
DHCP_OVERLOAD_FILENAME = 1, DHCP_OVERLOAD_FILENAME = 1,
DHCP_OVERLOAD_SVRNAME = 2, DHCP_OVERLOAD_SVRNAME = 2,
DHCP_OVERLOAD_BOTH = 3, DHCP_OVERLOAD_BOTH = 3
}; };
// //

View File

@ -66,7 +66,7 @@ EfiNicIp4ConfigGetName (
} }
if (NicAddr != NULL) { if (NicAddr != NULL) {
CopyMem (NicAddr, &Instance->NicAddr, sizeof (NIC_ADDR)); CopyMem (NicAddr, &Instance->NicAddr, sizeof (*NicAddr));
} }
return EFI_SUCCESS; return EFI_SUCCESS;
@ -630,7 +630,7 @@ Ip4ConfigOnDhcp4Complete (
goto ON_EXIT; goto ON_EXIT;
} }
CopyMem (&Instance->NicConfig->NicAddr, &Instance->NicAddr, sizeof (NIC_ADDR)); CopyMem (&Instance->NicConfig->NicAddr, &Instance->NicAddr, sizeof (Instance->NicConfig->NicAddr));
Instance->NicConfig->Source = IP4_CONFIG_SOURCE_DHCP; Instance->NicConfig->Source = IP4_CONFIG_SOURCE_DHCP;
Instance->NicConfig->Perment = Perment; Instance->NicConfig->Perment = Perment;

View File

@ -251,7 +251,7 @@ Ip4ConfigDriverBindingStart (
Instance->NicAddr.Type = (UINT16) SnpMode.IfType; Instance->NicAddr.Type = (UINT16) SnpMode.IfType;
Instance->NicAddr.Len = (UINT8) SnpMode.HwAddressSize; Instance->NicAddr.Len = (UINT8) SnpMode.HwAddressSize;
CopyMem (&Instance->NicAddr.MacAddr, &SnpMode.CurrentAddress, sizeof (EFI_MAC_ADDRESS)); CopyMem (&Instance->NicAddr.MacAddr, &SnpMode.CurrentAddress, sizeof (Instance->NicAddr.MacAddr));
// //
// Add it to the global list, and compose the name // Add it to the global list, and compose the name

View File

@ -58,7 +58,7 @@ enum {
// //
IP4_HEAD_DF_MASK = 0x4000, IP4_HEAD_DF_MASK = 0x4000,
IP4_HEAD_MF_MASK = 0x2000, IP4_HEAD_MF_MASK = 0x2000,
IP4_HEAD_OFFSET_MASK = 0x1fff, IP4_HEAD_OFFSET_MASK = 0x1fff
}; };
#define IP4_ALLZERO_ADDRESS 0x00000000u #define IP4_ALLZERO_ADDRESS 0x00000000u

View File

@ -251,7 +251,7 @@ Ip4IcmpReplyEcho (
Icmp = (IP4_ICMP_QUERY_HEAD *) NetbufGetByte (Data, 0, NULL); Icmp = (IP4_ICMP_QUERY_HEAD *) NetbufGetByte (Data, 0, NULL);
Icmp->Head.Type = ICMP_ECHO_REPLY; Icmp->Head.Type = ICMP_ECHO_REPLY;
Icmp->Head.Checksum = 0; Icmp->Head.Checksum = 0;
Icmp->Head.Checksum = ~NetblockChecksum ((UINT8 *) Icmp, Data->TotalSize); Icmp->Head.Checksum = (UINT16) (~NetblockChecksum ((UINT8 *) Icmp, Data->TotalSize));
ReplyHead.Tos = 0; ReplyHead.Tos = 0;
ReplyHead.Fragment = 0; ReplyHead.Fragment = 0;
@ -353,7 +353,7 @@ Ip4IcmpHandle (
goto DROP; goto DROP;
} }
Checksum = ~NetbufChecksum (Packet); Checksum = (UINT16) (~NetbufChecksum (Packet));
if ((Icmp.Checksum != 0) && (Checksum != 0)) { if ((Icmp.Checksum != 0) && (Checksum != 0)) {
goto DROP; goto DROP;
} }

View File

@ -79,7 +79,7 @@ enum {
// //
ICMP_INVALID_MESSAGE = 0, ICMP_INVALID_MESSAGE = 0,
ICMP_ERROR_MESSAGE = 1, ICMP_ERROR_MESSAGE = 1,
ICMP_QUERY_MESSAGE = 2, ICMP_QUERY_MESSAGE = 2
}; };
typedef struct { typedef struct {

View File

@ -108,8 +108,8 @@ Ip4WrapLinkTxToken (
Token->CallBack = CallBack; Token->CallBack = CallBack;
Token->Packet = Packet; Token->Packet = Packet;
Token->Context = Context; Token->Context = Context;
CopyMem (&Token->DstMac, &mZeroMacAddress, sizeof (EFI_MAC_ADDRESS)); CopyMem (&Token->DstMac, &mZeroMacAddress, sizeof (Token->DstMac));
CopyMem (&Token->SrcMac, &Interface->Mac, sizeof (EFI_MAC_ADDRESS)); CopyMem (&Token->SrcMac, &Interface->Mac, sizeof (Token->SrcMac));
MnpToken = &(Token->MnpToken); MnpToken = &(Token->MnpToken);
MnpToken->Status = EFI_NOT_READY; MnpToken->Status = EFI_NOT_READY;
@ -213,7 +213,7 @@ Ip4CreateArpQue (
} }
ArpQue->Ip = DestIp; ArpQue->Ip = DestIp;
CopyMem (&ArpQue->Mac, &mZeroMacAddress, sizeof (EFI_MAC_ADDRESS)); CopyMem (&ArpQue->Mac, &mZeroMacAddress, sizeof (ArpQue->Mac));
return ArpQue; return ArpQue;
} }
@ -485,8 +485,8 @@ Ip4CreateInterface (
return NULL; return NULL;
} }
CopyMem (&Interface->Mac, &SnpMode.CurrentAddress, sizeof (EFI_MAC_ADDRESS)); CopyMem (&Interface->Mac, &SnpMode.CurrentAddress, sizeof (Interface->Mac));
CopyMem (&Interface->BroadcastMac, &SnpMode.BroadcastAddress, sizeof (EFI_MAC_ADDRESS)); CopyMem (&Interface->BroadcastMac, &SnpMode.BroadcastAddress, sizeof (Interface->BroadcastMac));
Interface->HwaddrLen = SnpMode.HwAddressSize; Interface->HwaddrLen = SnpMode.HwAddressSize;
NetListInit (&Interface->IpInstances); NetListInit (&Interface->IpInstances);
@ -796,7 +796,7 @@ Ip4OnArpResolved (
NetListRemoveEntry (Entry); NetListRemoveEntry (Entry);
Token = NET_LIST_USER_STRUCT (Entry, IP4_LINK_TX_TOKEN, Link); Token = NET_LIST_USER_STRUCT (Entry, IP4_LINK_TX_TOKEN, Link);
CopyMem (&Token->DstMac, &ArpQue->Mac, sizeof (EFI_MAC_ADDRESS)); CopyMem (&Token->DstMac, &ArpQue->Mac, sizeof (Token->DstMac));
Status = Interface->Mnp->Transmit (Interface->Mnp, &Token->MnpToken); Status = Interface->Mnp->Transmit (Interface->Mnp, &Token->MnpToken);
@ -904,7 +904,7 @@ Ip4SendFrame (
// all the broadcasts. // all the broadcasts.
// //
if (NextHop == IP4_ALLONE_ADDRESS) { if (NextHop == IP4_ALLONE_ADDRESS) {
CopyMem (&Token->DstMac, &Interface->BroadcastMac, sizeof (EFI_MAC_ADDRESS)); CopyMem (&Token->DstMac, &Interface->BroadcastMac, sizeof (Token->DstMac));
goto SEND_NOW; goto SEND_NOW;
} else if (IP4_IS_MULTICAST (NextHop)) { } else if (IP4_IS_MULTICAST (NextHop)) {

View File

@ -28,7 +28,7 @@ enum {
IP4_FRAME_RX_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', 'F', 'R'), IP4_FRAME_RX_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', 'F', 'R'),
IP4_FRAME_TX_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', 'F', 'T'), IP4_FRAME_TX_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', 'F', 'T'),
IP4_FRAME_ARP_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', 'F', 'A'), IP4_FRAME_ARP_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', 'F', 'A'),
IP4_INTERFACE_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', 'I', 'F'), IP4_INTERFACE_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', 'I', 'F')
}; };
// //
@ -134,7 +134,7 @@ BOOLEAN
// Notice the special cases that DHCP can configure the interface // Notice the special cases that DHCP can configure the interface
// with 0.0.0.0/0.0.0.0. // with 0.0.0.0/0.0.0.0.
// //
typedef struct _IP4_INTERFACE { struct _IP4_INTERFACE {
UINT32 Signature; UINT32 Signature;
NET_LIST_ENTRY Link; NET_LIST_ENTRY Link;
INTN RefCnt; INTN RefCnt;
@ -182,7 +182,7 @@ typedef struct _IP4_INTERFACE {
// //
NET_LIST_ENTRY IpInstances; NET_LIST_ENTRY IpInstances;
BOOLEAN PromiscRecv; BOOLEAN PromiscRecv;
} IP4_INTERFACE; };
IP4_INTERFACE * IP4_INTERFACE *
Ip4CreateInterface ( Ip4CreateInterface (

View File

@ -206,7 +206,7 @@ Ip4SendIgmpMessage (
Igmp->MaxRespTime = 0; Igmp->MaxRespTime = 0;
Igmp->Checksum = 0; Igmp->Checksum = 0;
Igmp->Group = HTONL (Group); Igmp->Group = HTONL (Group);
Igmp->Checksum = ~NetblockChecksum ((UINT8 *) Igmp, sizeof (IGMP_HEAD)); Igmp->Checksum = (UINT16) (~NetblockChecksum ((UINT8 *) Igmp, sizeof (IGMP_HEAD)));
Head.Tos = 0; Head.Tos = 0;
Head.Protocol = IP4_PROTO_IGMP; Head.Protocol = IP4_PROTO_IGMP;

View File

@ -66,7 +66,7 @@ enum {
IGMP_LEAVE_GROUP = 0x17, IGMP_LEAVE_GROUP = 0x17,
IGMP_V1ROUTER_PRESENT = 400, IGMP_V1ROUTER_PRESENT = 400,
IGMP_UNSOLICIATED_REPORT = 10, IGMP_UNSOLICIATED_REPORT = 10
}; };
EFI_STATUS EFI_STATUS

View File

@ -67,7 +67,7 @@ EfiIp4GetModeData (
// IsConfigured is "whether the station address has been configured" // IsConfigured is "whether the station address has been configured"
// //
Ip4ModeData->IsStarted = (BOOLEAN)(IpInstance->State == IP4_STATE_CONFIGED); Ip4ModeData->IsStarted = (BOOLEAN)(IpInstance->State == IP4_STATE_CONFIGED);
CopyMem (&Ip4ModeData->ConfigData, &IpInstance->ConfigData, sizeof (EFI_IP4_CONFIG_DATA)); CopyMem (&Ip4ModeData->ConfigData, &IpInstance->ConfigData, sizeof (Ip4ModeData->ConfigData));
Ip4ModeData->IsConfigured = FALSE; Ip4ModeData->IsConfigured = FALSE;
Ip4ModeData->GroupCount = IpInstance->GroupCount; Ip4ModeData->GroupCount = IpInstance->GroupCount;
@ -112,11 +112,11 @@ EfiIp4GetModeData (
} }
if (MnpConfigData != NULL) { if (MnpConfigData != NULL) {
CopyMem (MnpConfigData, &IpSb->MnpConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA)); CopyMem (MnpConfigData, &IpSb->MnpConfigData, sizeof (*MnpConfigData));
} }
if (SnpModeData != NULL) { if (SnpModeData != NULL) {
CopyMem (SnpModeData, &IpSb->SnpMode, sizeof (EFI_SIMPLE_NETWORK_MODE)); CopyMem (SnpModeData, &IpSb->SnpMode, sizeof (*SnpModeData));
} }
NET_RESTORE_TPL (OldTpl); NET_RESTORE_TPL (OldTpl);
@ -197,7 +197,7 @@ Ip4ServiceConfigMnp (
// recover the original configuration if failed to set the configure. // recover the original configuration if failed to set the configure.
// //
if (EFI_ERROR (Status) && Reconfig) { if (EFI_ERROR (Status) && Reconfig) {
IpSb->MnpConfigData.EnablePromiscuousReceive = !PromiscReceive; IpSb->MnpConfigData.EnablePromiscuousReceive = (BOOLEAN) !PromiscReceive;
} }
return Status; return Status;
@ -477,7 +477,7 @@ Ip4InitProtocol (
NetZeroMem (IpInstance, sizeof (IP4_PROTOCOL)); NetZeroMem (IpInstance, sizeof (IP4_PROTOCOL));
IpInstance->Signature = IP4_PROTOCOL_SIGNATURE; IpInstance->Signature = IP4_PROTOCOL_SIGNATURE;
CopyMem (&IpInstance->Ip4Proto, &mEfiIp4ProtocolTemplete, sizeof (EFI_IP4_PROTOCOL)); CopyMem (&IpInstance->Ip4Proto, &mEfiIp4ProtocolTemplete, sizeof (IpInstance->Ip4Proto));
IpInstance->State = IP4_STATE_UNCONFIGED; IpInstance->State = IP4_STATE_UNCONFIGED;
IpInstance->Service = IpSb; IpInstance->Service = IpSb;
@ -538,7 +538,7 @@ Ip4ConfigProtocol (
return EFI_DEVICE_ERROR; return EFI_DEVICE_ERROR;
} }
CopyMem (&IpInstance->ConfigData, Config, sizeof (EFI_IP4_CONFIG_DATA)); CopyMem (&IpInstance->ConfigData, Config, sizeof (IpInstance->ConfigData));
return EFI_SUCCESS; return EFI_SUCCESS;
} }
@ -627,7 +627,7 @@ Ip4ConfigProtocol (
IpInstance->Interface = IpIf; IpInstance->Interface = IpIf;
NetListInsertTail (&IpIf->IpInstances, &IpInstance->AddrLink); NetListInsertTail (&IpIf->IpInstances, &IpInstance->AddrLink);
CopyMem (&IpInstance->ConfigData, Config, sizeof (EFI_IP4_CONFIG_DATA)); CopyMem (&IpInstance->ConfigData, Config, sizeof (IpInstance->ConfigData));
IpInstance->State = IP4_STATE_CONFIGED; IpInstance->State = IP4_STATE_CONFIGED;
// //
@ -1616,7 +1616,6 @@ EfiIp4Receive (
) )
{ {
IP4_PROTOCOL *IpInstance; IP4_PROTOCOL *IpInstance;
EFI_IP4_CONFIG_DATA *Config;
EFI_STATUS Status; EFI_STATUS Status;
EFI_TPL OldTpl; EFI_TPL OldTpl;
@ -1636,8 +1635,6 @@ EfiIp4Receive (
goto ON_EXIT; goto ON_EXIT;
} }
Config = &IpInstance->ConfigData;
// //
// Current Udp implementation creates an IP child for each Udp child. // Current Udp implementation creates an IP child for each Udp child.
// It initates a asynchronous receive immediately no matter whether // It initates a asynchronous receive immediately no matter whether

View File

@ -40,15 +40,15 @@ Abstract:
#include <Library/BaseMemoryLib.h> #include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h> #include <Library/MemoryAllocationLib.h>
#include "IP4Common.h" #include "Ip4Common.h"
#include "IP4Driver.h" #include "Ip4Driver.h"
#include "IP4If.h" #include "Ip4If.h"
#include "Ip4Icmp.h" #include "Ip4Icmp.h"
#include "IP4Option.h" #include "Ip4Option.h"
#include "Ip4Igmp.h" #include "Ip4Igmp.h"
#include "IP4Route.h" #include "Ip4Route.h"
#include "IP4Input.h" #include "Ip4Input.h"
#include "IP4Output.h" #include "Ip4Output.h"
enum { enum {
IP4_PROTOCOL_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', '4', 'P'), IP4_PROTOCOL_SIGNATURE = EFI_SIGNATURE_32 ('I', 'P', '4', 'P'),
@ -73,7 +73,7 @@ enum {
IP4_SERVICE_UNSTARTED = 0, IP4_SERVICE_UNSTARTED = 0,
IP4_SERVICE_STARTED, IP4_SERVICE_STARTED,
IP4_SERVICE_CONFIGED, IP4_SERVICE_CONFIGED,
IP4_SERVICE_DESTORY, IP4_SERVICE_DESTORY
}; };
// //
@ -109,7 +109,7 @@ typedef struct {
EFI_IP4_RECEIVE_DATA RxData; EFI_IP4_RECEIVE_DATA RxData;
} IP4_RXDATA_WRAP; } IP4_RXDATA_WRAP;
typedef struct _IP4_PROTOCOL { struct _IP4_PROTOCOL {
UINT32 Signature; UINT32 Signature;
EFI_IP4_PROTOCOL Ip4Proto; EFI_IP4_PROTOCOL Ip4Proto;
@ -148,9 +148,9 @@ typedef struct _IP4_PROTOCOL {
EFI_IP4_CONFIG_DATA ConfigData; EFI_IP4_CONFIG_DATA ConfigData;
} IP4_PROTOCOL; };
typedef struct _IP4_SERVICE { struct _IP4_SERVICE {
UINT32 Signature; UINT32 Signature;
EFI_SERVICE_BINDING_PROTOCOL ServiceBinding; EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
INTN State; INTN State;
@ -200,7 +200,7 @@ typedef struct _IP4_SERVICE {
// NIC this IP4_SERVICE works on. // NIC this IP4_SERVICE works on.
// //
CHAR16 *MacString; CHAR16 *MacString;
} IP4_SERVICE; };
#define IP4_INSTANCE_FROM_PROTOCOL(Ip4) \ #define IP4_INSTANCE_FROM_PROTOCOL(Ip4) \
CR ((Ip4), IP4_PROTOCOL, Ip4Proto, IP4_PROTOCOL_SIGNATURE) CR ((Ip4), IP4_PROTOCOL, Ip4Proto, IP4_PROTOCOL_SIGNATURE)

View File

@ -435,7 +435,7 @@ Ip4Reassemble (
} }
NewPacket->Ip = Assemble->Head; NewPacket->Ip = Assemble->Head;
CopyMem (IP4_GET_CLIP_INFO (NewPacket), Assemble->Info, sizeof (IP4_CLIP_INFO)); CopyMem (IP4_GET_CLIP_INFO (NewPacket), Assemble->Info, sizeof (*IP4_GET_CLIP_INFO (NewPacket)));
return NewPacket; return NewPacket;
} }
@ -511,7 +511,7 @@ Ip4AccpetFrame (
// //
// Some OS may send IP packets without checksum. // Some OS may send IP packets without checksum.
// //
Checksum = ~NetblockChecksum ((UINT8 *) Head, HeadLen); Checksum = (UINT16) (~NetblockChecksum ((UINT8 *) Head, HeadLen));
if ((Head->Checksum != 0) && (Checksum != 0)) { if ((Head->Checksum != 0) && (Checksum != 0)) {
goto RESTART; goto RESTART;

View File

@ -27,7 +27,7 @@ enum {
IP4_ASSEMLE_HASH_SIZE = 31, IP4_ASSEMLE_HASH_SIZE = 31,
IP4_FRAGMENT_LIFE = 120, IP4_FRAGMENT_LIFE = 120,
IP4_MAX_PACKET_SIZE = 65535, IP4_MAX_PACKET_SIZE = 65535
}; };
// //

View File

@ -47,9 +47,9 @@ Ip4OptionIsValid (
UINT32 Cur; UINT32 Cur;
UINT32 Len; UINT32 Len;
UINT32 Point; UINT32 Point;
UINT8 IcmpType; volatile UINT8 IcmpType;
UINT8 IcmpCode; volatile UINT8 IcmpCode;
UINT32 IcmpPoint; volatile UINT32 IcmpPoint;
IcmpType = ICMP_PARAMETER_PROBLEM; IcmpType = ICMP_PARAMETER_PROBLEM;
IcmpCode = 0; IcmpCode = 0;

View File

@ -31,7 +31,7 @@ enum {
IP4_OPTION_SSRR = 137, // Strict source and record routing, 10001001 IP4_OPTION_SSRR = 137, // Strict source and record routing, 10001001
IP4_OPTION_RR = 7, // Record routing, 00000111 IP4_OPTION_RR = 7, // Record routing, 00000111
IP4_OPTION_COPY_MASK = 0x80, IP4_OPTION_COPY_MASK = 0x80
}; };
BOOLEAN BOOLEAN

View File

@ -89,7 +89,7 @@ Ip4PrependHead (
PacketHead->Protocol = Head->Protocol; PacketHead->Protocol = Head->Protocol;
PacketHead->Src = HTONL (Head->Src); PacketHead->Src = HTONL (Head->Src);
PacketHead->Dst = HTONL (Head->Dst); PacketHead->Dst = HTONL (Head->Dst);
PacketHead->Checksum = ~NetblockChecksum ((UINT8 *) PacketHead, HeadLen); PacketHead->Checksum = (UINT16) (~NetblockChecksum ((UINT8 *) PacketHead, HeadLen));
Packet->Ip = PacketHead; Packet->Ip = PacketHead;
return EFI_SUCCESS; return EFI_SUCCESS;

View File

@ -628,7 +628,6 @@ Ip4BuildEfiRouteTable (
IN IP4_PROTOCOL *IpInstance IN IP4_PROTOCOL *IpInstance
) )
{ {
IP4_SERVICE *IpSb;
NET_LIST_ENTRY *Entry; NET_LIST_ENTRY *Entry;
IP4_ROUTE_TABLE *RtTable; IP4_ROUTE_TABLE *RtTable;
IP4_ROUTE_ENTRY *RtEntry; IP4_ROUTE_ENTRY *RtEntry;
@ -636,7 +635,6 @@ Ip4BuildEfiRouteTable (
UINT32 Count; UINT32 Count;
INT32 Index; INT32 Index;
IpSb = IpInstance->Service;
RtTable = IpInstance->RouteTable; RtTable = IpInstance->RouteTable;
if (IpInstance->EfiRouteTable != NULL) { if (IpInstance->EfiRouteTable != NULL) {

View File

@ -30,7 +30,7 @@ enum {
IP4_DIRECT_ROUTE = 0x00000001, IP4_DIRECT_ROUTE = 0x00000001,
IP4_ROUTE_CACHE_HASH = 31, IP4_ROUTE_CACHE_HASH = 31,
IP4_ROUTE_CACHE_MAX = 64, // Max NO. of cache entry per hash bucket IP4_ROUTE_CACHE_MAX = 64 // Max NO. of cache entry per hash bucket
}; };
#define IP4_ROUTE_CACHE_HASH(Dst, Src) (((Dst) ^ (Src)) % IP4_ROUTE_CACHE_HASH) #define IP4_ROUTE_CACHE_HASH(Dst, Src) (((Dst) ^ (Src)) % IP4_ROUTE_CACHE_HASH)
@ -91,7 +91,7 @@ typedef struct {
// //
typedef struct _IP4_ROUTE_TABLE IP4_ROUTE_TABLE; typedef struct _IP4_ROUTE_TABLE IP4_ROUTE_TABLE;
typedef struct _IP4_ROUTE_TABLE { struct _IP4_ROUTE_TABLE {
INTN RefCnt; INTN RefCnt;
UINT32 TotalNum; UINT32 TotalNum;
NET_LIST_ENTRY RouteArea[IP4_MASK_NUM]; NET_LIST_ENTRY RouteArea[IP4_MASK_NUM];

View File

@ -537,12 +537,12 @@ MnpInitializeInstanceData (
// //
// Copy the MNP Protocol interfaces from the template. // Copy the MNP Protocol interfaces from the template.
// //
CopyMem (&Instance->ManagedNetwork, &mMnpProtocolTemplate, sizeof (EFI_MANAGED_NETWORK_PROTOCOL)); CopyMem (&Instance->ManagedNetwork, &mMnpProtocolTemplate, sizeof (Instance->ManagedNetwork));
// //
// Copy the default config data. // Copy the default config data.
// //
CopyMem (&Instance->ConfigData, &mMnpDefaultConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA)); CopyMem (&Instance->ConfigData, &mMnpDefaultConfigData, sizeof (Instance->ConfigData));
// //
// Initialize the lists. // Initialize the lists.
@ -1038,7 +1038,7 @@ MnpConfigureInstance (
// //
// Save the new configuration data. // Save the new configuration data.
// //
CopyMem (OldConfigData, NewConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA)); CopyMem (OldConfigData, NewConfigData, sizeof (*OldConfigData));
Instance->Configured = (BOOLEAN) (ConfigData != NULL); Instance->Configured = (BOOLEAN) (ConfigData != NULL);
@ -1152,7 +1152,7 @@ MnpConfigReceiveFilters (
NET_LIST_FOR_EACH (Entry, &MnpServiceData->GroupAddressList) { NET_LIST_FOR_EACH (Entry, &MnpServiceData->GroupAddressList) {
GroupAddress = NET_LIST_USER_STRUCT (Entry, MNP_GROUP_ADDRESS, AddrEntry); GroupAddress = NET_LIST_USER_STRUCT (Entry, MNP_GROUP_ADDRESS, AddrEntry);
CopyMem (MCastFilter + Index, &GroupAddress->Address, sizeof (EFI_MAC_ADDRESS)); CopyMem (MCastFilter + Index, &GroupAddress->Address, sizeof (*(MCastFilter + Index)));
Index++; Index++;
ASSERT (Index <= MCastFilterCnt); ASSERT (Index <= MCastFilterCnt);
@ -1266,7 +1266,7 @@ MnpGroupOpAddCtrlBlk (
return EFI_OUT_OF_RESOURCES; return EFI_OUT_OF_RESOURCES;
} }
CopyMem (&GroupAddress->Address, MacAddress, sizeof (EFI_MAC_ADDRESS)); CopyMem (&GroupAddress->Address, MacAddress, sizeof (GroupAddress->Address));
GroupAddress->RefCnt = 0; GroupAddress->RefCnt = 0;
NetListInsertTail ( NetListInsertTail (
&MnpServiceData->GroupAddressList, &MnpServiceData->GroupAddressList,

View File

@ -747,7 +747,7 @@ MnpWrapRxData (
// //
// Fill the RxData in RxDataWrap, // Fill the RxData in RxDataWrap,
// //
CopyMem (&RxDataWrap->RxData, RxData, sizeof (EFI_MANAGED_NETWORK_RECEIVE_DATA)); CopyMem (&RxDataWrap->RxData, RxData, sizeof (RxDataWrap->RxData));
// //
// Create the recycle event. // Create the recycle event.
@ -827,7 +827,7 @@ MnpEnqueuePacket (
// //
// Wrap the RxData. // Wrap the RxData.
// //
CopyMem (&RxDataWrap, MnpWrapRxData (Instance, &RxData), sizeof (MNP_RXDATA_WRAP)); RxDataWrap = MnpWrapRxData (Instance, &RxData);
if (RxDataWrap == NULL) { if (RxDataWrap == NULL) {
continue; continue;
} }

View File

@ -68,7 +68,7 @@ MnpGetModeData (
// //
// Copy the instance configuration data. // Copy the instance configuration data.
// //
CopyMem (MnpConfigData, &Instance->ConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA)); CopyMem (MnpConfigData, &Instance->ConfigData, sizeof (*MnpConfigData));
} }
if (SnpModeData != NULL) { if (SnpModeData != NULL) {
@ -76,7 +76,7 @@ MnpGetModeData (
// Copy the underlayer Snp mode data. // Copy the underlayer Snp mode data.
// //
Snp = Instance->MnpServiceData->Snp; Snp = Instance->MnpServiceData->Snp;
CopyMem (SnpModeData, Snp->Mode, sizeof (EFI_SIMPLE_NETWORK_MODE)); CopyMem (SnpModeData, Snp->Mode, sizeof (*SnpModeData));
} }
if (!Instance->Configured) { if (!Instance->Configured) {

View File

@ -34,8 +34,6 @@ EFI_SERVICE_BINDING_PROTOCOL gMtftp4ServiceBindingTemplete = {
Mtftp4ServiceBindingDestroyChild Mtftp4ServiceBindingDestroyChild
}; };
//@MT: EFI_DRIVER_ENTRY_POINT (Mtftp4DriverEntryPoint)
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
Mtftp4DriverEntryPoint ( Mtftp4DriverEntryPoint (
@ -429,7 +427,7 @@ Mtftp4InitProtocol (
Instance->Signature = MTFTP4_PROTOCOL_SIGNATURE; Instance->Signature = MTFTP4_PROTOCOL_SIGNATURE;
NetListInit (&Instance->Link); NetListInit (&Instance->Link);
CopyMem (&Instance->Mtftp4, &gMtftp4ProtocolTemplate, sizeof (EFI_MTFTP4_PROTOCOL)); CopyMem (&Instance->Mtftp4, &gMtftp4ProtocolTemplate, sizeof (Instance->Mtftp4));
Instance->State = MTFTP4_STATE_UNCONFIGED; Instance->State = MTFTP4_STATE_UNCONFIGED;
Instance->Indestory = FALSE; Instance->Indestory = FALSE;
Instance->Service = MtftpSb; Instance->Service = MtftpSb;

View File

@ -61,10 +61,10 @@ enum {
MTFTP4_STATE_UNCONFIGED = 0, MTFTP4_STATE_UNCONFIGED = 0,
MTFTP4_STATE_CONFIGED, MTFTP4_STATE_CONFIGED,
MTFTP4_STATE_DESTORY, MTFTP4_STATE_DESTORY
}; };
typedef struct _MTFTP4_SERVICE { struct _MTFTP4_SERVICE {
UINT32 Signature; UINT32 Signature;
EFI_SERVICE_BINDING_PROTOCOL ServiceBinding; EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;
@ -92,7 +92,7 @@ typedef struct {
EFI_STATUS Status; EFI_STATUS Status;
} MTFTP4_GETINFO_STATE; } MTFTP4_GETINFO_STATE;
typedef struct _MTFTP4_PROTOCOL { struct _MTFTP4_PROTOCOL {
UINT32 Signature; UINT32 Signature;
NET_LIST_ENTRY Link; NET_LIST_ENTRY Link;
EFI_MTFTP4_PROTOCOL Mtftp4; EFI_MTFTP4_PROTOCOL Mtftp4;

View File

@ -33,7 +33,7 @@ enum {
MTFTP4_BLKSIZE_EXIST = 0x01, MTFTP4_BLKSIZE_EXIST = 0x01,
MTFTP4_TIMEOUT_EXIST = 0x02, MTFTP4_TIMEOUT_EXIST = 0x02,
MTFTP4_TSIZE_EXIST = 0x04, MTFTP4_TSIZE_EXIST = 0x04,
MTFTP4_MCAST_EXIST = 0x08, MTFTP4_MCAST_EXIST = 0x08
}; };
typedef struct { typedef struct {

View File

@ -229,7 +229,7 @@ Mtftp4RemoveBlockNum (
if (Range->End == Num) { if (Range->End == Num) {
Range->End--; Range->End--;
} else { } else {
NewRange = Mtftp4AllocateRange (Num + 1, (UINT16) Range->End); NewRange = Mtftp4AllocateRange ((UINT16) (Num + 1), (UINT16) Range->End);
if (NewRange == NULL) { if (NewRange == NULL) {
return EFI_OUT_OF_RESOURCES; return EFI_OUT_OF_RESOURCES;
@ -270,6 +270,8 @@ Mtftp4SendRequest (
UINT8 *Cur; UINT8 *Cur;
UINT32 Len; UINT32 Len;
UINTN Index; UINTN Index;
UINT32 Len1;
UINT32 Len2;
Token = Instance->Token; Token = Instance->Token;
Options = Token->OptionList; Options = Token->OptionList;
@ -282,11 +284,14 @@ Mtftp4SendRequest (
// //
// Compute the packet length // Compute the packet length
// //
Len = (UINT32) (AsciiStrLen (Token->Filename) + AsciiStrLen (Mode) + 4); Len1 = (UINT32) AsciiStrLen ((CHAR8 *) Token->Filename);
Len2 = (UINT32) AsciiStrLen ((CHAR8 *) Mode);
Len = (Len1 + Len2 + 4);
for (Index = 0; Index < Token->OptionCount; Index++) { for (Index = 0; Index < Token->OptionCount; Index++) {
Len += (UINT32) (AsciiStrLen (Options[Index].OptionStr) + Len1 = (UINT32) AsciiStrLen ((CHAR8 *) Options[Index].OptionStr);
AsciiStrLen (Options[Index].ValueStr) + 2); Len2 = (UINT32) AsciiStrLen ((CHAR8 *) Options[Index].ValueStr);
Len += Len1 + Len2 + 2;
} }
// //
@ -299,12 +304,12 @@ Mtftp4SendRequest (
Packet = (EFI_MTFTP4_PACKET *) NetbufAllocSpace (Nbuf, Len, FALSE); Packet = (EFI_MTFTP4_PACKET *) NetbufAllocSpace (Nbuf, Len, FALSE);
Packet->OpCode = HTONS (Instance->Operation); Packet->OpCode = HTONS (Instance->Operation);
Cur = Packet->Rrq.Filename; Cur = Packet->Rrq.Filename;
Cur = AsciiStrCpy (Cur, Token->Filename); Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Token->Filename);
Cur = AsciiStrCpy (Cur, Mode); Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Mode);
for (Index = 0; Index < Token->OptionCount; ++Index) { for (Index = 0; Index < Token->OptionCount; ++Index) {
Cur = AsciiStrCpy (Cur, Options[Index].OptionStr); Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Options[Index].OptionStr);
Cur = AsciiStrCpy (Cur, Options[Index].ValueStr); Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Options[Index].ValueStr);
} }
return Mtftp4SendPacket (Instance, Nbuf); return Mtftp4SendPacket (Instance, Nbuf);
@ -333,7 +338,7 @@ Mtftp4SendError (
EFI_MTFTP4_PACKET *TftpError; EFI_MTFTP4_PACKET *TftpError;
UINT32 Len; UINT32 Len;
Len = (UINT32) (AsciiStrLen (ErrInfo) + sizeof (EFI_MTFTP4_ERROR_HEADER)); Len = (UINT32) (AsciiStrLen ((CHAR8 *) ErrInfo) + sizeof (EFI_MTFTP4_ERROR_HEADER));
Packet = NetbufAlloc (Len); Packet = NetbufAlloc (Len);
if (Packet == NULL) { if (Packet == NULL) {
@ -344,7 +349,7 @@ Mtftp4SendError (
TftpError->OpCode = HTONS (EFI_MTFTP4_OPCODE_ERROR); TftpError->OpCode = HTONS (EFI_MTFTP4_OPCODE_ERROR);
TftpError->Error.ErrorCode = HTONS (ErrCode); TftpError->Error.ErrorCode = HTONS (ErrCode);
AsciiStrCpy (TftpError->Error.ErrorMessage, ErrInfo); AsciiStrCpy ((CHAR8 *) TftpError->Error.ErrorMessage, (CHAR8 *) ErrInfo);
return Mtftp4SendPacket (Instance, Packet); return Mtftp4SendPacket (Instance, Packet);
} }
@ -419,6 +424,7 @@ Mtftp4SendPacket (
UDP_POINTS UdpPoint; UDP_POINTS UdpPoint;
EFI_STATUS Status; EFI_STATUS Status;
UINT16 OpCode; UINT16 OpCode;
UINT16 Value;
// //
// Save the packet for retransmission // Save the packet for retransmission
@ -440,7 +446,8 @@ Mtftp4SendPacket (
// Send the requests to the listening port, other packets // Send the requests to the listening port, other packets
// to the connected port // to the connected port
// //
OpCode = NTOHS (*((UINT16 *) NetbufGetByte (Packet, 0, NULL))); Value = *((UINT16 *) NetbufGetByte (Packet, 0, NULL));
OpCode = NTOHS (Value);
if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) || if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) ||
(OpCode == EFI_MTFTP4_OPCODE_WRQ)) { (OpCode == EFI_MTFTP4_OPCODE_WRQ)) {
@ -485,6 +492,7 @@ Mtftp4Retransmit (
UDP_POINTS UdpPoint; UDP_POINTS UdpPoint;
EFI_STATUS Status; EFI_STATUS Status;
UINT16 OpCode; UINT16 OpCode;
UINT16 Value;
ASSERT (Instance->LastPacket != NULL); ASSERT (Instance->LastPacket != NULL);
@ -495,7 +503,8 @@ Mtftp4Retransmit (
// //
// Set the requests to the listening port, other packets to the connected port // Set the requests to the listening port, other packets to the connected port
// //
OpCode = NTOHS (*(UINT16 *) NetbufGetByte (Instance->LastPacket, 0, NULL)); Value = *(UINT16 *) NetbufGetByte (Instance->LastPacket, 0, NULL);
OpCode = NTOHS (Value);
if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) || if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) ||
(OpCode == EFI_MTFTP4_OPCODE_WRQ)) { (OpCode == EFI_MTFTP4_OPCODE_WRQ)) {

View File

@ -139,7 +139,7 @@ Mtftp4WrqSendBlock (
// Get data from PacketNeeded // Get data from PacketNeeded
// //
DataBuf = NULL; DataBuf = NULL;
Status = Token->PacketNeeded (&Instance->Mtftp4, Token, &DataLen, &DataBuf); Status = Token->PacketNeeded (&Instance->Mtftp4, Token, &DataLen, (VOID **) &DataBuf);
if (EFI_ERROR (Status) || (DataLen > Instance->BlkSize)) { if (EFI_ERROR (Status) || (DataLen > Instance->BlkSize)) {
if (DataBuf != NULL) { if (DataBuf != NULL) {

View File

@ -291,8 +291,12 @@ IpChecksum2 (
) )
{ {
UINT32 Sum; UINT32 Sum;
UINT16 HeaderChecksum;
UINT16 MessageChecksum;
Sum = (UINT16)~IpChecksum (Header, HeaderLen) + (UINT16)~IpChecksum (Message, MessageLen); HeaderChecksum = (UINT16)~IpChecksum (Header, HeaderLen);
MessageChecksum = (UINT16)~IpChecksum (Message, MessageLen);
Sum = HeaderChecksum + MessageChecksum;
// //
// in case above carried // in case above carried
@ -1350,7 +1354,7 @@ BcStart (
Status = gBS->AllocatePool ( Status = gBS->AllocatePool (
EfiBootServicesData, EfiBootServicesData,
BUFFER_ALLOCATE_SIZE, BUFFER_ALLOCATE_SIZE,
&Private->TransmitBufferPtr (VOID **) &Private->TransmitBufferPtr
); );
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
@ -1364,7 +1368,7 @@ BcStart (
Status = gBS->AllocatePool ( Status = gBS->AllocatePool (
EfiBootServicesData, EfiBootServicesData,
BUFFER_ALLOCATE_SIZE, BUFFER_ALLOCATE_SIZE,
&Private->ReceiveBufferPtr (VOID **) &Private->ReceiveBufferPtr
); );
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
@ -1379,7 +1383,7 @@ BcStart (
Status = gBS->AllocatePool ( Status = gBS->AllocatePool (
EfiBootServicesData, EfiBootServicesData,
256, 256,
&Private->TftpErrorBuffer (VOID **) &Private->TftpErrorBuffer
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
@ -1389,7 +1393,7 @@ BcStart (
return EFI_OUT_OF_RESOURCES; return EFI_OUT_OF_RESOURCES;
} }
Status = gBS->AllocatePool (EfiBootServicesData, 256, &Private->TftpAckBuffer); Status = gBS->AllocatePool (EfiBootServicesData, 256, (VOID **) &Private->TftpAckBuffer);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
gBS->FreePool (Private->TftpErrorBuffer); gBS->FreePool (Private->TftpErrorBuffer);
@ -1473,7 +1477,6 @@ BcStop (
// //
// Lock the instance data // Lock the instance data
// //
EFI_PXE_BASE_CODE_MODE *PxebcMode;
EFI_SIMPLE_NETWORK_PROTOCOL *SnpPtr; EFI_SIMPLE_NETWORK_PROTOCOL *SnpPtr;
EFI_SIMPLE_NETWORK_MODE *SnpModePtr; EFI_SIMPLE_NETWORK_MODE *SnpModePtr;
EFI_STATUS StatCode; EFI_STATUS StatCode;
@ -1495,7 +1498,6 @@ BcStop (
EfiAcquireLock (&Private->Lock); EfiAcquireLock (&Private->Lock);
PxebcMode = Private->EfiBc.Mode;
SnpPtr = Private->SimpleNetwork; SnpPtr = Private->SimpleNetwork;
SnpModePtr = SnpPtr->Mode; SnpModePtr = SnpPtr->Mode;
@ -1875,7 +1877,7 @@ BcSetParameters (
if (SendGuidPtr != NULL) { if (SendGuidPtr != NULL) {
if (*SendGuidPtr) { if (*SendGuidPtr) {
if (PxeBcLibGetSmbiosSystemGuidAndSerialNumber (&TmpGuid, &SerialNumberPtr) != EFI_SUCCESS) { if (PxeBcLibGetSmbiosSystemGuidAndSerialNumber (&TmpGuid, (CHAR8 **) &SerialNumberPtr) != EFI_SUCCESS) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
} }
@ -2395,7 +2397,7 @@ InitializeBCDriver (
InitArpHeader (); InitArpHeader ();
OptionsStrucInit (); OptionsStrucInit ();
return EFI_SUCCESS; return Status;
} }
/* eof - bc.c */ /* eof - bc.c */

View File

@ -338,7 +338,7 @@ SendRequest (
Status = gBS->AllocatePool ( Status = gBS->AllocatePool (
EfiBootServicesData, EfiBootServicesData,
SnpMode->MediaHeaderSize + sizeof (ARP_PACKET), SnpMode->MediaHeaderSize + sizeof (ARP_PACKET),
&Private->ArpBuffer (VOID **) &Private->ArpBuffer
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {

View File

@ -214,7 +214,7 @@ OptionsStrucInit (
CopyMem (DHCPOpStart.DhcpClassIdentifier.Data.UndiMajor, "yyy", sizeof ("yyy")); CopyMem (DHCPOpStart.DhcpClassIdentifier.Data.UndiMajor, "yyy", sizeof ("yyy"));
CopyMem (DHCPOpStart.DhcpClassIdentifier.Data.UndiMinor, "xxx", sizeof ("xxx")); CopyMem (DHCPOpStart.DhcpClassIdentifier.Data.UndiMinor, "xxx", sizeof ("xxx"));
DHCPOpStart.End[0] = OP_END; DHCPOpStart.End[0] = OP_END;
}; }
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@ -883,7 +883,7 @@ Parse (
} else if (!RxBufPtr->OpAdds.PktOptAdds[OP_DHCP_BOOTFILE_IX - 1] && RxBufPtr->u.Dhcpv4.file[0]) { } else if (!RxBufPtr->OpAdds.PktOptAdds[OP_DHCP_BOOTFILE_IX - 1] && RxBufPtr->u.Dhcpv4.file[0]) {
RxBufPtr->OpAdds.PktOptAdds[OP_DHCP_BOOTFILE_IX - 1] = (DHCPV4_OP_STRUCT *) (RxBufPtr->u.Dhcpv4.file - sizeof (DHCPV4_OP_HEADER)); RxBufPtr->OpAdds.PktOptAdds[OP_DHCP_BOOTFILE_IX - 1] = (DHCPV4_OP_STRUCT *) (RxBufPtr->u.Dhcpv4.file - sizeof (DHCPV4_OP_HEADER));
RxBufPtr->OpAdds.PktOptAdds[OP_DHCP_BOOTFILE_IX - 1]->Header.Length = (UINT8) AsciiStrLen (RxBufPtr->u.Dhcpv4.file); RxBufPtr->OpAdds.PktOptAdds[OP_DHCP_BOOTFILE_IX - 1]->Header.Length = (UINT8) AsciiStrLen ((CHAR8 *) RxBufPtr->u.Dhcpv4.file);
} }
LocalPtr.OpPtr = RxBufPtr->OpAdds.PktOptAdds[OP_DHCP_CLASS_IDENTIFIER_IX - 1]; LocalPtr.OpPtr = RxBufPtr->OpAdds.PktOptAdds[OP_DHCP_CLASS_IDENTIFIER_IX - 1];
@ -3169,13 +3169,11 @@ BcSetPackets (
{ {
EFI_PXE_BASE_CODE_MODE *PxebcMode; EFI_PXE_BASE_CODE_MODE *PxebcMode;
EFI_STATUS Status; EFI_STATUS Status;
EFI_STATUS StatCode;
PXE_BASECODE_DEVICE *Private; PXE_BASECODE_DEVICE *Private;
// //
// Lock the instance data and make sure started // Lock the instance data and make sure started
// //
StatCode = EFI_SUCCESS;
if (This == NULL) { if (This == NULL) {
DEBUG ((DEBUG_ERROR, "BC *This pointer == NULL")); DEBUG ((DEBUG_ERROR, "BC *This pointer == NULL"));

View File

@ -555,7 +555,7 @@ TftpRwReq (
// //
u = Buffer; u = Buffer;
u->ReqStr.OpCode = HTONS (Req); u->ReqStr.OpCode = HTONS (Req);
TotalLen = sizeof (Mode) + sizeof (u->ReqStr.OpCode) + (Len = 1 + AsciiStrLen (FilenamePtr)); TotalLen = sizeof (Mode) + sizeof (u->ReqStr.OpCode) + (Len = 1 + AsciiStrLen ((CHAR8 *) FilenamePtr));
CopyMem (u->ReqStr.FileName, FilenamePtr, Len); CopyMem (u->ReqStr.FileName, FilenamePtr, Len);
Ptr = (UINT8 *) (u->ReqStr.FileName + Len); Ptr = (UINT8 *) (u->ReqStr.FileName + Len);
@ -567,7 +567,7 @@ TftpRwReq (
CopyMem (Ptr, BlockSizeOp, sizeof (BlockSizeOp)); CopyMem (Ptr, BlockSizeOp, sizeof (BlockSizeOp));
UtoA10 (*PacketSizePtr, Ptr + sizeof (BlockSizeOp)); UtoA10 (*PacketSizePtr, Ptr + sizeof (BlockSizeOp));
TotalLen += (Len = 1 + AsciiStrLen (Ptr + sizeof (BlockSizeOp)) + sizeof (BlockSizeOp)); TotalLen += (Len = 1 + AsciiStrLen ((CHAR8 *) (Ptr + sizeof (BlockSizeOp))) + sizeof (BlockSizeOp));
Ptr += Len; Ptr += Len;
} }
@ -1387,7 +1387,7 @@ TftpInfo (
(UINT16) ReplyLen, (UINT16) ReplyLen,
BufferSizePtr, BufferSizePtr,
Offset, Offset,
(INT8 *) &u, (UINT8 *) &u,
ServerIpPtr, ServerIpPtr,
&ServerReplyPort, &ServerReplyPort,
&Private->EfiBc.Mode->StationIp, &Private->EfiBc.Mode->StationIp,
@ -1899,7 +1899,7 @@ PxeBcMtftp (
Status = gBS->AllocatePool ( Status = gBS->AllocatePool (
EfiBootServicesData, EfiBootServicesData,
BUFFER_ALLOCATE_SIZE, BUFFER_ALLOCATE_SIZE,
&BufferPtrLocal (VOID **) &BufferPtrLocal
); );
if (EFI_ERROR (Status) || BufferPtrLocal == NULL) { if (EFI_ERROR (Status) || BufferPtrLocal == NULL) {

View File

@ -374,7 +374,6 @@ DoPrompt (
if (gST->ConIn->ReadKeyStroke (gST->ConIn, &Key) == EFI_NOT_READY) { if (gST->ConIn->ReadKeyStroke (gST->ConIn, &Key) == EFI_NOT_READY) {
UINT8 Buffer[512]; UINT8 Buffer[512];
UINTN BufferSize; UINTN BufferSize;
EFI_STATUS Status;
BufferSize = sizeof Buffer; BufferSize = sizeof Buffer;
@ -1036,7 +1035,6 @@ DownloadFile (
if (Private->EfiBc.Mode->BisSupported && Private->EfiBc.Mode->BisDetected && Private->EfiBc.Mode->PxeBisReplyReceived) { if (Private->EfiBc.Mode->BisSupported && Private->EfiBc.Mode->BisDetected && Private->EfiBc.Mode->PxeBisReplyReceived) {
UINT64 CredentialLen; UINT64 CredentialLen;
UINTN BlockSize;
UINT8 CredentialFilename[256]; UINT8 CredentialFilename[256];
UINT8 *op; UINT8 *op;
VOID *CredentialBuffer; VOID *CredentialBuffer;
@ -1327,6 +1325,12 @@ LoadFile (
BOOLEAN NewMakeCallback; BOOLEAN NewMakeCallback;
EFI_STATUS Status; EFI_STATUS Status;
EFI_STATUS TempStatus; EFI_STATUS TempStatus;
//
// The following line is only used for passing ICC build.
//
DEBUG ((EFI_D_INFO, "FilePath = %x\n", FilePath));
// //
// //
// //

View File

@ -358,7 +358,7 @@ Tcp4ConfigurePcb (
// //
// Add Ip for send pkt to the peer // Add Ip for send pkt to the peer
// //
CopyMem (&IpCfgData, &mIpIoDefaultIpConfigData, sizeof (EFI_IP4_CONFIG_DATA)); CopyMem (&IpCfgData, &mIpIoDefaultIpConfigData, sizeof (IpCfgData));
IpCfgData.DefaultProtocol = EFI_IP_PROTO_TCP; IpCfgData.DefaultProtocol = EFI_IP_PROTO_TCP;
IpCfgData.UseDefaultAddress = CfgData->AccessPoint.UseDefaultAddress; IpCfgData.UseDefaultAddress = CfgData->AccessPoint.UseDefaultAddress;
IpCfgData.StationAddress = CfgData->AccessPoint.StationAddress; IpCfgData.StationAddress = CfgData->AccessPoint.StationAddress;

View File

@ -305,7 +305,7 @@ Tcp4DriverBindingStart (
// //
NetZeroMem (&OpenData, sizeof (IP_IO_OPEN_DATA)); NetZeroMem (&OpenData, sizeof (IP_IO_OPEN_DATA));
CopyMem (&OpenData.IpConfigData, &mIpIoDefaultIpConfigData, sizeof (EFI_IP4_CONFIG_DATA)); CopyMem (&OpenData.IpConfigData, &mIpIoDefaultIpConfigData, sizeof (OpenData.IpConfigData));
OpenData.IpConfigData.DefaultProtocol = EFI_IP_PROTO_TCP; OpenData.IpConfigData.DefaultProtocol = EFI_IP_PROTO_TCP;
OpenData.PktRcvdNotify = Tcp4RxCallback; OpenData.PktRcvdNotify = Tcp4RxCallback;

View File

@ -145,6 +145,7 @@ Tcp4Configure (
SOCKET *Sock; SOCKET *Sock;
EFI_STATUS Status; EFI_STATUS Status;
IP4_ADDR Ip; IP4_ADDR Ip;
IP4_ADDR SubnetMask;
if (NULL == This) { if (NULL == This) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
@ -168,7 +169,8 @@ Tcp4Configure (
if (!TcpConfigData->AccessPoint.UseDefaultAddress) { if (!TcpConfigData->AccessPoint.UseDefaultAddress) {
NetCopyMem (&Ip, &TcpConfigData->AccessPoint.StationAddress, sizeof (IP4_ADDR)); NetCopyMem (&Ip, &TcpConfigData->AccessPoint.StationAddress, sizeof (IP4_ADDR));
if (!Ip4IsUnicast (NTOHL (Ip), 0) || !IP4_IS_VALID_NETMASK (NTOHL (Ip))) { NetCopyMem (&SubnetMask, &TcpConfigData->AccessPoint.SubnetMask, sizeof (IP4_ADDR));
if (!Ip4IsUnicast (NTOHL (Ip), 0) || !IP4_IS_VALID_NETMASK (NTOHL (SubnetMask))) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
} }

View File

@ -517,7 +517,7 @@ Returns:
// //
// Initialize the UDP random port. // Initialize the UDP random port.
// //
mUdp4RandomPort = ((UINT16) NetRandomInitSeed ()) % UDP4_PORT_KNOWN + UDP4_PORT_KNOWN; mUdp4RandomPort = (UINT16) (((UINT16) NetRandomInitSeed ()) % UDP4_PORT_KNOWN + UDP4_PORT_KNOWN);
} }
return Status; return Status;

View File

@ -172,7 +172,7 @@ Udp4CreateService (
// //
// Set the OpenData used to open the IpIo. // Set the OpenData used to open the IpIo.
// //
CopyMem (&OpenData.IpConfigData, &mIpIoDefaultIpConfigData, sizeof (EFI_IP4_CONFIG_DATA)); CopyMem (&OpenData.IpConfigData, &mIpIoDefaultIpConfigData, sizeof (OpenData.IpConfigData));
OpenData.IpConfigData.AcceptBroadcast = TRUE; OpenData.IpConfigData.AcceptBroadcast = TRUE;
OpenData.RcvdContext = (VOID *) Udp4Service; OpenData.RcvdContext = (VOID *) Udp4Service;
OpenData.SndContext = NULL; OpenData.SndContext = NULL;
@ -359,7 +359,7 @@ Udp4InitInstance (
// Save the pointer to the UDP4_SERVICE_DATA, and initialize other members. // Save the pointer to the UDP4_SERVICE_DATA, and initialize other members.
// //
Instance->Udp4Service = Udp4Service; Instance->Udp4Service = Udp4Service;
CopyMem (&Instance->Udp4Proto, &mUdp4Protocol, sizeof (EFI_UDP4_PROTOCOL)); CopyMem (&Instance->Udp4Proto, &mUdp4Protocol, sizeof (Instance->Udp4Proto));
Instance->IcmpError = EFI_SUCCESS; Instance->IcmpError = EFI_SUCCESS;
Instance->Configured = FALSE; Instance->Configured = FALSE;
Instance->IsNoMapping = FALSE; Instance->IsNoMapping = FALSE;
@ -612,7 +612,7 @@ Udp4BuildIp4ConfigData (
IN EFI_IP4_CONFIG_DATA *Ip4ConfigData IN EFI_IP4_CONFIG_DATA *Ip4ConfigData
) )
{ {
CopyMem (Ip4ConfigData, &mIpIoDefaultIpConfigData, sizeof (EFI_IP4_CONFIG_DATA)); CopyMem (Ip4ConfigData, &mIpIoDefaultIpConfigData, sizeof (*Ip4ConfigData));
Ip4ConfigData->DefaultProtocol = EFI_IP_PROTO_UDP; Ip4ConfigData->DefaultProtocol = EFI_IP_PROTO_UDP;
Ip4ConfigData->AcceptBroadcast = Udp4ConfigData->AcceptBroadcast; Ip4ConfigData->AcceptBroadcast = Udp4ConfigData->AcceptBroadcast;
@ -817,7 +817,7 @@ Udp4Checksum (
Checksum = NetAddChecksum (Checksum, HTONS ((UINT16) Packet->TotalSize)); Checksum = NetAddChecksum (Checksum, HTONS ((UINT16) Packet->TotalSize));
return ~Checksum; return (UINT16) ~Checksum;
} }
@ -1284,7 +1284,7 @@ Udp4WrapRxData (
NetListInit (&Wrap->Link); NetListInit (&Wrap->Link);
CopyMem (&Wrap->RxData, RxData, sizeof (EFI_UDP4_RECEIVE_DATA)); CopyMem (&Wrap->RxData, RxData, sizeof (Wrap->RxData));
// //
// Create the Recycle event. // Create the Recycle event.
@ -1349,7 +1349,7 @@ Udp4EnqueueDgram (
// //
// Wrap the RxData and put this Wrap into the instances RcvdDgramQue. // Wrap the RxData and put this Wrap into the instances RcvdDgramQue.
// //
CopyMem (&Wrap, Udp4WrapRxData (Instance, Packet, RxData), sizeof (UDP4_RXDATA_WRAP)); CopyMem (&Wrap, Udp4WrapRxData (Instance, Packet, RxData), sizeof (Wrap));
if (Wrap == NULL) { if (Wrap == NULL) {
continue; continue;
} }
@ -1636,7 +1636,7 @@ Udp4SendPortUnreach (
// //
// Calculate the checksum. // Calculate the checksum.
// //
IcmpErrHdr->Head.Checksum = ~(NetbufChecksum (Packet)); IcmpErrHdr->Head.Checksum = (UINT16) ~(NetbufChecksum (Packet));
// //
// Fill the override data. // Fill the override data.

View File

@ -86,7 +86,7 @@ Udp4GetModeData (
// //
// Set the Udp4ConfigData. // Set the Udp4ConfigData.
// //
CopyMem (Udp4ConfigData, &Instance->ConfigData, sizeof (EFI_UDP4_CONFIG_DATA)); CopyMem (Udp4ConfigData, &Instance->ConfigData, sizeof (*Udp4ConfigData));
} }
Ip = Instance->IpInfo->Ip; Ip = Instance->IpInfo->Ip;
@ -239,7 +239,7 @@ Udp4Configure (
// //
// Save the configuration data. // Save the configuration data.
// //
CopyMem (&Instance->ConfigData, UdpConfigData, sizeof (EFI_UDP4_CONFIG_DATA)); CopyMem (&Instance->ConfigData, UdpConfigData, sizeof (Instance->ConfigData));
Instance->ConfigData.StationAddress = Ip4ConfigData.StationAddress; Instance->ConfigData.StationAddress = Ip4ConfigData.StationAddress;
Instance->ConfigData.SubnetMask = Ip4ConfigData.SubnetMask; Instance->ConfigData.SubnetMask = Ip4ConfigData.SubnetMask;
@ -351,7 +351,7 @@ Udp4Groups (
if (JoinFlag) { if (JoinFlag) {
NetCopyMem (&McastIp, MulticastAddress, sizeof (IP4_ADDR)); NetCopyMem (&McastIp, MulticastAddress, sizeof (IP4_ADDR));
if (IP4_IS_MULTICAST (NTOHL (McastIp))) { if (!IP4_IS_MULTICAST (NTOHL (McastIp))) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
} }