ShellPkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the ShellPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
c411b485b6
commit
47d20b54f9
@ -10,8 +10,8 @@
|
||||
|
||||
#include "Tftp.h"
|
||||
|
||||
#define IP4_CONFIG2_INTERFACE_INFO_NAME_LENGTH 32
|
||||
EFI_HII_HANDLE mTftpHiiHandle;
|
||||
#define IP4_CONFIG2_INTERFACE_INFO_NAME_LENGTH 32
|
||||
EFI_HII_HANDLE mTftpHiiHandle;
|
||||
|
||||
/*
|
||||
Constant strings and definitions related to the message indicating the amount of
|
||||
@ -19,7 +19,7 @@ EFI_HII_HANDLE mTftpHiiHandle;
|
||||
*/
|
||||
|
||||
// Frame for the progression slider
|
||||
STATIC CONST CHAR16 mTftpProgressFrame[] = L"[ ]";
|
||||
STATIC CONST CHAR16 mTftpProgressFrame[] = L"[ ]";
|
||||
|
||||
// Number of steps in the progression slider
|
||||
#define TFTP_PROGRESS_SLIDER_STEPS ((sizeof (mTftpProgressFrame) / sizeof (CHAR16)) - 3)
|
||||
@ -33,13 +33,13 @@ STATIC CONST CHAR16 mTftpProgressFrame[] = L"[
|
||||
|
||||
// String to delete the TFTP progress message to be able to update it :
|
||||
// (TFTP_PROGRESS_MESSAGE_SIZE-1) '\b'
|
||||
STATIC CONST CHAR16 mTftpProgressDelete[] = L"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
|
||||
STATIC CONST CHAR16 mTftpProgressDelete[] = L"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
|
||||
|
||||
// Local File Handle
|
||||
SHELL_FILE_HANDLE mFileHandle;
|
||||
SHELL_FILE_HANDLE mFileHandle;
|
||||
|
||||
// Path of the local file, Unicode encoded
|
||||
CONST CHAR16 *mLocalFilePath;
|
||||
CONST CHAR16 *mLocalFilePath;
|
||||
|
||||
/**
|
||||
Check and convert the UINT16 option values of the 'tftp' command
|
||||
@ -206,49 +206,57 @@ CheckPacket (
|
||||
IN EFI_MTFTP4_PACKET *Packet
|
||||
);
|
||||
|
||||
EFI_MTFTP4_CONFIG_DATA DefaultMtftp4ConfigData = {
|
||||
EFI_MTFTP4_CONFIG_DATA DefaultMtftp4ConfigData = {
|
||||
TRUE, // Use default setting
|
||||
{ { 0, 0, 0, 0 } }, // StationIp - Not relevant as UseDefaultSetting=TRUE
|
||||
{ { 0, 0, 0, 0 } }, // SubnetMask - Not relevant as UseDefaultSetting=TRUE
|
||||
{
|
||||
{ 0, 0, 0, 0 }
|
||||
}, // StationIp - Not relevant as UseDefaultSetting=TRUE
|
||||
{
|
||||
{ 0, 0, 0, 0 }
|
||||
}, // SubnetMask - Not relevant as UseDefaultSetting=TRUE
|
||||
0, // LocalPort - Automatically assigned port number.
|
||||
{ { 0, 0, 0, 0 } }, // GatewayIp - Not relevant as UseDefaultSetting=TRUE
|
||||
{ { 0, 0, 0, 0 } }, // ServerIp - Not known yet
|
||||
{
|
||||
{ 0, 0, 0, 0 }
|
||||
}, // GatewayIp - Not relevant as UseDefaultSetting=TRUE
|
||||
{
|
||||
{ 0, 0, 0, 0 }
|
||||
}, // ServerIp - Not known yet
|
||||
69, // InitialServerPort - Standard TFTP server port
|
||||
6, // TryCount - The number of times to transmit request packets and wait for a response.
|
||||
4 // TimeoutValue - Retransmission timeout in seconds.
|
||||
};
|
||||
|
||||
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {
|
||||
{L"-i", TypeValue},
|
||||
{L"-l", TypeValue},
|
||||
{L"-r", TypeValue},
|
||||
{L"-c", TypeValue},
|
||||
{L"-t", TypeValue},
|
||||
{L"-s", TypeValue},
|
||||
{L"-w", TypeValue},
|
||||
{NULL , TypeMax}
|
||||
};
|
||||
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {
|
||||
{ L"-i", TypeValue },
|
||||
{ L"-l", TypeValue },
|
||||
{ L"-r", TypeValue },
|
||||
{ L"-c", TypeValue },
|
||||
{ L"-t", TypeValue },
|
||||
{ L"-s", TypeValue },
|
||||
{ L"-w", TypeValue },
|
||||
{ NULL, TypeMax }
|
||||
};
|
||||
|
||||
///
|
||||
/// The default block size (512) of tftp is defined in the RFC1350.
|
||||
///
|
||||
#define MTFTP_DEFAULT_BLKSIZE 512
|
||||
#define MTFTP_DEFAULT_BLKSIZE 512
|
||||
///
|
||||
/// The valid range of block size option is defined in the RFC2348.
|
||||
///
|
||||
#define MTFTP_MIN_BLKSIZE 8
|
||||
#define MTFTP_MAX_BLKSIZE 65464
|
||||
#define MTFTP_MIN_BLKSIZE 8
|
||||
#define MTFTP_MAX_BLKSIZE 65464
|
||||
///
|
||||
/// The default windowsize (1) of tftp.
|
||||
///
|
||||
#define MTFTP_DEFAULT_WINDOWSIZE 1
|
||||
#define MTFTP_DEFAULT_WINDOWSIZE 1
|
||||
///
|
||||
/// The valid range of window size option.
|
||||
/// Note that: RFC 7440 does not mention max window size value, but for the
|
||||
/// stability reason, the value is limited to 64.
|
||||
///
|
||||
#define MTFTP_MIN_WINDOWSIZE 1
|
||||
#define MTFTP_MAX_WINDOWSIZE 64
|
||||
#define MTFTP_MIN_WINDOWSIZE 1
|
||||
#define MTFTP_MAX_WINDOWSIZE 64
|
||||
|
||||
/**
|
||||
Function for 'tftp' command.
|
||||
@ -319,15 +327,22 @@ RunTftp (
|
||||
Status = ShellCommandLineParse (ParamList, &CheckPackage, &ProblemParam, TRUE);
|
||||
if (EFI_ERROR (Status)) {
|
||||
if ((Status == EFI_VOLUME_CORRUPTED) &&
|
||||
(ProblemParam != NULL) ) {
|
||||
(ProblemParam != NULL))
|
||||
{
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), mTftpHiiHandle,
|
||||
L"tftp", ProblemParam
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_PROBLEM),
|
||||
mTftpHiiHandle,
|
||||
L"tftp",
|
||||
ProblemParam
|
||||
);
|
||||
FreePool (ProblemParam);
|
||||
} else {
|
||||
ASSERT (FALSE);
|
||||
}
|
||||
|
||||
goto Error;
|
||||
}
|
||||
|
||||
@ -337,15 +352,24 @@ RunTftp (
|
||||
ParamCount = ShellCommandLineGetCount (CheckPackage);
|
||||
if (ParamCount > 4) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY),
|
||||
mTftpHiiHandle, L"tftp"
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_TOO_MANY),
|
||||
mTftpHiiHandle,
|
||||
L"tftp"
|
||||
);
|
||||
goto Error;
|
||||
}
|
||||
|
||||
if (ParamCount < 3) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW),
|
||||
mTftpHiiHandle, L"tftp"
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_TOO_FEW),
|
||||
mTftpHiiHandle,
|
||||
L"tftp"
|
||||
);
|
||||
goto Error;
|
||||
}
|
||||
@ -356,23 +380,29 @@ RunTftp (
|
||||
// Check the host IPv4 address
|
||||
//
|
||||
ValueStr = ShellCommandLineGetRawValue (CheckPackage, 1);
|
||||
Status = NetLibStrToIp4 (ValueStr, &Mtftp4ConfigData.ServerIp);
|
||||
Status = NetLibStrToIp4 (ValueStr, &Mtftp4ConfigData.ServerIp);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle, L"tftp", ValueStr
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle,
|
||||
L"tftp",
|
||||
ValueStr
|
||||
);
|
||||
goto Error;
|
||||
}
|
||||
|
||||
RemoteFilePath = ShellCommandLineGetRawValue (CheckPackage, 2);
|
||||
ASSERT(RemoteFilePath != NULL);
|
||||
FilePathSize = StrLen (RemoteFilePath) + 1;
|
||||
ASSERT (RemoteFilePath != NULL);
|
||||
FilePathSize = StrLen (RemoteFilePath) + 1;
|
||||
AsciiRemoteFilePath = AllocatePool (FilePathSize);
|
||||
if (AsciiRemoteFilePath == NULL) {
|
||||
ShellStatus = SHELL_OUT_OF_RESOURCES;
|
||||
goto Error;
|
||||
}
|
||||
|
||||
UnicodeStrToAsciiStrS (RemoteFilePath, AsciiRemoteFilePath, FilePathSize);
|
||||
|
||||
if (ParamCount == 4) {
|
||||
@ -381,10 +411,12 @@ RunTftp (
|
||||
Walker = RemoteFilePath + StrLen (RemoteFilePath);
|
||||
while ((--Walker) >= RemoteFilePath) {
|
||||
if ((*Walker == L'\\') ||
|
||||
(*Walker == L'/' ) ) {
|
||||
(*Walker == L'/'))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
mLocalFilePath = Walker + 1;
|
||||
}
|
||||
|
||||
@ -423,11 +455,17 @@ RunTftp (
|
||||
if (!StringToUint16 (ValueStr, &Mtftp4ConfigData.TimeoutValue)) {
|
||||
goto Error;
|
||||
}
|
||||
|
||||
if (Mtftp4ConfigData.TimeoutValue == 0) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle, L"tftp", ValueStr
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle,
|
||||
L"tftp",
|
||||
ValueStr
|
||||
);
|
||||
goto Error;
|
||||
}
|
||||
}
|
||||
@ -437,11 +475,17 @@ RunTftp (
|
||||
if (!StringToUint16 (ValueStr, &BlockSize)) {
|
||||
goto Error;
|
||||
}
|
||||
if (BlockSize < MTFTP_MIN_BLKSIZE || BlockSize > MTFTP_MAX_BLKSIZE) {
|
||||
|
||||
if ((BlockSize < MTFTP_MIN_BLKSIZE) || (BlockSize > MTFTP_MAX_BLKSIZE)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle, L"tftp", ValueStr
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle,
|
||||
L"tftp",
|
||||
ValueStr
|
||||
);
|
||||
goto Error;
|
||||
}
|
||||
}
|
||||
@ -451,11 +495,17 @@ RunTftp (
|
||||
if (!StringToUint16 (ValueStr, &WindowSize)) {
|
||||
goto Error;
|
||||
}
|
||||
if (WindowSize < MTFTP_MIN_WINDOWSIZE || WindowSize > MTFTP_MAX_WINDOWSIZE) {
|
||||
|
||||
if ((WindowSize < MTFTP_MIN_WINDOWSIZE) || (WindowSize > MTFTP_MAX_WINDOWSIZE)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle, L"tftp", ValueStr
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle,
|
||||
L"tftp",
|
||||
ValueStr
|
||||
);
|
||||
goto Error;
|
||||
}
|
||||
}
|
||||
@ -464,32 +514,41 @@ RunTftp (
|
||||
// Locate all MTFTP4 Service Binding protocols
|
||||
//
|
||||
ShellStatus = SHELL_NOT_FOUND;
|
||||
Status = gBS->LocateHandleBuffer (
|
||||
ByProtocol,
|
||||
&gEfiManagedNetworkServiceBindingProtocolGuid,
|
||||
NULL,
|
||||
&HandleCount,
|
||||
&Handles
|
||||
);
|
||||
Status = gBS->LocateHandleBuffer (
|
||||
ByProtocol,
|
||||
&gEfiManagedNetworkServiceBindingProtocolGuid,
|
||||
NULL,
|
||||
&HandleCount,
|
||||
&Handles
|
||||
);
|
||||
if (EFI_ERROR (Status) || (HandleCount == 0)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_ERR_NO_NIC),
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_ERR_NO_NIC),
|
||||
mTftpHiiHandle
|
||||
);
|
||||
);
|
||||
goto Error;
|
||||
}
|
||||
|
||||
for (NicNumber = 0;
|
||||
(NicNumber < HandleCount) && (ShellStatus != SHELL_SUCCESS);
|
||||
NicNumber++) {
|
||||
NicNumber++)
|
||||
{
|
||||
ControllerHandle = Handles[NicNumber];
|
||||
|
||||
Status = GetNicName (ControllerHandle, NicNumber, NicName);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_ERR_NIC_NAME),
|
||||
mTftpHiiHandle, NicNumber, Status
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_ERR_NIC_NAME),
|
||||
mTftpHiiHandle,
|
||||
NicNumber,
|
||||
Status
|
||||
);
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -497,6 +556,7 @@ RunTftp (
|
||||
if (StrCmp (NicName, UserNicName) != 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
NicFound = TRUE;
|
||||
}
|
||||
|
||||
@ -505,46 +565,68 @@ RunTftp (
|
||||
&gEfiMtftp4ServiceBindingProtocolGuid,
|
||||
&gEfiMtftp4ProtocolGuid,
|
||||
&Mtftp4ChildHandle,
|
||||
(VOID**)&Mtftp4
|
||||
(VOID **)&Mtftp4
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_ERR_OPEN_PROTOCOL),
|
||||
mTftpHiiHandle, NicName, Status
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_ERR_OPEN_PROTOCOL),
|
||||
mTftpHiiHandle,
|
||||
NicName,
|
||||
Status
|
||||
);
|
||||
continue;
|
||||
}
|
||||
|
||||
Status = Mtftp4->Configure (Mtftp4, &Mtftp4ConfigData);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_ERR_CONFIGURE),
|
||||
mTftpHiiHandle, NicName, Status
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_ERR_CONFIGURE),
|
||||
mTftpHiiHandle,
|
||||
NicName,
|
||||
Status
|
||||
);
|
||||
goto NextHandle;
|
||||
}
|
||||
|
||||
Status = GetFileSize (Mtftp4, AsciiRemoteFilePath, &FileSize);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_ERR_FILE_SIZE),
|
||||
mTftpHiiHandle, RemoteFilePath, NicName, Status
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_ERR_FILE_SIZE),
|
||||
mTftpHiiHandle,
|
||||
RemoteFilePath,
|
||||
NicName,
|
||||
Status
|
||||
);
|
||||
goto NextHandle;
|
||||
}
|
||||
|
||||
Status = DownloadFile (Mtftp4, RemoteFilePath, AsciiRemoteFilePath, FileSize, BlockSize, WindowSize);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_ERR_DOWNLOAD),
|
||||
mTftpHiiHandle, RemoteFilePath, NicName, Status
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_ERR_DOWNLOAD),
|
||||
mTftpHiiHandle,
|
||||
RemoteFilePath,
|
||||
NicName,
|
||||
Status
|
||||
);
|
||||
goto NextHandle;
|
||||
}
|
||||
|
||||
ShellStatus = SHELL_SUCCESS;
|
||||
|
||||
NextHandle:
|
||||
NextHandle:
|
||||
|
||||
CloseProtocolAndDestroyServiceChild (
|
||||
ControllerHandle,
|
||||
@ -556,22 +638,27 @@ RunTftp (
|
||||
|
||||
if ((UserNicName != NULL) && (!NicFound)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_ERR_NIC_NOT_FOUND),
|
||||
mTftpHiiHandle, UserNicName
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_ERR_NIC_NOT_FOUND),
|
||||
mTftpHiiHandle,
|
||||
UserNicName
|
||||
);
|
||||
}
|
||||
|
||||
Error:
|
||||
Error:
|
||||
|
||||
ShellCommandLineFreeVarList (CheckPackage);
|
||||
if (AsciiRemoteFilePath != NULL) {
|
||||
FreePool (AsciiRemoteFilePath);
|
||||
}
|
||||
|
||||
if (Handles != NULL) {
|
||||
FreePool (Handles);
|
||||
}
|
||||
|
||||
if ((ShellStatus != SHELL_SUCCESS) && (EFI_ERROR(Status))) {
|
||||
if ((ShellStatus != SHELL_SUCCESS) && (EFI_ERROR (Status))) {
|
||||
ShellStatus = Status & ~MAX_BIT;
|
||||
}
|
||||
|
||||
@ -599,9 +686,14 @@ StringToUint16 (
|
||||
Val = ShellStrToUintn (ValueStr);
|
||||
if (Val > MAX_UINT16) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle, L"tftp", ValueStr
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_PARAM_INV),
|
||||
mTftpHiiHandle,
|
||||
L"tftp",
|
||||
ValueStr
|
||||
);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -645,7 +737,7 @@ GetNicName (
|
||||
&gEfiManagedNetworkServiceBindingProtocolGuid,
|
||||
&gEfiManagedNetworkProtocolGuid,
|
||||
&MnpHandle,
|
||||
(VOID**)&Mnp
|
||||
(VOID **)&Mnp
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error;
|
||||
@ -661,7 +753,7 @@ GetNicName (
|
||||
IP4_CONFIG2_INTERFACE_INFO_NAME_LENGTH,
|
||||
SnpMode.IfType == NET_IFTYPE_ETHERNET ?
|
||||
L"eth%d" :
|
||||
L"unk%d" ,
|
||||
L"unk%d",
|
||||
NicNumber
|
||||
);
|
||||
|
||||
@ -713,12 +805,12 @@ CreateServiceChildAndOpenProtocol (
|
||||
EFI_STATUS Status;
|
||||
|
||||
*ChildHandle = NULL;
|
||||
Status = NetLibCreateServiceChild (
|
||||
ControllerHandle,
|
||||
gImageHandle,
|
||||
ServiceBindingProtocolGuid,
|
||||
ChildHandle
|
||||
);
|
||||
Status = NetLibCreateServiceChild (
|
||||
ControllerHandle,
|
||||
gImageHandle,
|
||||
ServiceBindingProtocolGuid,
|
||||
ChildHandle
|
||||
);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
Status = gBS->OpenProtocol (
|
||||
*ChildHandle,
|
||||
@ -810,21 +902,21 @@ GetFileSize (
|
||||
UINT32 OptCnt;
|
||||
UINT8 OptBuf[128];
|
||||
|
||||
ReqOpt[0].OptionStr = (UINT8*)"tsize";
|
||||
OptBuf[0] = '0';
|
||||
OptBuf[1] = 0;
|
||||
ReqOpt[0].ValueStr = OptBuf;
|
||||
ReqOpt[0].OptionStr = (UINT8 *)"tsize";
|
||||
OptBuf[0] = '0';
|
||||
OptBuf[1] = 0;
|
||||
ReqOpt[0].ValueStr = OptBuf;
|
||||
|
||||
Status = Mtftp4->GetInfo (
|
||||
Mtftp4,
|
||||
NULL,
|
||||
(UINT8*)FilePath,
|
||||
NULL,
|
||||
1,
|
||||
ReqOpt,
|
||||
&PktLen,
|
||||
&Packet
|
||||
);
|
||||
Mtftp4,
|
||||
NULL,
|
||||
(UINT8 *)FilePath,
|
||||
NULL,
|
||||
1,
|
||||
ReqOpt,
|
||||
&PktLen,
|
||||
&Packet
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error;
|
||||
@ -834,7 +926,7 @@ GetFileSize (
|
||||
Mtftp4,
|
||||
PktLen,
|
||||
Packet,
|
||||
(UINT32 *) &OptCnt,
|
||||
(UINT32 *)&OptCnt,
|
||||
&TableOfOptions
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
@ -847,16 +939,18 @@ GetFileSize (
|
||||
*FileSize = AsciiStrDecimalToUintn ((CHAR8 *)Option->ValueStr);
|
||||
break;
|
||||
}
|
||||
|
||||
OptCnt--;
|
||||
Option++;
|
||||
}
|
||||
|
||||
FreePool (TableOfOptions);
|
||||
|
||||
if (OptCnt == 0) {
|
||||
Status = EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
Error :
|
||||
Error:
|
||||
|
||||
return Status;
|
||||
}
|
||||
@ -889,11 +983,11 @@ DownloadFile (
|
||||
IN UINT16 WindowSize
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
DOWNLOAD_CONTEXT *TftpContext;
|
||||
EFI_MTFTP4_TOKEN Mtftp4Token;
|
||||
UINT8 BlksizeBuf[10];
|
||||
UINT8 WindowsizeBuf[10];
|
||||
EFI_STATUS Status;
|
||||
DOWNLOAD_CONTEXT *TftpContext;
|
||||
EFI_MTFTP4_TOKEN Mtftp4Token;
|
||||
UINT8 BlksizeBuf[10];
|
||||
UINT8 WindowsizeBuf[10];
|
||||
|
||||
ZeroMem (&Mtftp4Token, sizeof (EFI_MTFTP4_TOKEN));
|
||||
|
||||
@ -902,13 +996,14 @@ DownloadFile (
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
goto Error;
|
||||
}
|
||||
TftpContext->FileSize = FileSize;
|
||||
|
||||
TftpContext->FileSize = FileSize;
|
||||
TftpContext->DownloadedNbOfBytes = 0;
|
||||
TftpContext->LastReportedNbOfBytes = 0;
|
||||
|
||||
Mtftp4Token.Filename = (UINT8*)AsciiFilePath;
|
||||
Mtftp4Token.Filename = (UINT8 *)AsciiFilePath;
|
||||
Mtftp4Token.CheckPacket = CheckPacket;
|
||||
Mtftp4Token.Context = (VOID*)TftpContext;
|
||||
Mtftp4Token.Context = (VOID *)TftpContext;
|
||||
Mtftp4Token.OptionCount = 0;
|
||||
Mtftp4Token.OptionList = AllocatePool (sizeof (EFI_MTFTP4_OPTION) * 2);
|
||||
if (Mtftp4Token.OptionList == NULL) {
|
||||
@ -917,22 +1012,26 @@ DownloadFile (
|
||||
}
|
||||
|
||||
if (BlockSize != MTFTP_DEFAULT_BLKSIZE) {
|
||||
Mtftp4Token.OptionList[Mtftp4Token.OptionCount].OptionStr = (UINT8 *) "blksize";
|
||||
AsciiSPrint ((CHAR8 *) BlksizeBuf, sizeof (BlksizeBuf), "%d", BlockSize);
|
||||
Mtftp4Token.OptionList[Mtftp4Token.OptionCount].ValueStr = BlksizeBuf;
|
||||
Mtftp4Token.OptionCount ++;
|
||||
Mtftp4Token.OptionList[Mtftp4Token.OptionCount].OptionStr = (UINT8 *)"blksize";
|
||||
AsciiSPrint ((CHAR8 *)BlksizeBuf, sizeof (BlksizeBuf), "%d", BlockSize);
|
||||
Mtftp4Token.OptionList[Mtftp4Token.OptionCount].ValueStr = BlksizeBuf;
|
||||
Mtftp4Token.OptionCount++;
|
||||
}
|
||||
|
||||
if (WindowSize != MTFTP_DEFAULT_WINDOWSIZE) {
|
||||
Mtftp4Token.OptionList[Mtftp4Token.OptionCount].OptionStr = (UINT8 *) "windowsize";
|
||||
AsciiSPrint ((CHAR8 *) WindowsizeBuf, sizeof (WindowsizeBuf), "%d", WindowSize);
|
||||
Mtftp4Token.OptionList[Mtftp4Token.OptionCount].ValueStr = WindowsizeBuf;
|
||||
Mtftp4Token.OptionCount ++;
|
||||
Mtftp4Token.OptionList[Mtftp4Token.OptionCount].OptionStr = (UINT8 *)"windowsize";
|
||||
AsciiSPrint ((CHAR8 *)WindowsizeBuf, sizeof (WindowsizeBuf), "%d", WindowSize);
|
||||
Mtftp4Token.OptionList[Mtftp4Token.OptionCount].ValueStr = WindowsizeBuf;
|
||||
Mtftp4Token.OptionCount++;
|
||||
}
|
||||
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_DOWNLOADING),
|
||||
mTftpHiiHandle, FilePath
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_DOWNLOADING),
|
||||
mTftpHiiHandle,
|
||||
FilePath
|
||||
);
|
||||
|
||||
//
|
||||
@ -943,24 +1042,32 @@ DownloadFile (
|
||||
}
|
||||
|
||||
Status = ShellOpenFileByName (
|
||||
mLocalFilePath,
|
||||
&mFileHandle,
|
||||
EFI_FILE_MODE_CREATE |
|
||||
EFI_FILE_MODE_WRITE |
|
||||
EFI_FILE_MODE_READ,
|
||||
0
|
||||
);
|
||||
mLocalFilePath,
|
||||
&mFileHandle,
|
||||
EFI_FILE_MODE_CREATE |
|
||||
EFI_FILE_MODE_WRITE |
|
||||
EFI_FILE_MODE_READ,
|
||||
0
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_FILE_OPEN_FAIL),
|
||||
mTftpHiiHandle, L"tftp", mLocalFilePath
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_FILE_OPEN_FAIL),
|
||||
mTftpHiiHandle,
|
||||
L"tftp",
|
||||
mLocalFilePath
|
||||
);
|
||||
goto Error;
|
||||
}
|
||||
|
||||
Status = Mtftp4->ReadFile (Mtftp4, &Mtftp4Token);
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_CRLF),
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_CRLF),
|
||||
mTftpHiiHandle
|
||||
);
|
||||
|
||||
@ -969,7 +1076,7 @@ DownloadFile (
|
||||
//
|
||||
ShellCloseFile (&mFileHandle);
|
||||
|
||||
Error :
|
||||
Error:
|
||||
if (TftpContext != NULL) {
|
||||
FreePool (TftpContext);
|
||||
}
|
||||
@ -1016,7 +1123,7 @@ CheckPacket (
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
Context = (DOWNLOAD_CONTEXT*)Token->Context;
|
||||
Context = (DOWNLOAD_CONTEXT *)Token->Context;
|
||||
|
||||
//
|
||||
// The data in the packet are prepended with two UINT16 :
|
||||
@ -1025,19 +1132,28 @@ CheckPacket (
|
||||
//
|
||||
DownloadLen = (UINTN)PacketLen - sizeof (Packet->OpCode) - sizeof (Packet->Data.Block);
|
||||
|
||||
ShellSetFilePosition(mFileHandle, Context->DownloadedNbOfBytes);
|
||||
ShellSetFilePosition (mFileHandle, Context->DownloadedNbOfBytes);
|
||||
Status = ShellWriteFile (mFileHandle, &DownloadLen, Packet->Data.Data);
|
||||
if (EFI_ERROR (Status)) {
|
||||
if (Context->DownloadedNbOfBytes > 0) {
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_GEN_CRLF),
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_GEN_CRLF),
|
||||
mTftpHiiHandle
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
ShellPrintHiiEx (
|
||||
-1, -1, NULL, STRING_TOKEN (STR_TFTP_ERR_WRITE),
|
||||
mTftpHiiHandle, mLocalFilePath, Status
|
||||
);
|
||||
-1,
|
||||
-1,
|
||||
NULL,
|
||||
STRING_TOKEN (STR_TFTP_ERR_WRITE),
|
||||
mTftpHiiHandle,
|
||||
mLocalFilePath,
|
||||
Status
|
||||
);
|
||||
return Status;
|
||||
}
|
||||
|
||||
@ -1046,11 +1162,11 @@ CheckPacket (
|
||||
}
|
||||
|
||||
Context->DownloadedNbOfBytes += DownloadLen;
|
||||
NbOfKb = Context->DownloadedNbOfBytes / 1024;
|
||||
NbOfKb = Context->DownloadedNbOfBytes / 1024;
|
||||
|
||||
Progress[0] = L'\0';
|
||||
LastStep = (Context->LastReportedNbOfBytes * TFTP_PROGRESS_SLIDER_STEPS) / Context->FileSize;
|
||||
Step = (Context->DownloadedNbOfBytes * TFTP_PROGRESS_SLIDER_STEPS) / Context->FileSize;
|
||||
LastStep = (Context->LastReportedNbOfBytes * TFTP_PROGRESS_SLIDER_STEPS) / Context->FileSize;
|
||||
Step = (Context->DownloadedNbOfBytes * TFTP_PROGRESS_SLIDER_STEPS) / Context->FileSize;
|
||||
|
||||
if (Step <= LastStep) {
|
||||
return EFI_SUCCESS;
|
||||
@ -1059,12 +1175,14 @@ CheckPacket (
|
||||
ShellPrintEx (-1, -1, L"%s", mTftpProgressDelete);
|
||||
|
||||
Status = StrCpyS (Progress, TFTP_PROGRESS_MESSAGE_SIZE, mTftpProgressFrame);
|
||||
if (EFI_ERROR(Status)) {
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
for (Index = 1; Index < Step; Index++) {
|
||||
Progress[Index] = L'=';
|
||||
}
|
||||
|
||||
Progress[Step] = L'>';
|
||||
|
||||
UnicodeSPrint (
|
||||
@ -1089,12 +1207,12 @@ CheckPacket (
|
||||
**/
|
||||
EFI_HII_HANDLE
|
||||
InitializeHiiPackage (
|
||||
EFI_HANDLE ImageHandle
|
||||
EFI_HANDLE ImageHandle
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||
EFI_HII_HANDLE HiiHandle;
|
||||
EFI_STATUS Status;
|
||||
EFI_HII_PACKAGE_LIST_HEADER *PackageList;
|
||||
EFI_HII_HANDLE HiiHandle;
|
||||
|
||||
//
|
||||
// Retrieve HII package list from ImageHandle
|
||||
@ -1125,5 +1243,6 @@ InitializeHiiPackage (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return HiiHandle;
|
||||
}
|
||||
|
@ -30,12 +30,12 @@
|
||||
#include <Library/PrintLib.h>
|
||||
#include <Library/UefiHiiServicesLib.h>
|
||||
|
||||
extern EFI_HII_HANDLE mTftpHiiHandle;
|
||||
extern EFI_HII_HANDLE mTftpHiiHandle;
|
||||
|
||||
typedef struct {
|
||||
UINTN FileSize;
|
||||
UINTN DownloadedNbOfBytes;
|
||||
UINTN LastReportedNbOfBytes;
|
||||
UINTN FileSize;
|
||||
UINTN DownloadedNbOfBytes;
|
||||
UINTN LastReportedNbOfBytes;
|
||||
} DOWNLOAD_CONTEXT;
|
||||
|
||||
/**
|
||||
@ -64,6 +64,7 @@ RunTftp (
|
||||
**/
|
||||
EFI_HII_HANDLE
|
||||
InitializeHiiPackage (
|
||||
EFI_HANDLE ImageHandle
|
||||
EFI_HANDLE ImageHandle
|
||||
);
|
||||
|
||||
#endif // _TFTP_H_
|
||||
|
@ -17,7 +17,7 @@
|
||||
// the resource section. Thus the application can use '-?' option to show help message in
|
||||
// Shell.
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringHelpTokenId = STRING_TOKEN (STR_GET_HELP_TFTP);
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringHelpTokenId = STRING_TOKEN (STR_GET_HELP_TFTP);
|
||||
|
||||
/**
|
||||
Entry point of Tftp standalone application.
|
||||
@ -32,11 +32,12 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringHelpTokenId = STRING_TOKEN (S
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
TftpAppInitialize (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_STATUS Status;
|
||||
|
||||
mTftpHiiHandle = InitializeHiiPackage (ImageHandle);
|
||||
if (mTftpHiiHandle == NULL) {
|
||||
return EFI_ABORTED;
|
||||
|
@ -26,10 +26,10 @@
|
||||
SHELL_STATUS
|
||||
EFIAPI
|
||||
TftpCommandHandler (
|
||||
IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable,
|
||||
IN EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters,
|
||||
IN EFI_SHELL_PROTOCOL *Shell
|
||||
IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable,
|
||||
IN EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters,
|
||||
IN EFI_SHELL_PROTOCOL *Shell
|
||||
)
|
||||
{
|
||||
gEfiShellParametersProtocol = ShellParameters;
|
||||
@ -50,14 +50,14 @@ TftpCommandHandler (
|
||||
CHAR16 *
|
||||
EFIAPI
|
||||
TftpCommandGetHelp (
|
||||
IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This,
|
||||
IN CONST CHAR8 *Language
|
||||
IN EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *This,
|
||||
IN CONST CHAR8 *Language
|
||||
)
|
||||
{
|
||||
return HiiGetString (mTftpHiiHandle, STRING_TOKEN (STR_GET_HELP_TFTP), Language);
|
||||
}
|
||||
|
||||
EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL mTftpDynamicCommand = {
|
||||
EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL mTftpDynamicCommand = {
|
||||
L"tftp",
|
||||
TftpCommandHandler,
|
||||
TftpCommandGetHelp
|
||||
@ -78,11 +78,12 @@ EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL mTftpDynamicCommand = {
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
TftpCommandInitialize (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_STATUS Status;
|
||||
|
||||
mTftpHiiHandle = InitializeHiiPackage (ImageHandle);
|
||||
if (mTftpHiiHandle == NULL) {
|
||||
return EFI_ABORTED;
|
||||
@ -109,10 +110,11 @@ TftpCommandInitialize (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
TftpUnload (
|
||||
IN EFI_HANDLE ImageHandle
|
||||
)
|
||||
IN EFI_HANDLE ImageHandle
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Status = gBS->UninstallProtocolInterface (
|
||||
ImageHandle,
|
||||
&gEfiShellDynamicCommandProtocolGuid,
|
||||
@ -121,6 +123,7 @@ TftpUnload (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
HiiRemovePackages (mTftpHiiHandle);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user