\r
**/\r
\r
-\r
#include "Mtftp4Impl.h"\r
\r
-\r
/**\r
Clean up the MTFTP session to get ready for new operation.\r
\r
**/\r
VOID\r
Mtftp4CleanOperation (\r
- IN OUT MTFTP4_PROTOCOL *Instance,\r
- IN EFI_STATUS Result\r
+ IN OUT MTFTP4_PROTOCOL *Instance,\r
+ IN EFI_STATUS Result\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Next;\r
- MTFTP4_BLOCK_RANGE *Block;\r
- EFI_MTFTP4_TOKEN *Token;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Next;\r
+ MTFTP4_BLOCK_RANGE *Block;\r
+ EFI_MTFTP4_TOKEN *Token;\r
\r
//\r
// Free various resources.\r
\r
ZeroMem (&Instance->RequestOption, sizeof (MTFTP4_OPTION));\r
\r
- Instance->Operation = 0;\r
+ Instance->Operation = 0;\r
\r
Instance->BlkSize = MTFTP4_DEFAULT_BLKSIZE;\r
Instance->WindowSize = 1;\r
Instance->Master = TRUE;\r
}\r
\r
-\r
/**\r
Check packet for GetInfo.\r
\r
EFI_STATUS\r
EFIAPI\r
Mtftp4GetInfoCheckPacket (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- IN EFI_MTFTP4_TOKEN *Token,\r
- IN UINT16 PacketLen,\r
- IN EFI_MTFTP4_PACKET *Packet\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ IN EFI_MTFTP4_TOKEN *Token,\r
+ IN UINT16 PacketLen,\r
+ IN EFI_MTFTP4_PACKET *Packet\r
)\r
{\r
- MTFTP4_GETINFO_STATE *State;\r
- EFI_STATUS Status;\r
- UINT16 OpCode;\r
+ MTFTP4_GETINFO_STATE *State;\r
+ EFI_STATUS Status;\r
+ UINT16 OpCode;\r
EFI_MTFTP4_ERROR_HEADER *ErrorHeader;\r
\r
- State = (MTFTP4_GETINFO_STATE *) Token->Context;\r
- OpCode = NTOHS (Packet->OpCode);\r
+ State = (MTFTP4_GETINFO_STATE *)Token->Context;\r
+ OpCode = NTOHS (Packet->OpCode);\r
\r
//\r
// Set the GetInfo's return status according to the OpCode.\r
//\r
switch (OpCode) {\r
- case EFI_MTFTP4_OPCODE_ERROR:\r
- ErrorHeader = (EFI_MTFTP4_ERROR_HEADER *) Packet;\r
- if (ErrorHeader->ErrorCode == EFI_MTFTP4_ERRORCODE_FILE_NOT_FOUND) {\r
- DEBUG ((DEBUG_ERROR, "TFTP error code 1 (File Not Found)\n"));\r
- } else {\r
- DEBUG ((DEBUG_ERROR, "TFTP error code %d\n", ErrorHeader->ErrorCode));\r
- }\r
- State->Status = EFI_TFTP_ERROR;\r
- break;\r
-\r
- case EFI_MTFTP4_OPCODE_OACK:\r
- State->Status = EFI_SUCCESS;\r
- break;\r
-\r
- default:\r
- State->Status = EFI_PROTOCOL_ERROR;\r
+ case EFI_MTFTP4_OPCODE_ERROR:\r
+ ErrorHeader = (EFI_MTFTP4_ERROR_HEADER *)Packet;\r
+ if (ErrorHeader->ErrorCode == EFI_MTFTP4_ERRORCODE_FILE_NOT_FOUND) {\r
+ DEBUG ((DEBUG_ERROR, "TFTP error code 1 (File Not Found)\n"));\r
+ } else {\r
+ DEBUG ((DEBUG_ERROR, "TFTP error code %d\n", ErrorHeader->ErrorCode));\r
+ }\r
+\r
+ State->Status = EFI_TFTP_ERROR;\r
+ break;\r
+\r
+ case EFI_MTFTP4_OPCODE_OACK:\r
+ State->Status = EFI_SUCCESS;\r
+ break;\r
+\r
+ default:\r
+ State->Status = EFI_PROTOCOL_ERROR;\r
}\r
\r
//\r
// Allocate buffer then copy the packet over. Use gBS->AllocatePool\r
// in case AllocatePool will implements something tricky.\r
//\r
- Status = gBS->AllocatePool (EfiBootServicesData, PacketLen, (VOID **) State->Packet);\r
+ Status = gBS->AllocatePool (EfiBootServicesData, PacketLen, (VOID **)State->Packet);\r
\r
if (EFI_ERROR (Status)) {\r
State->Status = EFI_OUT_OF_RESOURCES;\r
return EFI_ABORTED;\r
}\r
\r
-\r
/**\r
Check whether the override data is valid.\r
\r
**/\r
BOOLEAN\r
Mtftp4OverrideValid (\r
- IN MTFTP4_PROTOCOL *Instance,\r
- IN EFI_MTFTP4_OVERRIDE_DATA *Override\r
+ IN MTFTP4_PROTOCOL *Instance,\r
+ IN EFI_MTFTP4_OVERRIDE_DATA *Override\r
)\r
{\r
- EFI_MTFTP4_CONFIG_DATA *Config;\r
- IP4_ADDR Ip;\r
- IP4_ADDR Netmask;\r
- IP4_ADDR Gateway;\r
+ EFI_MTFTP4_CONFIG_DATA *Config;\r
+ IP4_ADDR Ip;\r
+ IP4_ADDR Netmask;\r
+ IP4_ADDR Gateway;\r
\r
CopyMem (&Ip, &Override->ServerIp, sizeof (IP4_ADDR));\r
if (IP4_IS_UNSPECIFIED (NTOHL (Ip)) || IP4_IS_LOCAL_BROADCAST (NTOHL (Ip))) {\r
Netmask = NTOHL (Netmask);\r
Ip = NTOHL (Ip);\r
\r
- if ((Netmask != 0 && !NetIp4IsUnicast (Gateway, Netmask)) || !IP4_NET_EQUAL (Gateway, Ip, Netmask)) {\r
+ if (((Netmask != 0) && !NetIp4IsUnicast (Gateway, Netmask)) || !IP4_NET_EQUAL (Gateway, Ip, Netmask)) {\r
return FALSE;\r
}\r
}\r
return TRUE;\r
}\r
\r
-\r
/**\r
Poll the UDP to get the IP4 default address, which may be retrieved\r
by DHCP.\r
**/\r
BOOLEAN\r
Mtftp4GetMapping (\r
- IN MTFTP4_PROTOCOL *Instance,\r
- IN UDP_IO *UdpIo,\r
- IN EFI_UDP4_CONFIG_DATA *UdpCfgData\r
+ IN MTFTP4_PROTOCOL *Instance,\r
+ IN UDP_IO *UdpIo,\r
+ IN EFI_UDP4_CONFIG_DATA *UdpCfgData\r
)\r
{\r
- MTFTP4_SERVICE *Service;\r
- EFI_IP4_MODE_DATA Ip4Mode;\r
- EFI_UDP4_PROTOCOL *Udp;\r
- EFI_STATUS Status;\r
+ MTFTP4_SERVICE *Service;\r
+ EFI_IP4_MODE_DATA Ip4Mode;\r
+ EFI_UDP4_PROTOCOL *Udp;\r
+ EFI_STATUS Status;\r
\r
ASSERT (Instance->Config.UseDefaultSetting);\r
\r
Udp->Poll (Udp);\r
\r
if (!EFI_ERROR (Udp->GetModeData (Udp, NULL, &Ip4Mode, NULL, NULL)) &&\r
- Ip4Mode.IsConfigured) {\r
-\r
+ Ip4Mode.IsConfigured)\r
+ {\r
Udp->Configure (Udp, NULL);\r
- return (BOOLEAN) (Udp->Configure (Udp, UdpCfgData) == EFI_SUCCESS);\r
+ return (BOOLEAN)(Udp->Configure (Udp, UdpCfgData) == EFI_SUCCESS);\r
}\r
}\r
\r
return FALSE;\r
}\r
\r
-\r
/**\r
Configure the UDP port for unicast receiving.\r
\r
**/\r
EFI_STATUS\r
Mtftp4ConfigUnicastPort (\r
- IN UDP_IO *UdpIo,\r
- IN MTFTP4_PROTOCOL *Instance\r
+ IN UDP_IO *UdpIo,\r
+ IN MTFTP4_PROTOCOL *Instance\r
)\r
{\r
- EFI_MTFTP4_CONFIG_DATA *Config;\r
- EFI_UDP4_CONFIG_DATA UdpConfig;\r
- EFI_STATUS Status;\r
- IP4_ADDR Ip;\r
+ EFI_MTFTP4_CONFIG_DATA *Config;\r
+ EFI_UDP4_CONFIG_DATA UdpConfig;\r
+ EFI_STATUS Status;\r
+ IP4_ADDR Ip;\r
\r
Config = &Instance->Config;\r
\r
UdpConfig.UseDefaultAddress = Config->UseDefaultSetting;\r
IP4_COPY_ADDRESS (&UdpConfig.StationAddress, &Config->StationIp);\r
IP4_COPY_ADDRESS (&UdpConfig.SubnetMask, &Config->SubnetMask);\r
- UdpConfig.StationPort = Config->LocalPort;\r
- UdpConfig.RemotePort = 0;\r
+ UdpConfig.StationPort = Config->LocalPort;\r
+ UdpConfig.RemotePort = 0;\r
\r
Ip = HTONL (Instance->ServerIp);\r
IP4_COPY_ADDRESS (&UdpConfig.RemoteAddress, &Ip);\r
UdpIo->Protocol.Udp4->Configure (UdpIo->Protocol.Udp4, NULL);\r
}\r
}\r
+\r
return Status;\r
}\r
\r
-\r
/**\r
Start the MTFTP session to do the operation, such as read file,\r
write file, and read directory.\r
**/\r
EFI_STATUS\r
Mtftp4Start (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- IN EFI_MTFTP4_TOKEN *Token,\r
- IN UINT16 Operation\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ IN EFI_MTFTP4_TOKEN *Token,\r
+ IN UINT16 Operation\r
)\r
{\r
MTFTP4_PROTOCOL *Instance;\r
// Validate the parameters\r
//\r
if ((This == NULL) || (Token == NULL) || (Token->Filename == NULL) ||\r
- ((Token->OptionCount != 0) && (Token->OptionList == NULL))) {\r
+ ((Token->OptionCount != 0) && (Token->OptionList == NULL)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// User must provide at least one method to collect the data for download.\r
//\r
if (((Operation == EFI_MTFTP4_OPCODE_RRQ) || (Operation == EFI_MTFTP4_OPCODE_DIR)) &&\r
- ((Token->Buffer == NULL) && (Token->CheckPacket == NULL))) {\r
+ ((Token->Buffer == NULL) && (Token->CheckPacket == NULL)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// User must provide at least one method to provide the data for upload.\r
//\r
if ((Operation == EFI_MTFTP4_OPCODE_WRQ) &&\r
- ((Token->Buffer == NULL) && (Token->PacketNeeded == NULL))) {\r
+ ((Token->Buffer == NULL) && (Token->PacketNeeded == NULL)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
// Set the operation parameters from the configuration or override data.\r
//\r
- Config = &Instance->Config;\r
- Instance->Token = Token;\r
- Instance->BlkSize = MTFTP4_DEFAULT_BLKSIZE;\r
- Instance->WindowSize = MTFTP4_DEFAULT_WINDOWSIZE;\r
+ Config = &Instance->Config;\r
+ Instance->Token = Token;\r
+ Instance->BlkSize = MTFTP4_DEFAULT_BLKSIZE;\r
+ Instance->WindowSize = MTFTP4_DEFAULT_WINDOWSIZE;\r
\r
CopyMem (&Instance->ServerIp, &Config->ServerIp, sizeof (IP4_ADDR));\r
- Instance->ServerIp = NTOHL (Instance->ServerIp);\r
+ Instance->ServerIp = NTOHL (Instance->ServerIp);\r
\r
Instance->ListeningPort = Config->InitialServerPort;\r
Instance->ConnectedPort = 0;\r
\r
CopyMem (&Instance->Gateway, &Config->GatewayIp, sizeof (IP4_ADDR));\r
- Instance->Gateway = NTOHL (Instance->Gateway);\r
+ Instance->Gateway = NTOHL (Instance->Gateway);\r
\r
- Instance->MaxRetry = Config->TryCount;\r
- Instance->Timeout = Config->TimeoutValue;\r
- Instance->Master = TRUE;\r
+ Instance->MaxRetry = Config->TryCount;\r
+ Instance->Timeout = Config->TimeoutValue;\r
+ Instance->Master = TRUE;\r
\r
if (Override != NULL) {\r
CopyMem (&Instance->ServerIp, &Override->ServerIp, sizeof (IP4_ADDR));\r
CopyMem (&Instance->Gateway, &Override->GatewayIp, sizeof (IP4_ADDR));\r
\r
- Instance->ServerIp = NTOHL (Instance->ServerIp);\r
- Instance->Gateway = NTOHL (Instance->Gateway);\r
+ Instance->ServerIp = NTOHL (Instance->ServerIp);\r
+ Instance->Gateway = NTOHL (Instance->Gateway);\r
\r
Instance->ListeningPort = Override->ServerPort;\r
Instance->MaxRetry = Override->TryCount;\r
goto ON_ERROR;\r
}\r
\r
- gBS->RestoreTPL(OldTpl);\r
+ gBS->RestoreTPL (OldTpl);\r
\r
if (Token->Event != NULL) {\r
return EFI_SUCCESS;\r
return Status;\r
}\r
\r
-\r
/**\r
Reads the current operational settings.\r
\r
EFI_STATUS\r
EFIAPI\r
EfiMtftp4GetModeData (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- OUT EFI_MTFTP4_MODE_DATA *ModeData\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ OUT EFI_MTFTP4_MODE_DATA *ModeData\r
)\r
{\r
MTFTP4_PROTOCOL *Instance;\r
\r
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
\r
- Instance = MTFTP4_PROTOCOL_FROM_THIS (This);\r
- CopyMem(&ModeData->ConfigData, &Instance->Config, sizeof (Instance->Config));\r
+ Instance = MTFTP4_PROTOCOL_FROM_THIS (This);\r
+ CopyMem (&ModeData->ConfigData, &Instance->Config, sizeof (Instance->Config));\r
ModeData->SupportedOptionCount = MTFTP4_SUPPORTED_OPTIONS;\r
- ModeData->SupportedOptoins = (UINT8 **) mMtftp4SupportedOptions;\r
+ ModeData->SupportedOptoins = (UINT8 **)mMtftp4SupportedOptions;\r
ModeData->UnsupportedOptionCount = 0;\r
ModeData->UnsupportedOptoins = NULL;\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
-\r
/**\r
Initializes, changes, or resets the default operational setting for this\r
EFI MTFTPv4 Protocol driver instance.\r
EFI_STATUS\r
EFIAPI\r
EfiMtftp4Configure (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- IN EFI_MTFTP4_CONFIG_DATA *ConfigData\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ IN EFI_MTFTP4_CONFIG_DATA *ConfigData\r
)\r
{\r
- MTFTP4_PROTOCOL *Instance;\r
- EFI_TPL OldTpl;\r
- IP4_ADDR Ip;\r
- IP4_ADDR Netmask;\r
- IP4_ADDR Gateway;\r
- IP4_ADDR ServerIp;\r
+ MTFTP4_PROTOCOL *Instance;\r
+ EFI_TPL OldTpl;\r
+ IP4_ADDR Ip;\r
+ IP4_ADDR Netmask;\r
+ IP4_ADDR Gateway;\r
+ IP4_ADDR ServerIp;\r
\r
if (This == NULL) {\r
return EFI_INVALID_PARAMETER;\r
Instance->State = MTFTP4_STATE_UNCONFIGED;\r
\r
gBS->RestoreTPL (OldTpl);\r
-\r
} else {\r
//\r
// Configure the parameters for new operation.\r
Gateway = NTOHL (Gateway);\r
ServerIp = NTOHL (ServerIp);\r
\r
- if (ServerIp == 0 || IP4_IS_LOCAL_BROADCAST (ServerIp)) {\r
+ if ((ServerIp == 0) || IP4_IS_LOCAL_BROADCAST (ServerIp)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
if (!ConfigData->UseDefaultSetting &&\r
- ((!IP4_IS_VALID_NETMASK (Netmask) || (Netmask != 0 && !NetIp4IsUnicast (Ip, Netmask))))) {\r
-\r
+ ((!IP4_IS_VALID_NETMASK (Netmask) || ((Netmask != 0) && !NetIp4IsUnicast (Ip, Netmask)))))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
if ((Gateway != 0) &&\r
- ((Netmask != 0xFFFFFFFF && !IP4_NET_EQUAL (Gateway, Ip, Netmask)) || (Netmask != 0 && !NetIp4IsUnicast (Gateway, Netmask)))) {\r
-\r
+ (((Netmask != 0xFFFFFFFF) && !IP4_NET_EQUAL (Gateway, Ip, Netmask)) || ((Netmask != 0) && !NetIp4IsUnicast (Gateway, Netmask))))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
return EFI_ACCESS_DENIED;\r
}\r
\r
- CopyMem(&Instance->Config, ConfigData, sizeof (*ConfigData));;\r
+ CopyMem (&Instance->Config, ConfigData, sizeof (*ConfigData));\r
Instance->State = MTFTP4_STATE_CONFIGED;\r
\r
gBS->RestoreTPL (OldTpl);\r
return EFI_SUCCESS;\r
}\r
\r
-\r
-\r
/**\r
Parses the options in an MTFTPv4 OACK packet.\r
\r
EFI_STATUS\r
EFIAPI\r
EfiMtftp4ParseOptions (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- IN UINT32 PacketLen,\r
- IN EFI_MTFTP4_PACKET *Packet,\r
- OUT UINT32 *OptionCount,\r
- OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ IN UINT32 PacketLen,\r
+ IN EFI_MTFTP4_PACKET *Packet,\r
+ OUT UINT32 *OptionCount,\r
+ OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
if ((This == NULL) || (PacketLen < MTFTP4_OPCODE_LEN) ||\r
- (Packet == NULL) || (OptionCount == NULL)) {\r
-\r
+ (Packet == NULL) || (OptionCount == NULL))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Downloads a file from an MTFTPv4 server.\r
\r
EFI_STATUS\r
EFIAPI\r
EfiMtftp4ReadFile (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- IN EFI_MTFTP4_TOKEN *Token\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ IN EFI_MTFTP4_TOKEN *Token\r
)\r
{\r
return Mtftp4Start (This, Token, EFI_MTFTP4_OPCODE_RRQ);\r
}\r
\r
-\r
/**\r
Sends a data file to an MTFTPv4 server. May be unsupported in some EFI implementations\r
\r
EFI_STATUS\r
EFIAPI\r
EfiMtftp4WriteFile (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- IN EFI_MTFTP4_TOKEN *Token\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ IN EFI_MTFTP4_TOKEN *Token\r
)\r
{\r
return Mtftp4Start (This, Token, EFI_MTFTP4_OPCODE_WRQ);\r
}\r
\r
-\r
/**\r
Downloads a data file "directory" from an MTFTPv4 server.\r
May be unsupported in some EFI implementations\r
EFI_STATUS\r
EFIAPI\r
EfiMtftp4ReadDirectory (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- IN EFI_MTFTP4_TOKEN *Token\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ IN EFI_MTFTP4_TOKEN *Token\r
)\r
{\r
return Mtftp4Start (This, Token, EFI_MTFTP4_OPCODE_DIR);\r
}\r
\r
-\r
/**\r
Gets information about a file from an MTFTPv4 server.\r
\r
EFI_STATUS\r
EFIAPI\r
EfiMtftp4GetInfo (\r
- IN EFI_MTFTP4_PROTOCOL *This,\r
- IN EFI_MTFTP4_OVERRIDE_DATA *OverrideData OPTIONAL,\r
- IN UINT8 *Filename,\r
- IN UINT8 *ModeStr OPTIONAL,\r
- IN UINT8 OptionCount,\r
- IN EFI_MTFTP4_OPTION *OptionList OPTIONAL,\r
- OUT UINT32 *PacketLength,\r
- OUT EFI_MTFTP4_PACKET **Packet OPTIONAL\r
+ IN EFI_MTFTP4_PROTOCOL *This,\r
+ IN EFI_MTFTP4_OVERRIDE_DATA *OverrideData OPTIONAL,\r
+ IN UINT8 *Filename,\r
+ IN UINT8 *ModeStr OPTIONAL,\r
+ IN UINT8 OptionCount,\r
+ IN EFI_MTFTP4_OPTION *OptionList OPTIONAL,\r
+ OUT UINT32 *PacketLength,\r
+ OUT EFI_MTFTP4_PACKET **Packet OPTIONAL\r
)\r
{\r
- EFI_MTFTP4_TOKEN Token;\r
- MTFTP4_GETINFO_STATE State;\r
- EFI_STATUS Status;\r
+ EFI_MTFTP4_TOKEN Token;\r
+ MTFTP4_GETINFO_STATE State;\r
+ EFI_STATUS Status;\r
\r
if ((This == NULL) || (Filename == NULL) || (PacketLength == NULL) ||\r
- ((OptionCount != 0) && (OptionList == NULL))) {\r
+ ((OptionCount != 0) && (OptionList == NULL)))\r
+ {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
*Packet = NULL;\r
}\r
\r
- *PacketLength = 0;\r
- State.Packet = Packet;\r
- State.PacketLen = PacketLength;\r
- State.Status = EFI_SUCCESS;\r
+ *PacketLength = 0;\r
+ State.Packet = Packet;\r
+ State.PacketLen = PacketLength;\r
+ State.Status = EFI_SUCCESS;\r
\r
//\r
// Fill in the Token to issue an synchronous ReadFile operation\r
Token.TimeoutCallback = NULL;\r
Token.PacketNeeded = NULL;\r
\r
- Status = EfiMtftp4ReadFile (This, &Token);\r
+ Status = EfiMtftp4ReadFile (This, &Token);\r
\r
if (EFI_ABORTED == Status) {\r
return State.Status;\r
EFI_STATUS\r
EFIAPI\r
EfiMtftp4Poll (\r
- IN EFI_MTFTP4_PROTOCOL *This\r
+ IN EFI_MTFTP4_PROTOCOL *This\r
)\r
{\r
- MTFTP4_PROTOCOL *Instance;\r
- EFI_UDP4_PROTOCOL *Udp;\r
- EFI_STATUS Status;\r
+ MTFTP4_PROTOCOL *Instance;\r
+ EFI_UDP4_PROTOCOL *Udp;\r
+ EFI_STATUS Status;\r
\r
if (This == NULL) {\r
return EFI_INVALID_PARAMETER;\r
return EFI_DEVICE_ERROR;\r
}\r
\r
- Udp = Instance->UnicastPort->Protocol.Udp4;\r
+ Udp = Instance->UnicastPort->Protocol.Udp4;\r
Status = Udp->Poll (Udp);\r
Mtftp4OnTimerTick (NULL, Instance->Service);\r
return Status;\r
}\r
\r
-EFI_MTFTP4_PROTOCOL gMtftp4ProtocolTemplate = {\r
+EFI_MTFTP4_PROTOCOL gMtftp4ProtocolTemplate = {\r
EfiMtftp4GetModeData,\r
EfiMtftp4Configure,\r
EfiMtftp4GetInfo,\r