//\r
// globals...\r
//\r
-SHELL_PARAM_ITEM EmptyParamList[] = {\r
- {NULL, TypeMax}\r
- };\r
-SHELL_PARAM_ITEM SfoParamList[] = {\r
- {L"-sfo", TypeFlag},\r
- {NULL, TypeMax}\r
- };\r
-EFI_SHELL_ENVIRONMENT2 *mEfiShellEnvironment2;\r
-EFI_SHELL_INTERFACE *mEfiShellInterface;\r
-EFI_SHELL_PROTOCOL *gEfiShellProtocol;\r
-EFI_SHELL_PARAMETERS_PROTOCOL *gEfiShellParametersProtocol;\r
-EFI_HANDLE mEfiShellEnvironment2Handle;\r
-FILE_HANDLE_FUNCTION_MAP FileFunctionMap;\r
+SHELL_PARAM_ITEM EmptyParamList[] = {\r
+ { NULL, TypeMax }\r
+};\r
+SHELL_PARAM_ITEM SfoParamList[] = {\r
+ { L"-sfo", TypeFlag },\r
+ { NULL, TypeMax }\r
+};\r
+EFI_SHELL_ENVIRONMENT2 *mEfiShellEnvironment2;\r
+EFI_SHELL_INTERFACE *mEfiShellInterface;\r
+EFI_SHELL_PROTOCOL *gEfiShellProtocol;\r
+EFI_SHELL_PARAMETERS_PROTOCOL *gEfiShellParametersProtocol;\r
+EFI_HANDLE mEfiShellEnvironment2Handle;\r
+FILE_HANDLE_FUNCTION_MAP FileFunctionMap;\r
EFI_UNICODE_COLLATION_PROTOCOL *mUnicodeCollationProtocol;\r
\r
/**\r
Path. The caller must free this memory when it is no\r
longer needed.\r
**/\r
-CHAR16*\r
+CHAR16 *\r
EFIAPI\r
-FullyQualifyPath(\r
- IN CONST CHAR16 *Path\r
+FullyQualifyPath (\r
+ IN CONST CHAR16 *Path\r
)\r
{\r
- CONST CHAR16 *WorkingPath;\r
- CONST CHAR16 *InputPath;\r
- CHAR16 *CharPtr;\r
- CHAR16 *InputFileSystem;\r
- UINTN FileSystemCharCount;\r
- CHAR16 *FullyQualifiedPath;\r
- UINTN Size;\r
+ CONST CHAR16 *WorkingPath;\r
+ CONST CHAR16 *InputPath;\r
+ CHAR16 *CharPtr;\r
+ CHAR16 *InputFileSystem;\r
+ UINTN FileSystemCharCount;\r
+ CHAR16 *FullyQualifiedPath;\r
+ UINTN Size;\r
\r
FullyQualifiedPath = NULL;\r
\r
- ASSERT(Path != NULL);\r
+ ASSERT (Path != NULL);\r
//\r
// Handle erroneous input when asserts are disabled.\r
//\r
if (Path == NULL) {\r
return NULL;\r
}\r
+\r
//\r
// In paths that contain ":", like fs0:dir/file.ext and fs2:\fqpath\file.ext,\r
// we have to consider the file system part separately from the "path" part.\r
// directory for that file system. Then we need to use the part of the path\r
// following the ":". If a path does not contain ":", we use it as given.\r
//\r
- InputPath = StrStr(Path, L":");\r
+ InputPath = StrStr (Path, L":");\r
if (InputPath != NULL) {\r
InputPath++;\r
- FileSystemCharCount = ((UINTN)InputPath - (UINTN)Path + sizeof(CHAR16)) / sizeof(CHAR16);\r
- InputFileSystem = AllocateCopyPool(FileSystemCharCount * sizeof(CHAR16), Path);\r
+ FileSystemCharCount = ((UINTN)InputPath - (UINTN)Path + sizeof (CHAR16)) / sizeof (CHAR16);\r
+ InputFileSystem = AllocateCopyPool (FileSystemCharCount * sizeof (CHAR16), Path);\r
if (InputFileSystem != NULL) {\r
InputFileSystem[FileSystemCharCount - 1] = CHAR_NULL;\r
}\r
- WorkingPath = ShellGetCurrentDir(InputFileSystem);\r
- SHELL_FREE_NON_NULL(InputFileSystem);\r
+\r
+ WorkingPath = ShellGetCurrentDir (InputFileSystem);\r
+ SHELL_FREE_NON_NULL (InputFileSystem);\r
} else {\r
- InputPath = Path;\r
- WorkingPath = ShellGetEnvironmentVariable(L"cwd");\r
+ InputPath = Path;\r
+ WorkingPath = ShellGetEnvironmentVariable (L"cwd");\r
}\r
\r
if (WorkingPath == NULL) {\r
//\r
// With no working directory, all we can do is copy and clean the input path.\r
//\r
- FullyQualifiedPath = AllocateCopyPool(StrSize(Path), Path);\r
+ FullyQualifiedPath = AllocateCopyPool (StrSize (Path), Path);\r
} else {\r
//\r
// Allocate space for both strings plus one more character.\r
//\r
- Size = StrSize(WorkingPath) + StrSize(InputPath);\r
- FullyQualifiedPath = AllocateZeroPool(Size);\r
+ Size = StrSize (WorkingPath) + StrSize (InputPath);\r
+ FullyQualifiedPath = AllocateZeroPool (Size);\r
if (FullyQualifiedPath == NULL) {\r
//\r
// Try to copy and clean just the input. No harm if not enough memory.\r
//\r
- FullyQualifiedPath = AllocateCopyPool(StrSize(Path), Path);\r
+ FullyQualifiedPath = AllocateCopyPool (StrSize (Path), Path);\r
} else {\r
- if (*InputPath == L'\\' || *InputPath == L'/') {\r
+ if ((*InputPath == L'\\') || (*InputPath == L'/')) {\r
//\r
// Absolute path: start with the current working directory, then\r
// truncate the new path after the file system part.\r
//\r
- StrCpyS(FullyQualifiedPath, Size/sizeof(CHAR16), WorkingPath);\r
- CharPtr = StrStr(FullyQualifiedPath, L":");\r
+ StrCpyS (FullyQualifiedPath, Size/sizeof (CHAR16), WorkingPath);\r
+ CharPtr = StrStr (FullyQualifiedPath, L":");\r
if (CharPtr != NULL) {\r
*(CharPtr + 1) = CHAR_NULL;\r
}\r
//\r
// Relative path: start with the working directory and append "\".\r
//\r
- StrCpyS(FullyQualifiedPath, Size/sizeof(CHAR16), WorkingPath);\r
- StrCatS(FullyQualifiedPath, Size/sizeof(CHAR16), L"\\");\r
+ StrCpyS (FullyQualifiedPath, Size/sizeof (CHAR16), WorkingPath);\r
+ StrCatS (FullyQualifiedPath, Size/sizeof (CHAR16), L"\\");\r
}\r
+\r
//\r
// Now append the absolute or relative path.\r
//\r
- StrCatS(FullyQualifiedPath, Size/sizeof(CHAR16), InputPath);\r
+ StrCatS (FullyQualifiedPath, Size/sizeof (CHAR16), InputPath);\r
}\r
}\r
\r
- PathCleanUpDirectories(FullyQualifiedPath);\r
+ PathCleanUpDirectories (FullyQualifiedPath);\r
\r
return FullyQualifiedPath;\r
}\r
BOOLEAN\r
EFIAPI\r
ShellIsHexaDecimalDigitCharacter (\r
- IN CHAR16 Char\r
+ IN CHAR16 Char\r
)\r
{\r
- return (BOOLEAN) ((Char >= L'0' && Char <= L'9') || (Char >= L'A' && Char <= L'F') || (Char >= L'a' && Char <= L'f'));\r
+ return (BOOLEAN)((Char >= L'0' && Char <= L'9') || (Char >= L'A' && Char <= L'F') || (Char >= L'a' && Char <= L'f'));\r
}\r
\r
/**\r
BOOLEAN\r
EFIAPI\r
ShellIsDecimalDigitCharacter (\r
- IN CHAR16 Char\r
+ IN CHAR16 Char\r
)\r
{\r
- return (BOOLEAN) (Char >= L'0' && Char <= L'9');\r
+ return (BOOLEAN)(Char >= L'0' && Char <= L'9');\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
ShellFindSE2 (\r
- IN EFI_HANDLE ImageHandle\r
+ IN EFI_HANDLE ImageHandle\r
)\r
{\r
EFI_STATUS Status;\r
UINTN HandleIndex;\r
\r
BufferSize = 0;\r
- Buffer = NULL;\r
- Status = gBS->OpenProtocol(ImageHandle,\r
- &gEfiShellEnvironment2Guid,\r
- (VOID **)&mEfiShellEnvironment2,\r
- ImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
+ Buffer = NULL;\r
+ Status = gBS->OpenProtocol (\r
+ ImageHandle,\r
+ &gEfiShellEnvironment2Guid,\r
+ (VOID **)&mEfiShellEnvironment2,\r
+ ImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
//\r
// look for the mEfiShellEnvironment2 protocol at a higher level\r
//\r
- if (EFI_ERROR (Status) || !(CompareGuid (&mEfiShellEnvironment2->SESGuid, &gEfiShellEnvironment2ExtGuid))){\r
+ if (EFI_ERROR (Status) || !(CompareGuid (&mEfiShellEnvironment2->SESGuid, &gEfiShellEnvironment2ExtGuid))) {\r
//\r
// figure out how big of a buffer we need.\r
//\r
- Status = gBS->LocateHandle (ByProtocol,\r
- &gEfiShellEnvironment2Guid,\r
- NULL, // ignored for ByProtocol\r
- &BufferSize,\r
- Buffer\r
- );\r
+ Status = gBS->LocateHandle (\r
+ ByProtocol,\r
+ &gEfiShellEnvironment2Guid,\r
+ NULL, // ignored for ByProtocol\r
+ &BufferSize,\r
+ Buffer\r
+ );\r
//\r
// maybe it's not there???\r
//\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- Buffer = (EFI_HANDLE*)AllocateZeroPool(BufferSize);\r
+ Buffer = (EFI_HANDLE *)AllocateZeroPool (BufferSize);\r
if (Buffer == NULL) {\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- Status = gBS->LocateHandle (ByProtocol,\r
- &gEfiShellEnvironment2Guid,\r
- NULL, // ignored for ByProtocol\r
- &BufferSize,\r
- Buffer\r
- );\r
+\r
+ Status = gBS->LocateHandle (\r
+ ByProtocol,\r
+ &gEfiShellEnvironment2Guid,\r
+ NULL, // ignored for ByProtocol\r
+ &BufferSize,\r
+ Buffer\r
+ );\r
}\r
- if (!EFI_ERROR (Status) && Buffer != NULL) {\r
+\r
+ if (!EFI_ERROR (Status) && (Buffer != NULL)) {\r
//\r
// now parse the list of returned handles\r
//\r
Status = EFI_NOT_FOUND;\r
- for (HandleIndex = 0; HandleIndex < (BufferSize/sizeof(Buffer[0])); HandleIndex++) {\r
- Status = gBS->OpenProtocol(Buffer[HandleIndex],\r
- &gEfiShellEnvironment2Guid,\r
- (VOID **)&mEfiShellEnvironment2,\r
- ImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
- if (CompareGuid (&mEfiShellEnvironment2->SESGuid, &gEfiShellEnvironment2ExtGuid)) {\r
+ for (HandleIndex = 0; HandleIndex < (BufferSize/sizeof (Buffer[0])); HandleIndex++) {\r
+ Status = gBS->OpenProtocol (\r
+ Buffer[HandleIndex],\r
+ &gEfiShellEnvironment2Guid,\r
+ (VOID **)&mEfiShellEnvironment2,\r
+ ImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (CompareGuid (&mEfiShellEnvironment2->SESGuid, &gEfiShellEnvironment2ExtGuid)) {\r
mEfiShellEnvironment2Handle = Buffer[HandleIndex];\r
- Status = EFI_SUCCESS;\r
+ Status = EFI_SUCCESS;\r
break;\r
}\r
}\r
}\r
}\r
+\r
if (Buffer != NULL) {\r
FreePool (Buffer);\r
}\r
+\r
return (Status);\r
}\r
\r
// UEFI 2.0 shell interfaces (used preferentially)\r
//\r
Status = gBS->OpenProtocol (\r
- ImageHandle,\r
- &gEfiShellProtocolGuid,\r
- (VOID **)&gEfiShellProtocol,\r
- ImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
+ ImageHandle,\r
+ &gEfiShellProtocolGuid,\r
+ (VOID **)&gEfiShellProtocol,\r
+ ImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
if (EFI_ERROR (Status)) {\r
//\r
// Search for the shell protocol\r
//\r
Status = gBS->LocateProtocol (\r
- &gEfiShellProtocolGuid,\r
- NULL,\r
- (VOID **)&gEfiShellProtocol\r
- );\r
+ &gEfiShellProtocolGuid,\r
+ NULL,\r
+ (VOID **)&gEfiShellProtocol\r
+ );\r
if (EFI_ERROR (Status)) {\r
gEfiShellProtocol = NULL;\r
}\r
\r
if (gEfiShellParametersProtocol == NULL) {\r
Status = gBS->OpenProtocol (\r
- ImageHandle,\r
- &gEfiShellParametersProtocolGuid,\r
- (VOID **)&gEfiShellParametersProtocol,\r
- ImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
+ ImageHandle,\r
+ &gEfiShellParametersProtocolGuid,\r
+ (VOID **)&gEfiShellParametersProtocol,\r
+ ImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
if (EFI_ERROR (Status)) {\r
gEfiShellParametersProtocol = NULL;\r
}\r
//\r
// Moved to seperate function due to complexity\r
//\r
- Status = ShellFindSE2(ImageHandle);\r
+ Status = ShellFindSE2 (ImageHandle);\r
\r
- if (EFI_ERROR(Status)) {\r
- DEBUG((DEBUG_ERROR, "Status: 0x%08x\r\n", Status));\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((DEBUG_ERROR, "Status: 0x%08x\r\n", Status));\r
mEfiShellEnvironment2 = NULL;\r
}\r
- Status = gBS->OpenProtocol(ImageHandle,\r
- &gEfiShellInterfaceGuid,\r
- (VOID **)&mEfiShellInterface,\r
- ImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
- if (EFI_ERROR(Status)) {\r
+\r
+ Status = gBS->OpenProtocol (\r
+ ImageHandle,\r
+ &gEfiShellInterfaceGuid,\r
+ (VOID **)&mEfiShellInterface,\r
+ ImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
mEfiShellInterface = NULL;\r
}\r
}\r
// When ShellLib is linked to a driver producing DynamicCommand protocol,\r
// ShellParameters protocol is set by DynamicCommand.Handler().\r
//\r
- if ((mEfiShellEnvironment2 != NULL && mEfiShellInterface != NULL) ||\r
+ if (((mEfiShellEnvironment2 != NULL) && (mEfiShellInterface != NULL)) ||\r
(gEfiShellProtocol != NULL)\r
- ) {\r
+ )\r
+ {\r
if (gEfiShellProtocol != NULL) {\r
FileFunctionMap.GetFileInfo = gEfiShellProtocol->GetFileInfo;\r
FileFunctionMap.SetFileInfo = gEfiShellProtocol->SetFileInfo;\r
FileFunctionMap.FlushFile = (EFI_SHELL_FLUSH_FILE)FileHandleFlush;\r
FileFunctionMap.GetFileSize = (EFI_SHELL_GET_FILE_SIZE)FileHandleGetSize;\r
}\r
+\r
return (EFI_SUCCESS);\r
}\r
+\r
return (EFI_NOT_FOUND);\r
}\r
+\r
/**\r
Constructor for the Shell library.\r
\r
//\r
// verify that auto initialize is not set false\r
//\r
- if (PcdGetBool(PcdShellLibAutoInitialize) == 0) {\r
+ if (PcdGetBool (PcdShellLibAutoInitialize) == 0) {\r
return (EFI_SUCCESS);\r
}\r
\r
- return (ShellLibConstructorWorker(ImageHandle, SystemTable));\r
+ return (ShellLibConstructorWorker (ImageHandle, SystemTable));\r
}\r
\r
/**\r
IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
if (mEfiShellEnvironment2 != NULL) {\r
- Status = gBS->CloseProtocol(mEfiShellEnvironment2Handle==NULL?ImageHandle:mEfiShellEnvironment2Handle,\r
- &gEfiShellEnvironment2Guid,\r
- ImageHandle,\r
- NULL);\r
+ Status = gBS->CloseProtocol (\r
+ mEfiShellEnvironment2Handle == NULL ? ImageHandle : mEfiShellEnvironment2Handle,\r
+ &gEfiShellEnvironment2Guid,\r
+ ImageHandle,\r
+ NULL\r
+ );\r
if (!EFI_ERROR (Status)) {\r
mEfiShellEnvironment2 = NULL;\r
mEfiShellEnvironment2Handle = NULL;\r
}\r
}\r
+\r
if (mEfiShellInterface != NULL) {\r
- Status = gBS->CloseProtocol(ImageHandle,\r
- &gEfiShellInterfaceGuid,\r
- ImageHandle,\r
- NULL);\r
+ Status = gBS->CloseProtocol (\r
+ ImageHandle,\r
+ &gEfiShellInterfaceGuid,\r
+ ImageHandle,\r
+ NULL\r
+ );\r
if (!EFI_ERROR (Status)) {\r
mEfiShellInterface = NULL;\r
}\r
}\r
+\r
if (gEfiShellProtocol != NULL) {\r
- Status = gBS->CloseProtocol(ImageHandle,\r
- &gEfiShellProtocolGuid,\r
- ImageHandle,\r
- NULL);\r
+ Status = gBS->CloseProtocol (\r
+ ImageHandle,\r
+ &gEfiShellProtocolGuid,\r
+ ImageHandle,\r
+ NULL\r
+ );\r
if (!EFI_ERROR (Status)) {\r
gEfiShellProtocol = NULL;\r
}\r
}\r
+\r
if (gEfiShellParametersProtocol != NULL) {\r
- Status = gBS->CloseProtocol(ImageHandle,\r
- &gEfiShellParametersProtocolGuid,\r
- ImageHandle,\r
- NULL);\r
+ Status = gBS->CloseProtocol (\r
+ ImageHandle,\r
+ &gEfiShellParametersProtocolGuid,\r
+ ImageHandle,\r
+ NULL\r
+ );\r
if (!EFI_ERROR (Status)) {\r
gEfiShellParametersProtocol = NULL;\r
}\r
VOID\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// if auto initialize is not false then skip\r
//\r
- if (PcdGetBool(PcdShellLibAutoInitialize) != 0) {\r
+ if (PcdGetBool (PcdShellLibAutoInitialize) != 0) {\r
return (EFI_SUCCESS);\r
}\r
\r
//\r
// init the new stuff\r
//\r
- return (ShellLibConstructorWorker(gImageHandle, gST));\r
+ return (ShellLibConstructorWorker (gImageHandle, gST));\r
}\r
\r
/**\r
\r
@return the information about the file\r
**/\r
-EFI_FILE_INFO*\r
+EFI_FILE_INFO *\r
EFIAPI\r
ShellGetFileInfo (\r
- IN SHELL_FILE_HANDLE FileHandle\r
+ IN SHELL_FILE_HANDLE FileHandle\r
)\r
{\r
- return (FileFunctionMap.GetFileInfo(FileHandle));\r
+ return (FileFunctionMap.GetFileInfo (FileHandle));\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
ShellSetFileInfo (\r
- IN SHELL_FILE_HANDLE FileHandle,\r
- IN EFI_FILE_INFO *FileInfo\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
+ IN EFI_FILE_INFO *FileInfo\r
)\r
{\r
- return (FileFunctionMap.SetFileInfo(FileHandle, FileInfo));\r
+ return (FileFunctionMap.SetFileInfo (FileHandle, FileInfo));\r
}\r
\r
- /**\r
- This function will open a file or directory referenced by DevicePath.\r
-\r
- This function opens a file with the open mode according to the file path. The\r
- Attributes is valid only for EFI_FILE_MODE_CREATE.\r
-\r
- @param FilePath on input the device path to the file. On output\r
- the remaining device path.\r
- @param FileHandle pointer to the file handle.\r
- @param OpenMode the mode to open the file with.\r
- @param Attributes the file's file attributes.\r
-\r
- @retval EFI_SUCCESS The information was set.\r
- @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.\r
- @retval EFI_UNSUPPORTED Could not open the file path.\r
- @retval EFI_NOT_FOUND The specified file could not be found on the\r
- device or the file system could not be found on\r
- the device.\r
- @retval EFI_NO_MEDIA The device has no medium.\r
- @retval EFI_MEDIA_CHANGED The device has a different medium in it or the\r
- medium is no longer supported.\r
- @retval EFI_DEVICE_ERROR The device reported an error.\r
- @retval EFI_VOLUME_CORRUPTED The file system structures are corrupted.\r
- @retval EFI_WRITE_PROTECTED The file or medium is write protected.\r
- @retval EFI_ACCESS_DENIED The file was opened read only.\r
- @retval EFI_OUT_OF_RESOURCES Not enough resources were available to open the\r
- file.\r
- @retval EFI_VOLUME_FULL The volume is full.\r
+/**\r
+This function will open a file or directory referenced by DevicePath.\r
+\r
+This function opens a file with the open mode according to the file path. The\r
+Attributes is valid only for EFI_FILE_MODE_CREATE.\r
+\r
+@param FilePath on input the device path to the file. On output\r
+ the remaining device path.\r
+@param FileHandle pointer to the file handle.\r
+@param OpenMode the mode to open the file with.\r
+@param Attributes the file's file attributes.\r
+\r
+@retval EFI_SUCCESS The information was set.\r
+@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.\r
+@retval EFI_UNSUPPORTED Could not open the file path.\r
+@retval EFI_NOT_FOUND The specified file could not be found on the\r
+ device or the file system could not be found on\r
+ the device.\r
+@retval EFI_NO_MEDIA The device has no medium.\r
+@retval EFI_MEDIA_CHANGED The device has a different medium in it or the\r
+ medium is no longer supported.\r
+@retval EFI_DEVICE_ERROR The device reported an error.\r
+@retval EFI_VOLUME_CORRUPTED The file system structures are corrupted.\r
+@retval EFI_WRITE_PROTECTED The file or medium is write protected.\r
+@retval EFI_ACCESS_DENIED The file was opened read only.\r
+@retval EFI_OUT_OF_RESOURCES Not enough resources were available to open the\r
+ file.\r
+@retval EFI_VOLUME_FULL The volume is full.\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellOpenFileByDevicePath(\r
- IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath,\r
- OUT SHELL_FILE_HANDLE *FileHandle,\r
- IN UINT64 OpenMode,\r
- IN UINT64 Attributes\r
+ShellOpenFileByDevicePath (\r
+ IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath,\r
+ OUT SHELL_FILE_HANDLE *FileHandle,\r
+ IN UINT64 OpenMode,\r
+ IN UINT64 Attributes\r
)\r
{\r
- CHAR16 *FileName;\r
- EFI_STATUS Status;\r
- EFI_FILE_PROTOCOL *File;\r
+ CHAR16 *FileName;\r
+ EFI_STATUS Status;\r
+ EFI_FILE_PROTOCOL *File;\r
\r
- if (FilePath == NULL || FileHandle == NULL) {\r
+ if ((FilePath == NULL) || (FileHandle == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
//\r
// use UEFI Shell 2.0 method.\r
//\r
- FileName = gEfiShellProtocol->GetFilePathFromDevicePath(*FilePath);\r
+ FileName = gEfiShellProtocol->GetFilePathFromDevicePath (*FilePath);\r
if (FileName == NULL) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
- Status = ShellOpenFileByName(FileName, FileHandle, OpenMode, Attributes);\r
- FreePool(FileName);\r
+\r
+ Status = ShellOpenFileByName (FileName, FileHandle, OpenMode, Attributes);\r
+ FreePool (FileName);\r
return (Status);\r
}\r
\r
-\r
//\r
// use old shell method.\r
//\r
//\r
// This is a weak spot since if the undefined SHELL_FILE_HANDLE format changes this must change also!\r
//\r
- *FileHandle = (VOID*)File;\r
+ *FileHandle = (VOID *)File;\r
return (EFI_SUCCESS);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellOpenFileByName(\r
- IN CONST CHAR16 *FileName,\r
- OUT SHELL_FILE_HANDLE *FileHandle,\r
- IN UINT64 OpenMode,\r
- IN UINT64 Attributes\r
+ShellOpenFileByName (\r
+ IN CONST CHAR16 *FileName,\r
+ OUT SHELL_FILE_HANDLE *FileHandle,\r
+ IN UINT64 OpenMode,\r
+ IN UINT64 Attributes\r
)\r
{\r
- EFI_DEVICE_PATH_PROTOCOL *FilePath;\r
- EFI_STATUS Status;\r
- EFI_FILE_INFO *FileInfo;\r
- CHAR16 *FileNameCopy;\r
- EFI_STATUS Status2;\r
+ EFI_DEVICE_PATH_PROTOCOL *FilePath;\r
+ EFI_STATUS Status;\r
+ EFI_FILE_INFO *FileInfo;\r
+ CHAR16 *FileNameCopy;\r
+ EFI_STATUS Status2;\r
\r
//\r
// ASSERT if FileName is NULL\r
//\r
- ASSERT(FileName != NULL);\r
+ ASSERT (FileName != NULL);\r
\r
if (FileName == NULL) {\r
return (EFI_INVALID_PARAMETER);\r
\r
if (gEfiShellProtocol != NULL) {\r
if ((OpenMode & EFI_FILE_MODE_CREATE) == EFI_FILE_MODE_CREATE) {\r
-\r
//\r
// Create only a directory\r
//\r
if ((Attributes & EFI_FILE_DIRECTORY) == EFI_FILE_DIRECTORY) {\r
- return ShellCreateDirectory(FileName, FileHandle);\r
+ return ShellCreateDirectory (FileName, FileHandle);\r
}\r
\r
//\r
if (FileNameCopy == NULL) {\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
+\r
PathCleanUpDirectories (FileNameCopy);\r
if (PathRemoveLastItem (FileNameCopy)) {\r
- if (!EFI_ERROR(ShellCreateDirectory (FileNameCopy, FileHandle))) {\r
+ if (!EFI_ERROR (ShellCreateDirectory (FileNameCopy, FileHandle))) {\r
ShellCloseFile (FileHandle);\r
}\r
}\r
+\r
SHELL_FREE_NON_NULL (FileNameCopy);\r
}\r
\r
//\r
// Use UEFI Shell 2.0 method to create the file\r
//\r
- Status = gEfiShellProtocol->OpenFileByName(FileName,\r
- FileHandle,\r
- OpenMode);\r
- if (EFI_ERROR(Status)) {\r
+ Status = gEfiShellProtocol->OpenFileByName (\r
+ FileName,\r
+ FileHandle,\r
+ OpenMode\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
if (mUnicodeCollationProtocol == NULL) {\r
- Status = gBS->LocateProtocol (&gEfiUnicodeCollation2ProtocolGuid, NULL, (VOID**)&mUnicodeCollationProtocol);\r
+ Status = gBS->LocateProtocol (&gEfiUnicodeCollation2ProtocolGuid, NULL, (VOID **)&mUnicodeCollationProtocol);\r
if (EFI_ERROR (Status)) {\r
gEfiShellProtocol->CloseFile (*FileHandle);\r
return Status;\r
}\r
}\r
\r
- if ((mUnicodeCollationProtocol->StriColl (mUnicodeCollationProtocol, (CHAR16*)FileName, L"NUL") != 0) &&\r
- (mUnicodeCollationProtocol->StriColl (mUnicodeCollationProtocol, (CHAR16*)FileName, L"NULL") != 0) &&\r
- !EFI_ERROR(Status) && ((OpenMode & EFI_FILE_MODE_CREATE) != 0)){\r
- FileInfo = FileFunctionMap.GetFileInfo(*FileHandle);\r
- ASSERT(FileInfo != NULL);\r
+ if ((mUnicodeCollationProtocol->StriColl (mUnicodeCollationProtocol, (CHAR16 *)FileName, L"NUL") != 0) &&\r
+ (mUnicodeCollationProtocol->StriColl (mUnicodeCollationProtocol, (CHAR16 *)FileName, L"NULL") != 0) &&\r
+ !EFI_ERROR (Status) && ((OpenMode & EFI_FILE_MODE_CREATE) != 0))\r
+ {\r
+ FileInfo = FileFunctionMap.GetFileInfo (*FileHandle);\r
+ ASSERT (FileInfo != NULL);\r
FileInfo->Attribute = Attributes;\r
- Status2 = FileFunctionMap.SetFileInfo(*FileHandle, FileInfo);\r
- FreePool(FileInfo);\r
+ Status2 = FileFunctionMap.SetFileInfo (*FileHandle, FileInfo);\r
+ FreePool (FileInfo);\r
if (EFI_ERROR (Status2)) {\r
- gEfiShellProtocol->CloseFile(*FileHandle);\r
+ gEfiShellProtocol->CloseFile (*FileHandle);\r
}\r
+\r
Status = Status2;\r
}\r
+\r
return (Status);\r
}\r
+\r
//\r
// Using EFI Shell version\r
// this means convert name to path and call that function\r
// since this will use EFI method again that will open it.\r
//\r
- ASSERT(mEfiShellEnvironment2 != NULL);\r
- FilePath = mEfiShellEnvironment2->NameToPath ((CHAR16*)FileName);\r
+ ASSERT (mEfiShellEnvironment2 != NULL);\r
+ FilePath = mEfiShellEnvironment2->NameToPath ((CHAR16 *)FileName);\r
if (FilePath != NULL) {\r
- return (ShellOpenFileByDevicePath(&FilePath,\r
- FileHandle,\r
- OpenMode,\r
- Attributes));\r
+ return (ShellOpenFileByDevicePath (\r
+ &FilePath,\r
+ FileHandle,\r
+ OpenMode,\r
+ Attributes\r
+ ));\r
}\r
+\r
return (EFI_DEVICE_ERROR);\r
}\r
+\r
/**\r
This function create a directory\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellCreateDirectory(\r
- IN CONST CHAR16 *DirectoryName,\r
- OUT SHELL_FILE_HANDLE *FileHandle\r
+ShellCreateDirectory (\r
+ IN CONST CHAR16 *DirectoryName,\r
+ OUT SHELL_FILE_HANDLE *FileHandle\r
)\r
{\r
if (gEfiShellProtocol != NULL) {\r
//\r
// Use UEFI Shell 2.0 method\r
//\r
- return (gEfiShellProtocol->CreateFile(DirectoryName,\r
- EFI_FILE_DIRECTORY,\r
- FileHandle\r
- ));\r
+ return (gEfiShellProtocol->CreateFile (\r
+ DirectoryName,\r
+ EFI_FILE_DIRECTORY,\r
+ FileHandle\r
+ ));\r
} else {\r
- return (ShellOpenFileByName(DirectoryName,\r
- FileHandle,\r
- EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE,\r
- EFI_FILE_DIRECTORY\r
- ));\r
+ return (ShellOpenFileByName (\r
+ DirectoryName,\r
+ FileHandle,\r
+ EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE,\r
+ EFI_FILE_DIRECTORY\r
+ ));\r
}\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellReadFile(\r
- IN SHELL_FILE_HANDLE FileHandle,\r
- IN OUT UINTN *BufferSize,\r
- OUT VOID *Buffer\r
+ShellReadFile (\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
+ IN OUT UINTN *BufferSize,\r
+ OUT VOID *Buffer\r
)\r
{\r
- return (FileFunctionMap.ReadFile(FileHandle, BufferSize, Buffer));\r
+ return (FileFunctionMap.ReadFile (FileHandle, BufferSize, Buffer));\r
}\r
\r
-\r
/**\r
Write data to a file.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellWriteFile(\r
- IN SHELL_FILE_HANDLE FileHandle,\r
- IN OUT UINTN *BufferSize,\r
- IN VOID *Buffer\r
+ShellWriteFile (\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
+ IN OUT UINTN *BufferSize,\r
+ IN VOID *Buffer\r
)\r
{\r
- return (FileFunctionMap.WriteFile(FileHandle, BufferSize, Buffer));\r
+ return (FileFunctionMap.WriteFile (FileHandle, BufferSize, Buffer));\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
ShellCloseFile (\r
- IN SHELL_FILE_HANDLE *FileHandle\r
+ IN SHELL_FILE_HANDLE *FileHandle\r
)\r
{\r
- return (FileFunctionMap.CloseFile(*FileHandle));\r
+ return (FileFunctionMap.CloseFile (*FileHandle));\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
ShellDeleteFile (\r
- IN SHELL_FILE_HANDLE *FileHandle\r
+ IN SHELL_FILE_HANDLE *FileHandle\r
)\r
{\r
- return (FileFunctionMap.DeleteFile(*FileHandle));\r
+ return (FileFunctionMap.DeleteFile (*FileHandle));\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
ShellSetFilePosition (\r
- IN SHELL_FILE_HANDLE FileHandle,\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
IN UINT64 Position\r
)\r
{\r
- return (FileFunctionMap.SetFilePosition(FileHandle, Position));\r
+ return (FileFunctionMap.SetFilePosition (FileHandle, Position));\r
}\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
ShellGetFilePosition (\r
- IN SHELL_FILE_HANDLE FileHandle,\r
- OUT UINT64 *Position\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
+ OUT UINT64 *Position\r
)\r
{\r
- return (FileFunctionMap.GetFilePosition(FileHandle, Position));\r
+ return (FileFunctionMap.GetFilePosition (FileHandle, Position));\r
}\r
+\r
/**\r
Flushes data on a file\r
\r
EFI_STATUS\r
EFIAPI\r
ShellFlushFile (\r
- IN SHELL_FILE_HANDLE FileHandle\r
+ IN SHELL_FILE_HANDLE FileHandle\r
)\r
{\r
- return (FileFunctionMap.FlushFile(FileHandle));\r
+ return (FileFunctionMap.FlushFile (FileHandle));\r
}\r
\r
/** Retrieve first entry from a directory.\r
EFI_STATUS\r
EFIAPI\r
ShellFindFirstFile (\r
- IN SHELL_FILE_HANDLE DirHandle,\r
- OUT EFI_FILE_INFO **Buffer\r
+ IN SHELL_FILE_HANDLE DirHandle,\r
+ OUT EFI_FILE_INFO **Buffer\r
)\r
{\r
//\r
// pass to file handle lib\r
//\r
- return (FileHandleFindFirstFile(DirHandle, Buffer));\r
+ return (FileHandleFindFirstFile (DirHandle, Buffer));\r
}\r
+\r
/** Retrieve next entries from a directory.\r
\r
To use this function, the caller must first call the ShellFindFirstFile()\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellFindNextFile(\r
- IN SHELL_FILE_HANDLE DirHandle,\r
- OUT EFI_FILE_INFO *Buffer,\r
- OUT BOOLEAN *NoFile\r
+ShellFindNextFile (\r
+ IN SHELL_FILE_HANDLE DirHandle,\r
+ OUT EFI_FILE_INFO *Buffer,\r
+ OUT BOOLEAN *NoFile\r
)\r
{\r
//\r
// pass to file handle lib\r
//\r
- return (FileHandleFindNextFile(DirHandle, Buffer, NoFile));\r
+ return (FileHandleFindNextFile (DirHandle, Buffer, NoFile));\r
}\r
+\r
/**\r
Retrieve the size of a file.\r
\r
EFI_STATUS\r
EFIAPI\r
ShellGetFileSize (\r
- IN SHELL_FILE_HANDLE FileHandle,\r
- OUT UINT64 *Size\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
+ OUT UINT64 *Size\r
)\r
{\r
- return (FileFunctionMap.GetFileSize(FileHandle, Size));\r
+ return (FileFunctionMap.GetFileSize (FileHandle, Size));\r
}\r
+\r
/**\r
Retrieves the status of the break execution flag\r
\r
**/\r
BOOLEAN\r
EFIAPI\r
-ShellGetExecutionBreakFlag(\r
+ShellGetExecutionBreakFlag (\r
VOID\r
)\r
{\r
// Check for UEFI Shell 2.0 protocols\r
//\r
if (gEfiShellProtocol != NULL) {\r
-\r
//\r
// We are using UEFI Shell 2.0; see if the event has been triggered\r
//\r
- if (gBS->CheckEvent(gEfiShellProtocol->ExecutionBreak) != EFI_SUCCESS) {\r
+ if (gBS->CheckEvent (gEfiShellProtocol->ExecutionBreak) != EFI_SUCCESS) {\r
return (FALSE);\r
}\r
+\r
return (TRUE);\r
}\r
\r
// using EFI Shell; call the function to check\r
//\r
if (mEfiShellEnvironment2 != NULL) {\r
- return (mEfiShellEnvironment2->GetExecutionBreak());\r
+ return (mEfiShellEnvironment2->GetExecutionBreak ());\r
}\r
\r
return (FALSE);\r
}\r
+\r
/**\r
return the value of an environment variable\r
\r
@retval NULL the named environment variable does not exist.\r
@return != NULL pointer to the value of the environment variable\r
**/\r
-CONST CHAR16*\r
+CONST CHAR16 *\r
EFIAPI\r
ShellGetEnvironmentVariable (\r
- IN CONST CHAR16 *EnvKey\r
+ IN CONST CHAR16 *EnvKey\r
)\r
{\r
//\r
// Check for UEFI Shell 2.0 protocols\r
//\r
if (gEfiShellProtocol != NULL) {\r
- return (gEfiShellProtocol->GetEnv(EnvKey));\r
+ return (gEfiShellProtocol->GetEnv (EnvKey));\r
}\r
\r
//\r
// Check for EFI shell\r
//\r
if (mEfiShellEnvironment2 != NULL) {\r
- return (mEfiShellEnvironment2->GetEnv((CHAR16*)EnvKey));\r
+ return (mEfiShellEnvironment2->GetEnv ((CHAR16 *)EnvKey));\r
}\r
\r
return NULL;\r
}\r
+\r
/**\r
set the value of an environment variable\r
\r
EFI_STATUS\r
EFIAPI\r
ShellSetEnvironmentVariable (\r
- IN CONST CHAR16 *EnvKey,\r
- IN CONST CHAR16 *EnvVal,\r
- IN BOOLEAN Volatile\r
+ IN CONST CHAR16 *EnvKey,\r
+ IN CONST CHAR16 *EnvVal,\r
+ IN BOOLEAN Volatile\r
)\r
{\r
//\r
// Check for UEFI Shell 2.0 protocols\r
//\r
if (gEfiShellProtocol != NULL) {\r
- return (gEfiShellProtocol->SetEnv(EnvKey, EnvVal, Volatile));\r
+ return (gEfiShellProtocol->SetEnv (EnvKey, EnvVal, Volatile));\r
}\r
\r
//\r
EFI_STATUS\r
EFIAPI\r
ShellExecute (\r
- IN EFI_HANDLE *ParentHandle,\r
- IN CHAR16 *CommandLine OPTIONAL,\r
- IN BOOLEAN Output OPTIONAL,\r
- IN CHAR16 **EnvironmentVariables OPTIONAL,\r
- OUT EFI_STATUS *Status OPTIONAL\r
+ IN EFI_HANDLE *ParentHandle,\r
+ IN CHAR16 *CommandLine OPTIONAL,\r
+ IN BOOLEAN Output OPTIONAL,\r
+ IN CHAR16 **EnvironmentVariables OPTIONAL,\r
+ OUT EFI_STATUS *Status OPTIONAL\r
)\r
{\r
- EFI_STATUS CmdStatus;\r
+ EFI_STATUS CmdStatus;\r
+\r
//\r
// Check for UEFI Shell 2.0 protocols\r
//\r
//\r
// Call UEFI Shell 2.0 version (not using Output parameter)\r
//\r
- return (gEfiShellProtocol->Execute(ParentHandle,\r
- CommandLine,\r
- EnvironmentVariables,\r
- Status));\r
+ return (gEfiShellProtocol->Execute (\r
+ ParentHandle,\r
+ CommandLine,\r
+ EnvironmentVariables,\r
+ Status\r
+ ));\r
}\r
\r
//\r
// SEnvDoExecute(), and\r
// - pass the resultant EFI_HANDLE as an (EFI_HANDLE*).\r
//\r
- CmdStatus = (mEfiShellEnvironment2->Execute((EFI_HANDLE *)*ParentHandle,\r
+ CmdStatus = (mEfiShellEnvironment2->Execute (\r
+ (EFI_HANDLE *)*ParentHandle,\r
CommandLine,\r
- Output));\r
+ Output\r
+ ));\r
//\r
// No Status output parameter so just use the returned status\r
//\r
if (Status != NULL) {\r
*Status = CmdStatus;\r
}\r
+\r
//\r
// If there was an error, we can't tell if it was from the command or from\r
// the Execute() function, so we'll just assume the shell ran successfully\r
@retval NULL the directory does not exist\r
@return != NULL the directory\r
**/\r
-CONST CHAR16*\r
+CONST CHAR16 *\r
EFIAPI\r
ShellGetCurrentDir (\r
- IN CHAR16 * CONST DeviceName OPTIONAL\r
+ IN CHAR16 *CONST DeviceName OPTIONAL\r
)\r
{\r
//\r
// Check for UEFI Shell 2.0 protocols\r
//\r
if (gEfiShellProtocol != NULL) {\r
- return (gEfiShellProtocol->GetCurDir(DeviceName));\r
+ return (gEfiShellProtocol->GetCurDir (DeviceName));\r
}\r
\r
//\r
// Check for EFI shell\r
//\r
if (mEfiShellEnvironment2 != NULL) {\r
- return (mEfiShellEnvironment2->CurDir(DeviceName));\r
+ return (mEfiShellEnvironment2->CurDir (DeviceName));\r
}\r
\r
return (NULL);\r
}\r
+\r
/**\r
sets (enabled or disabled) the page break mode\r
\r
VOID\r
EFIAPI\r
ShellSetPageBreakMode (\r
- IN BOOLEAN CurrentState\r
+ IN BOOLEAN CurrentState\r
)\r
{\r
//\r
//\r
// Enable with UEFI 2.0 Shell\r
//\r
- gEfiShellProtocol->EnablePageBreak();\r
+ gEfiShellProtocol->EnablePageBreak ();\r
return;\r
} else {\r
//\r
//\r
// Disable with UEFI 2.0 Shell\r
//\r
- gEfiShellProtocol->DisablePageBreak();\r
+ gEfiShellProtocol->DisablePageBreak ();\r
return;\r
} else {\r
//\r
/// This allows for the struct to be populated.\r
///\r
typedef struct {\r
- LIST_ENTRY Link;\r
- EFI_STATUS Status;\r
- CHAR16 *FullName;\r
- CHAR16 *FileName;\r
- SHELL_FILE_HANDLE Handle;\r
- EFI_FILE_INFO *Info;\r
+ LIST_ENTRY Link;\r
+ EFI_STATUS Status;\r
+ CHAR16 *FullName;\r
+ CHAR16 *FileName;\r
+ SHELL_FILE_HANDLE Handle;\r
+ EFI_FILE_INFO *Info;\r
} EFI_SHELL_FILE_INFO_NO_CONST;\r
\r
/**\r
\r
@retval the resultant head of the double linked new format list;\r
**/\r
-LIST_ENTRY*\r
+LIST_ENTRY *\r
InternalShellConvertFileListType (\r
- IN LIST_ENTRY *FileList,\r
- IN OUT LIST_ENTRY *ListHead\r
+ IN LIST_ENTRY *FileList,\r
+ IN OUT LIST_ENTRY *ListHead\r
)\r
{\r
SHELL_FILE_ARG *OldInfo;\r
//\r
// ASSERTs\r
//\r
- ASSERT(FileList != NULL);\r
- ASSERT(ListHead != NULL);\r
+ ASSERT (FileList != NULL);\r
+ ASSERT (ListHead != NULL);\r
\r
//\r
// enumerate through each member of the old list and copy\r
//\r
for (Link = FileList->ForwardLink; Link != FileList; Link = Link->ForwardLink) {\r
OldInfo = CR (Link, SHELL_FILE_ARG, Link, SHELL_FILE_ARG_SIGNATURE);\r
- ASSERT(OldInfo != NULL);\r
+ ASSERT (OldInfo != NULL);\r
\r
//\r
// Skip ones that failed to open...\r
//\r
// make sure the old list was valid\r
//\r
- ASSERT(OldInfo->Info != NULL);\r
- ASSERT(OldInfo->FullName != NULL);\r
- ASSERT(OldInfo->FileName != NULL);\r
+ ASSERT (OldInfo->Info != NULL);\r
+ ASSERT (OldInfo->FullName != NULL);\r
+ ASSERT (OldInfo->FileName != NULL);\r
\r
//\r
// allocate a new EFI_SHELL_FILE_INFO object\r
//\r
- NewInfo = AllocateZeroPool(sizeof(EFI_SHELL_FILE_INFO));\r
+ NewInfo = AllocateZeroPool (sizeof (EFI_SHELL_FILE_INFO));\r
if (NewInfo == NULL) {\r
- ShellCloseFileMetaArg((EFI_SHELL_FILE_INFO**)(&ListHead));\r
+ ShellCloseFileMetaArg ((EFI_SHELL_FILE_INFO **)(&ListHead));\r
ListHead = NULL;\r
break;\r
}\r
//\r
// copy the simple items\r
//\r
- NewInfo->Handle = OldInfo->Handle;\r
- NewInfo->Status = OldInfo->Status;\r
+ NewInfo->Handle = OldInfo->Handle;\r
+ NewInfo->Status = OldInfo->Status;\r
\r
// old shell checks for 0 not NULL\r
OldInfo->Handle = 0;\r
//\r
// allocate new space to copy strings and structure\r
//\r
- NewInfo->FullName = AllocateCopyPool(StrSize(OldInfo->FullName), OldInfo->FullName);\r
- NewInfo->FileName = AllocateCopyPool(StrSize(OldInfo->FileName), OldInfo->FileName);\r
- NewInfo->Info = AllocateCopyPool((UINTN)OldInfo->Info->Size, OldInfo->Info);\r
+ NewInfo->FullName = AllocateCopyPool (StrSize (OldInfo->FullName), OldInfo->FullName);\r
+ NewInfo->FileName = AllocateCopyPool (StrSize (OldInfo->FileName), OldInfo->FileName);\r
+ NewInfo->Info = AllocateCopyPool ((UINTN)OldInfo->Info->Size, OldInfo->Info);\r
\r
//\r
// make sure all the memory allocations were sucessful\r
//\r
- if (NULL == NewInfo->FullName || NewInfo->FileName == NULL || NewInfo->Info == NULL) {\r
+ if ((NULL == NewInfo->FullName) || (NewInfo->FileName == NULL) || (NewInfo->Info == NULL)) {\r
//\r
// Free the partially allocated new node\r
//\r
- SHELL_FREE_NON_NULL(NewInfo->FullName);\r
- SHELL_FREE_NON_NULL(NewInfo->FileName);\r
- SHELL_FREE_NON_NULL(NewInfo->Info);\r
- SHELL_FREE_NON_NULL(NewInfo);\r
+ SHELL_FREE_NON_NULL (NewInfo->FullName);\r
+ SHELL_FREE_NON_NULL (NewInfo->FileName);\r
+ SHELL_FREE_NON_NULL (NewInfo->Info);\r
+ SHELL_FREE_NON_NULL (NewInfo);\r
\r
//\r
// Free the previously converted stuff\r
//\r
- ShellCloseFileMetaArg((EFI_SHELL_FILE_INFO**)(&ListHead));\r
+ ShellCloseFileMetaArg ((EFI_SHELL_FILE_INFO **)(&ListHead));\r
ListHead = NULL;\r
break;\r
}\r
//\r
// add that to the list\r
//\r
- InsertTailList(ListHead, &NewInfo->Link);\r
+ InsertTailList (ListHead, &NewInfo->Link);\r
}\r
+\r
return (ListHead);\r
}\r
+\r
/**\r
Opens a group of files based on a path.\r
\r
EFI_STATUS\r
EFIAPI\r
ShellOpenFileMetaArg (\r
- IN CHAR16 *Arg,\r
- IN UINT64 OpenMode,\r
- IN OUT EFI_SHELL_FILE_INFO **ListHead\r
+ IN CHAR16 *Arg,\r
+ IN UINT64 OpenMode,\r
+ IN OUT EFI_SHELL_FILE_INFO **ListHead\r
)\r
{\r
- EFI_STATUS Status;\r
- LIST_ENTRY mOldStyleFileList;\r
- CHAR16 *CleanFilePathStr;\r
+ EFI_STATUS Status;\r
+ LIST_ENTRY mOldStyleFileList;\r
+ CHAR16 *CleanFilePathStr;\r
\r
//\r
// ASSERT that Arg and ListHead are not NULL\r
//\r
- ASSERT(Arg != NULL);\r
- ASSERT(ListHead != NULL);\r
+ ASSERT (Arg != NULL);\r
+ ASSERT (ListHead != NULL);\r
\r
CleanFilePathStr = NULL;\r
\r
//\r
if (gEfiShellProtocol != NULL) {\r
if (*ListHead == NULL) {\r
- *ListHead = (EFI_SHELL_FILE_INFO*)AllocateZeroPool(sizeof(EFI_SHELL_FILE_INFO));\r
+ *ListHead = (EFI_SHELL_FILE_INFO *)AllocateZeroPool (sizeof (EFI_SHELL_FILE_INFO));\r
if (*ListHead == NULL) {\r
- FreePool(CleanFilePathStr);\r
+ FreePool (CleanFilePathStr);\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- InitializeListHead(&((*ListHead)->Link));\r
+\r
+ InitializeListHead (&((*ListHead)->Link));\r
}\r
- Status = gEfiShellProtocol->OpenFileList(CleanFilePathStr,\r
- OpenMode,\r
- ListHead);\r
- if (EFI_ERROR(Status)) {\r
- gEfiShellProtocol->RemoveDupInFileList(ListHead);\r
+\r
+ Status = gEfiShellProtocol->OpenFileList (\r
+ CleanFilePathStr,\r
+ OpenMode,\r
+ ListHead\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ gEfiShellProtocol->RemoveDupInFileList (ListHead);\r
} else {\r
- Status = gEfiShellProtocol->RemoveDupInFileList(ListHead);\r
+ Status = gEfiShellProtocol->RemoveDupInFileList (ListHead);\r
}\r
- if (*ListHead != NULL && IsListEmpty(&(*ListHead)->Link)) {\r
- FreePool(*ListHead);\r
- FreePool(CleanFilePathStr);\r
+\r
+ if ((*ListHead != NULL) && IsListEmpty (&(*ListHead)->Link)) {\r
+ FreePool (*ListHead);\r
+ FreePool (CleanFilePathStr);\r
*ListHead = NULL;\r
return (EFI_NOT_FOUND);\r
}\r
- FreePool(CleanFilePathStr);\r
+\r
+ FreePool (CleanFilePathStr);\r
return (Status);\r
}\r
\r
//\r
// make sure the list head is initialized\r
//\r
- InitializeListHead(&mOldStyleFileList);\r
+ InitializeListHead (&mOldStyleFileList);\r
\r
//\r
// Get the EFI Shell list of files\r
//\r
- Status = mEfiShellEnvironment2->FileMetaArg(CleanFilePathStr, &mOldStyleFileList);\r
- if (EFI_ERROR(Status)) {\r
+ Status = mEfiShellEnvironment2->FileMetaArg (CleanFilePathStr, &mOldStyleFileList);\r
+ if (EFI_ERROR (Status)) {\r
*ListHead = NULL;\r
- FreePool(CleanFilePathStr);\r
+ FreePool (CleanFilePathStr);\r
return (Status);\r
}\r
\r
if (*ListHead == NULL) {\r
- *ListHead = (EFI_SHELL_FILE_INFO *)AllocateZeroPool(sizeof(EFI_SHELL_FILE_INFO));\r
+ *ListHead = (EFI_SHELL_FILE_INFO *)AllocateZeroPool (sizeof (EFI_SHELL_FILE_INFO));\r
if (*ListHead == NULL) {\r
- FreePool(CleanFilePathStr);\r
+ FreePool (CleanFilePathStr);\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- InitializeListHead(&((*ListHead)->Link));\r
+\r
+ InitializeListHead (&((*ListHead)->Link));\r
}\r
\r
//\r
// Convert that to equivalent of UEFI Shell 2.0 structure\r
//\r
- InternalShellConvertFileListType(&mOldStyleFileList, &(*ListHead)->Link);\r
+ InternalShellConvertFileListType (&mOldStyleFileList, &(*ListHead)->Link);\r
\r
//\r
// Free the EFI Shell version that was converted.\r
//\r
- mEfiShellEnvironment2->FreeFileList(&mOldStyleFileList);\r
+ mEfiShellEnvironment2->FreeFileList (&mOldStyleFileList);\r
\r
- if ((*ListHead)->Link.ForwardLink == (*ListHead)->Link.BackLink && (*ListHead)->Link.BackLink == &((*ListHead)->Link)) {\r
- FreePool(*ListHead);\r
+ if (((*ListHead)->Link.ForwardLink == (*ListHead)->Link.BackLink) && ((*ListHead)->Link.BackLink == &((*ListHead)->Link))) {\r
+ FreePool (*ListHead);\r
*ListHead = NULL;\r
- Status = EFI_NOT_FOUND;\r
+ Status = EFI_NOT_FOUND;\r
}\r
- FreePool(CleanFilePathStr);\r
+\r
+ FreePool (CleanFilePathStr);\r
return (Status);\r
}\r
\r
- FreePool(CleanFilePathStr);\r
+ FreePool (CleanFilePathStr);\r
return (EFI_UNSUPPORTED);\r
}\r
+\r
/**\r
Free the linked list returned from ShellOpenFileMetaArg.\r
\r
EFI_STATUS\r
EFIAPI\r
ShellCloseFileMetaArg (\r
- IN OUT EFI_SHELL_FILE_INFO **ListHead\r
+ IN OUT EFI_SHELL_FILE_INFO **ListHead\r
)\r
{\r
- LIST_ENTRY *Node;\r
+ LIST_ENTRY *Node;\r
\r
//\r
// ASSERT that ListHead is not NULL\r
//\r
- ASSERT(ListHead != NULL);\r
+ ASSERT (ListHead != NULL);\r
\r
//\r
// Check for UEFI Shell 2.0 protocols\r
//\r
if (gEfiShellProtocol != NULL) {\r
- return (gEfiShellProtocol->FreeFileList(ListHead));\r
+ return (gEfiShellProtocol->FreeFileList (ListHead));\r
} else if (mEfiShellEnvironment2 != NULL) {\r
//\r
// Since this is EFI Shell version we need to free our internally made copy\r
// of the list\r
//\r
- for ( Node = GetFirstNode(&(*ListHead)->Link)\r
- ; *ListHead != NULL && !IsListEmpty(&(*ListHead)->Link)\r
- ; Node = GetFirstNode(&(*ListHead)->Link)) {\r
- RemoveEntryList(Node);\r
- ((EFI_FILE_PROTOCOL*)((EFI_SHELL_FILE_INFO_NO_CONST*)Node)->Handle)->Close(((EFI_SHELL_FILE_INFO_NO_CONST*)Node)->Handle);\r
- FreePool(((EFI_SHELL_FILE_INFO_NO_CONST*)Node)->FullName);\r
- FreePool(((EFI_SHELL_FILE_INFO_NO_CONST*)Node)->FileName);\r
- FreePool(((EFI_SHELL_FILE_INFO_NO_CONST*)Node)->Info);\r
- FreePool((EFI_SHELL_FILE_INFO_NO_CONST*)Node);\r
+ for ( Node = GetFirstNode (&(*ListHead)->Link)\r
+ ; *ListHead != NULL && !IsListEmpty (&(*ListHead)->Link)\r
+ ; Node = GetFirstNode (&(*ListHead)->Link))\r
+ {\r
+ RemoveEntryList (Node);\r
+ ((EFI_FILE_PROTOCOL *)((EFI_SHELL_FILE_INFO_NO_CONST *)Node)->Handle)->Close (((EFI_SHELL_FILE_INFO_NO_CONST *)Node)->Handle);\r
+ FreePool (((EFI_SHELL_FILE_INFO_NO_CONST *)Node)->FullName);\r
+ FreePool (((EFI_SHELL_FILE_INFO_NO_CONST *)Node)->FileName);\r
+ FreePool (((EFI_SHELL_FILE_INFO_NO_CONST *)Node)->Info);\r
+ FreePool ((EFI_SHELL_FILE_INFO_NO_CONST *)Node);\r
}\r
- SHELL_FREE_NON_NULL(*ListHead);\r
+\r
+ SHELL_FREE_NON_NULL (*ListHead);\r
return EFI_SUCCESS;\r
}\r
\r
CHAR16 *\r
EFIAPI\r
ShellFindFilePath (\r
- IN CONST CHAR16 *FileName\r
+ IN CONST CHAR16 *FileName\r
)\r
{\r
- CONST CHAR16 *Path;\r
- SHELL_FILE_HANDLE Handle;\r
- EFI_STATUS Status;\r
- CHAR16 *RetVal;\r
- CHAR16 *TestPath;\r
- CONST CHAR16 *Walker;\r
- UINTN Size;\r
- CHAR16 *TempChar;\r
+ CONST CHAR16 *Path;\r
+ SHELL_FILE_HANDLE Handle;\r
+ EFI_STATUS Status;\r
+ CHAR16 *RetVal;\r
+ CHAR16 *TestPath;\r
+ CONST CHAR16 *Walker;\r
+ UINTN Size;\r
+ CHAR16 *TempChar;\r
\r
RetVal = NULL;\r
\r
//\r
// First make sure its not an absolute path.\r
//\r
- Status = ShellOpenFileByName(FileName, &Handle, EFI_FILE_MODE_READ, 0);\r
- if (!EFI_ERROR(Status)){\r
- if (FileHandleIsDirectory(Handle) != EFI_SUCCESS) {\r
- ASSERT(RetVal == NULL);\r
- RetVal = StrnCatGrow(&RetVal, NULL, FileName, 0);\r
- ShellCloseFile(&Handle);\r
+ Status = ShellOpenFileByName (FileName, &Handle, EFI_FILE_MODE_READ, 0);\r
+ if (!EFI_ERROR (Status)) {\r
+ if (FileHandleIsDirectory (Handle) != EFI_SUCCESS) {\r
+ ASSERT (RetVal == NULL);\r
+ RetVal = StrnCatGrow (&RetVal, NULL, FileName, 0);\r
+ ShellCloseFile (&Handle);\r
return (RetVal);\r
} else {\r
- ShellCloseFile(&Handle);\r
+ ShellCloseFile (&Handle);\r
}\r
}\r
\r
- Path = ShellGetEnvironmentVariable(L"cwd");\r
+ Path = ShellGetEnvironmentVariable (L"cwd");\r
if (Path != NULL) {\r
- Size = StrSize(Path) + sizeof(CHAR16);\r
- Size += StrSize(FileName);\r
- TestPath = AllocateZeroPool(Size);\r
+ Size = StrSize (Path) + sizeof (CHAR16);\r
+ Size += StrSize (FileName);\r
+ TestPath = AllocateZeroPool (Size);\r
if (TestPath == NULL) {\r
return (NULL);\r
}\r
- StrCpyS(TestPath, Size/sizeof(CHAR16), Path);\r
- StrCatS(TestPath, Size/sizeof(CHAR16), L"\\");\r
- StrCatS(TestPath, Size/sizeof(CHAR16), FileName);\r
- Status = ShellOpenFileByName(TestPath, &Handle, EFI_FILE_MODE_READ, 0);\r
- if (!EFI_ERROR(Status)){\r
- if (FileHandleIsDirectory(Handle) != EFI_SUCCESS) {\r
- ASSERT(RetVal == NULL);\r
- RetVal = StrnCatGrow(&RetVal, NULL, TestPath, 0);\r
- ShellCloseFile(&Handle);\r
- FreePool(TestPath);\r
+\r
+ StrCpyS (TestPath, Size/sizeof (CHAR16), Path);\r
+ StrCatS (TestPath, Size/sizeof (CHAR16), L"\\");\r
+ StrCatS (TestPath, Size/sizeof (CHAR16), FileName);\r
+ Status = ShellOpenFileByName (TestPath, &Handle, EFI_FILE_MODE_READ, 0);\r
+ if (!EFI_ERROR (Status)) {\r
+ if (FileHandleIsDirectory (Handle) != EFI_SUCCESS) {\r
+ ASSERT (RetVal == NULL);\r
+ RetVal = StrnCatGrow (&RetVal, NULL, TestPath, 0);\r
+ ShellCloseFile (&Handle);\r
+ FreePool (TestPath);\r
return (RetVal);\r
} else {\r
- ShellCloseFile(&Handle);\r
+ ShellCloseFile (&Handle);\r
}\r
}\r
- FreePool(TestPath);\r
+\r
+ FreePool (TestPath);\r
}\r
- Path = ShellGetEnvironmentVariable(L"path");\r
+\r
+ Path = ShellGetEnvironmentVariable (L"path");\r
if (Path != NULL) {\r
- Size = StrSize(Path)+sizeof(CHAR16);\r
- Size += StrSize(FileName);\r
- TestPath = AllocateZeroPool(Size);\r
+ Size = StrSize (Path)+sizeof (CHAR16);\r
+ Size += StrSize (FileName);\r
+ TestPath = AllocateZeroPool (Size);\r
if (TestPath == NULL) {\r
return (NULL);\r
}\r
- Walker = (CHAR16*)Path;\r
+\r
+ Walker = (CHAR16 *)Path;\r
do {\r
- CopyMem(TestPath, Walker, StrSize(Walker));\r
+ CopyMem (TestPath, Walker, StrSize (Walker));\r
if (TestPath != NULL) {\r
- TempChar = StrStr(TestPath, L";");\r
+ TempChar = StrStr (TestPath, L";");\r
if (TempChar != NULL) {\r
*TempChar = CHAR_NULL;\r
}\r
- if (TestPath[StrLen(TestPath)-1] != L'\\') {\r
- StrCatS(TestPath, Size/sizeof(CHAR16), L"\\");\r
+\r
+ if (TestPath[StrLen (TestPath)-1] != L'\\') {\r
+ StrCatS (TestPath, Size/sizeof (CHAR16), L"\\");\r
}\r
+\r
if (FileName[0] == L'\\') {\r
FileName++;\r
}\r
- StrCatS(TestPath, Size/sizeof(CHAR16), FileName);\r
- if (StrStr(Walker, L";") != NULL) {\r
- Walker = StrStr(Walker, L";") + 1;\r
+\r
+ StrCatS (TestPath, Size/sizeof (CHAR16), FileName);\r
+ if (StrStr (Walker, L";") != NULL) {\r
+ Walker = StrStr (Walker, L";") + 1;\r
} else {\r
Walker = NULL;\r
}\r
- Status = ShellOpenFileByName(TestPath, &Handle, EFI_FILE_MODE_READ, 0);\r
- if (!EFI_ERROR(Status)){\r
- if (FileHandleIsDirectory(Handle) != EFI_SUCCESS) {\r
- ASSERT(RetVal == NULL);\r
- RetVal = StrnCatGrow(&RetVal, NULL, TestPath, 0);\r
- ShellCloseFile(&Handle);\r
+\r
+ Status = ShellOpenFileByName (TestPath, &Handle, EFI_FILE_MODE_READ, 0);\r
+ if (!EFI_ERROR (Status)) {\r
+ if (FileHandleIsDirectory (Handle) != EFI_SUCCESS) {\r
+ ASSERT (RetVal == NULL);\r
+ RetVal = StrnCatGrow (&RetVal, NULL, TestPath, 0);\r
+ ShellCloseFile (&Handle);\r
break;\r
} else {\r
- ShellCloseFile(&Handle);\r
+ ShellCloseFile (&Handle);\r
}\r
}\r
}\r
} while (Walker != NULL && Walker[0] != CHAR_NULL);\r
- FreePool(TestPath);\r
+\r
+ FreePool (TestPath);\r
}\r
+\r
return (RetVal);\r
}\r
\r
CHAR16 *\r
EFIAPI\r
ShellFindFilePathEx (\r
- IN CONST CHAR16 *FileName,\r
- IN CONST CHAR16 *FileExtension\r
+ IN CONST CHAR16 *FileName,\r
+ IN CONST CHAR16 *FileExtension\r
)\r
{\r
- CHAR16 *TestPath;\r
- CHAR16 *RetVal;\r
- CONST CHAR16 *ExtensionWalker;\r
- UINTN Size;\r
- CHAR16 *TempChar;\r
- CHAR16 *TempChar2;\r
-\r
- ASSERT(FileName != NULL);\r
+ CHAR16 *TestPath;\r
+ CHAR16 *RetVal;\r
+ CONST CHAR16 *ExtensionWalker;\r
+ UINTN Size;\r
+ CHAR16 *TempChar;\r
+ CHAR16 *TempChar2;\r
+\r
+ ASSERT (FileName != NULL);\r
if (FileExtension == NULL) {\r
- return (ShellFindFilePath(FileName));\r
+ return (ShellFindFilePath (FileName));\r
}\r
- RetVal = ShellFindFilePath(FileName);\r
+\r
+ RetVal = ShellFindFilePath (FileName);\r
if (RetVal != NULL) {\r
return (RetVal);\r
}\r
- Size = StrSize(FileName);\r
- Size += StrSize(FileExtension);\r
- TestPath = AllocateZeroPool(Size);\r
+\r
+ Size = StrSize (FileName);\r
+ Size += StrSize (FileExtension);\r
+ TestPath = AllocateZeroPool (Size);\r
if (TestPath == NULL) {\r
return (NULL);\r
}\r
- for (ExtensionWalker = FileExtension, TempChar2 = (CHAR16*)FileExtension; TempChar2 != NULL ; ExtensionWalker = TempChar2 + 1){\r
- StrCpyS(TestPath, Size/sizeof(CHAR16), FileName);\r
+\r
+ for (ExtensionWalker = FileExtension, TempChar2 = (CHAR16 *)FileExtension; TempChar2 != NULL; ExtensionWalker = TempChar2 + 1) {\r
+ StrCpyS (TestPath, Size/sizeof (CHAR16), FileName);\r
if (ExtensionWalker != NULL) {\r
- StrCatS(TestPath, Size/sizeof(CHAR16), ExtensionWalker);\r
+ StrCatS (TestPath, Size/sizeof (CHAR16), ExtensionWalker);\r
}\r
- TempChar = StrStr(TestPath, L";");\r
+\r
+ TempChar = StrStr (TestPath, L";");\r
if (TempChar != NULL) {\r
*TempChar = CHAR_NULL;\r
}\r
- RetVal = ShellFindFilePath(TestPath);\r
+\r
+ RetVal = ShellFindFilePath (TestPath);\r
if (RetVal != NULL) {\r
break;\r
}\r
- ASSERT(ExtensionWalker != NULL);\r
- TempChar2 = StrStr(ExtensionWalker, L";");\r
+\r
+ ASSERT (ExtensionWalker != NULL);\r
+ TempChar2 = StrStr (ExtensionWalker, L";");\r
}\r
- FreePool(TestPath);\r
+\r
+ FreePool (TestPath);\r
return (RetVal);\r
}\r
\r
typedef struct {\r
- LIST_ENTRY Link;\r
- CHAR16 *Name;\r
- SHELL_PARAM_TYPE Type;\r
- CHAR16 *Value;\r
- UINTN OriginalPosition;\r
+ LIST_ENTRY Link;\r
+ CHAR16 *Name;\r
+ SHELL_PARAM_TYPE Type;\r
+ CHAR16 *Value;\r
+ UINTN OriginalPosition;\r
} SHELL_PARAM_PACKAGE;\r
\r
/**\r
**/\r
BOOLEAN\r
InternalIsOnCheckList (\r
- IN CONST CHAR16 *Name,\r
- IN CONST SHELL_PARAM_ITEM *CheckList,\r
- OUT SHELL_PARAM_TYPE *Type\r
+ IN CONST CHAR16 *Name,\r
+ IN CONST SHELL_PARAM_ITEM *CheckList,\r
+ OUT SHELL_PARAM_TYPE *Type\r
)\r
{\r
- SHELL_PARAM_ITEM *TempListItem;\r
- CHAR16 *TempString;\r
+ SHELL_PARAM_ITEM *TempListItem;\r
+ CHAR16 *TempString;\r
\r
//\r
// ASSERT that all 3 pointer parameters aren't NULL\r
//\r
- ASSERT(CheckList != NULL);\r
- ASSERT(Type != NULL);\r
- ASSERT(Name != NULL);\r
+ ASSERT (CheckList != NULL);\r
+ ASSERT (Type != NULL);\r
+ ASSERT (Name != NULL);\r
\r
//\r
// question mark and page break mode are always supported\r
//\r
- if ((StrCmp(Name, L"-?") == 0) ||\r
- (StrCmp(Name, L"-b") == 0)\r
- ) {\r
- *Type = TypeFlag;\r
- return (TRUE);\r
+ if ((StrCmp (Name, L"-?") == 0) ||\r
+ (StrCmp (Name, L"-b") == 0)\r
+ )\r
+ {\r
+ *Type = TypeFlag;\r
+ return (TRUE);\r
}\r
\r
//\r
// Enumerate through the list\r
//\r
- for (TempListItem = (SHELL_PARAM_ITEM*)CheckList ; TempListItem->Name != NULL ; TempListItem++) {\r
+ for (TempListItem = (SHELL_PARAM_ITEM *)CheckList; TempListItem->Name != NULL; TempListItem++) {\r
//\r
// If the Type is TypeStart only check the first characters of the passed in param\r
// If it matches set the type and return TRUE\r
//\r
if (TempListItem->Type == TypeStart) {\r
- if (StrnCmp(Name, TempListItem->Name, StrLen(TempListItem->Name)) == 0) {\r
+ if (StrnCmp (Name, TempListItem->Name, StrLen (TempListItem->Name)) == 0) {\r
*Type = TempListItem->Type;\r
return (TRUE);\r
}\r
+\r
TempString = NULL;\r
- TempString = StrnCatGrow(&TempString, NULL, Name, StrLen(TempListItem->Name));\r
+ TempString = StrnCatGrow (&TempString, NULL, Name, StrLen (TempListItem->Name));\r
if (TempString != NULL) {\r
- if (StringNoCaseCompare(&TempString, &TempListItem->Name) == 0) {\r
+ if (StringNoCaseCompare (&TempString, &TempListItem->Name) == 0) {\r
*Type = TempListItem->Type;\r
- FreePool(TempString);\r
+ FreePool (TempString);\r
return (TRUE);\r
}\r
- FreePool(TempString);\r
+\r
+ FreePool (TempString);\r
}\r
- } else if (StringNoCaseCompare(&Name, &TempListItem->Name) == 0) {\r
+ } else if (StringNoCaseCompare (&Name, &TempListItem->Name) == 0) {\r
*Type = TempListItem->Type;\r
return (TRUE);\r
}\r
\r
return (FALSE);\r
}\r
+\r
/**\r
Checks the string for indicators of "flag" status. this is a leading '/', '-', or '+'\r
\r
**/\r
BOOLEAN\r
InternalIsFlag (\r
- IN CONST CHAR16 *Name,\r
- IN CONST BOOLEAN AlwaysAllowNumbers,\r
- IN CONST BOOLEAN TimeNumbers\r
+ IN CONST CHAR16 *Name,\r
+ IN CONST BOOLEAN AlwaysAllowNumbers,\r
+ IN CONST BOOLEAN TimeNumbers\r
)\r
{\r
//\r
// ASSERT that Name isn't NULL\r
//\r
- ASSERT(Name != NULL);\r
+ ASSERT (Name != NULL);\r
\r
//\r
// If we accept numbers then dont return TRUE. (they will be values)\r
//\r
- if (((Name[0] == L'-' || Name[0] == L'+') && InternalShellIsHexOrDecimalNumber(Name+1, FALSE, FALSE, TimeNumbers)) && AlwaysAllowNumbers) {\r
+ if ((((Name[0] == L'-') || (Name[0] == L'+')) && InternalShellIsHexOrDecimalNumber (Name+1, FALSE, FALSE, TimeNumbers)) && AlwaysAllowNumbers) {\r
return (FALSE);\r
}\r
\r
if ((Name[0] == L'/') ||\r
(Name[0] == L'-') ||\r
(Name[0] == L'+')\r
- ) {\r
- return (TRUE);\r
+ )\r
+ {\r
+ return (TRUE);\r
}\r
+\r
return (FALSE);\r
}\r
\r
**/\r
EFI_STATUS\r
InternalCommandLineParse (\r
- IN CONST SHELL_PARAM_ITEM *CheckList,\r
- OUT LIST_ENTRY **CheckPackage,\r
- OUT CHAR16 **ProblemParam OPTIONAL,\r
- IN BOOLEAN AutoPageBreak,\r
- IN CONST CHAR16 **Argv,\r
- IN UINTN Argc,\r
- IN BOOLEAN AlwaysAllowNumbers\r
+ IN CONST SHELL_PARAM_ITEM *CheckList,\r
+ OUT LIST_ENTRY **CheckPackage,\r
+ OUT CHAR16 **ProblemParam OPTIONAL,\r
+ IN BOOLEAN AutoPageBreak,\r
+ IN CONST CHAR16 **Argv,\r
+ IN UINTN Argc,\r
+ IN BOOLEAN AlwaysAllowNumbers\r
)\r
{\r
- UINTN LoopCounter;\r
- SHELL_PARAM_TYPE CurrentItemType;\r
- SHELL_PARAM_PACKAGE *CurrentItemPackage;\r
- UINTN GetItemValue;\r
- UINTN ValueSize;\r
- UINTN Count;\r
- CONST CHAR16 *TempPointer;\r
- UINTN CurrentValueSize;\r
- CHAR16 *NewValue;\r
+ UINTN LoopCounter;\r
+ SHELL_PARAM_TYPE CurrentItemType;\r
+ SHELL_PARAM_PACKAGE *CurrentItemPackage;\r
+ UINTN GetItemValue;\r
+ UINTN ValueSize;\r
+ UINTN Count;\r
+ CONST CHAR16 *TempPointer;\r
+ UINTN CurrentValueSize;\r
+ CHAR16 *NewValue;\r
\r
CurrentItemPackage = NULL;\r
- GetItemValue = 0;\r
- ValueSize = 0;\r
- Count = 0;\r
+ GetItemValue = 0;\r
+ ValueSize = 0;\r
+ Count = 0;\r
\r
//\r
// If there is only 1 item we dont need to do anything\r
//\r
// ASSERTs\r
//\r
- ASSERT(CheckList != NULL);\r
- ASSERT(Argv != NULL);\r
+ ASSERT (CheckList != NULL);\r
+ ASSERT (Argv != NULL);\r
\r
//\r
// initialize the linked list\r
//\r
- *CheckPackage = (LIST_ENTRY*)AllocateZeroPool(sizeof(LIST_ENTRY));\r
+ *CheckPackage = (LIST_ENTRY *)AllocateZeroPool (sizeof (LIST_ENTRY));\r
if (*CheckPackage == NULL) {\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
\r
- InitializeListHead(*CheckPackage);\r
+ InitializeListHead (*CheckPackage);\r
\r
//\r
// loop through each of the arguments\r
//\r
- for (LoopCounter = 0 ; LoopCounter < Argc ; ++LoopCounter) {\r
+ for (LoopCounter = 0; LoopCounter < Argc; ++LoopCounter) {\r
if (Argv[LoopCounter] == NULL) {\r
//\r
// do nothing for NULL argv\r
//\r
- } else if (InternalIsOnCheckList(Argv[LoopCounter], CheckList, &CurrentItemType)) {\r
+ } else if (InternalIsOnCheckList (Argv[LoopCounter], CheckList, &CurrentItemType)) {\r
//\r
// We might have leftover if last parameter didnt have optional value\r
//\r
if (GetItemValue != 0) {\r
GetItemValue = 0;\r
- InsertHeadList(*CheckPackage, &CurrentItemPackage->Link);\r
+ InsertHeadList (*CheckPackage, &CurrentItemPackage->Link);\r
}\r
+\r
//\r
// this is a flag\r
//\r
- CurrentItemPackage = AllocateZeroPool(sizeof(SHELL_PARAM_PACKAGE));\r
+ CurrentItemPackage = AllocateZeroPool (sizeof (SHELL_PARAM_PACKAGE));\r
if (CurrentItemPackage == NULL) {\r
- ShellCommandLineFreeVarList(*CheckPackage);\r
+ ShellCommandLineFreeVarList (*CheckPackage);\r
*CheckPackage = NULL;\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- CurrentItemPackage->Name = AllocateCopyPool(StrSize(Argv[LoopCounter]), Argv[LoopCounter]);\r
+\r
+ CurrentItemPackage->Name = AllocateCopyPool (StrSize (Argv[LoopCounter]), Argv[LoopCounter]);\r
if (CurrentItemPackage->Name == NULL) {\r
- ShellCommandLineFreeVarList(*CheckPackage);\r
+ ShellCommandLineFreeVarList (*CheckPackage);\r
*CheckPackage = NULL;\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- CurrentItemPackage->Type = CurrentItemType;\r
+\r
+ CurrentItemPackage->Type = CurrentItemType;\r
CurrentItemPackage->OriginalPosition = (UINTN)(-1);\r
- CurrentItemPackage->Value = NULL;\r
+ CurrentItemPackage->Value = NULL;\r
\r
//\r
// Does this flag require a value\r
case TypeValue:\r
case TypeTimeValue:\r
GetItemValue = 1;\r
- ValueSize = 0;\r
+ ValueSize = 0;\r
break;\r
case TypeDoubleValue:\r
GetItemValue = 2;\r
- ValueSize = 0;\r
+ ValueSize = 0;\r
break;\r
case TypeMaxValue:\r
GetItemValue = (UINTN)(-1);\r
- ValueSize = 0;\r
+ ValueSize = 0;\r
break;\r
default:\r
//\r
// this item has no value expected; we are done\r
//\r
- InsertHeadList(*CheckPackage, &CurrentItemPackage->Link);\r
- ASSERT(GetItemValue == 0);\r
+ InsertHeadList (*CheckPackage, &CurrentItemPackage->Link);\r
+ ASSERT (GetItemValue == 0);\r
break;\r
}\r
- } else if (GetItemValue != 0 && CurrentItemPackage != NULL && !InternalIsFlag(Argv[LoopCounter], AlwaysAllowNumbers, (BOOLEAN)(CurrentItemPackage->Type == TypeTimeValue))) {\r
+ } else if ((GetItemValue != 0) && (CurrentItemPackage != NULL) && !InternalIsFlag (Argv[LoopCounter], AlwaysAllowNumbers, (BOOLEAN)(CurrentItemPackage->Type == TypeTimeValue))) {\r
//\r
// get the item VALUE for a previous flag\r
//\r
- CurrentValueSize = ValueSize + StrSize(Argv[LoopCounter]) + sizeof(CHAR16);\r
- NewValue = ReallocatePool(ValueSize, CurrentValueSize, CurrentItemPackage->Value);\r
+ CurrentValueSize = ValueSize + StrSize (Argv[LoopCounter]) + sizeof (CHAR16);\r
+ NewValue = ReallocatePool (ValueSize, CurrentValueSize, CurrentItemPackage->Value);\r
if (NewValue == NULL) {\r
SHELL_FREE_NON_NULL (CurrentItemPackage->Value);\r
SHELL_FREE_NON_NULL (CurrentItemPackage);\r
*CheckPackage = NULL;\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
CurrentItemPackage->Value = NewValue;\r
if (ValueSize == 0) {\r
- StrCpyS( CurrentItemPackage->Value,\r
- CurrentValueSize/sizeof(CHAR16),\r
- Argv[LoopCounter]\r
- );\r
+ StrCpyS (\r
+ CurrentItemPackage->Value,\r
+ CurrentValueSize/sizeof (CHAR16),\r
+ Argv[LoopCounter]\r
+ );\r
} else {\r
- StrCatS( CurrentItemPackage->Value,\r
- CurrentValueSize/sizeof(CHAR16),\r
- L" "\r
- );\r
- StrCatS( CurrentItemPackage->Value,\r
- CurrentValueSize/sizeof(CHAR16),\r
- Argv[LoopCounter]\r
- );\r
+ StrCatS (\r
+ CurrentItemPackage->Value,\r
+ CurrentValueSize/sizeof (CHAR16),\r
+ L" "\r
+ );\r
+ StrCatS (\r
+ CurrentItemPackage->Value,\r
+ CurrentValueSize/sizeof (CHAR16),\r
+ Argv[LoopCounter]\r
+ );\r
}\r
- ValueSize += StrSize(Argv[LoopCounter]) + sizeof(CHAR16);\r
+\r
+ ValueSize += StrSize (Argv[LoopCounter]) + sizeof (CHAR16);\r
\r
GetItemValue--;\r
if (GetItemValue == 0) {\r
- InsertHeadList(*CheckPackage, &CurrentItemPackage->Link);\r
+ InsertHeadList (*CheckPackage, &CurrentItemPackage->Link);\r
}\r
- } else if (!InternalIsFlag(Argv[LoopCounter], AlwaysAllowNumbers, FALSE)){\r
+ } else if (!InternalIsFlag (Argv[LoopCounter], AlwaysAllowNumbers, FALSE)) {\r
//\r
// add this one as a non-flag\r
//\r
\r
TempPointer = Argv[LoopCounter];\r
- if ((*TempPointer == L'^' && *(TempPointer+1) == L'-')\r
- || (*TempPointer == L'^' && *(TempPointer+1) == L'/')\r
- || (*TempPointer == L'^' && *(TempPointer+1) == L'+')\r
- ){\r
+ if ( ((*TempPointer == L'^') && (*(TempPointer+1) == L'-'))\r
+ || ((*TempPointer == L'^') && (*(TempPointer+1) == L'/'))\r
+ || ((*TempPointer == L'^') && (*(TempPointer+1) == L'+'))\r
+ )\r
+ {\r
TempPointer++;\r
}\r
- CurrentItemPackage = AllocateZeroPool(sizeof(SHELL_PARAM_PACKAGE));\r
+\r
+ CurrentItemPackage = AllocateZeroPool (sizeof (SHELL_PARAM_PACKAGE));\r
if (CurrentItemPackage == NULL) {\r
- ShellCommandLineFreeVarList(*CheckPackage);\r
+ ShellCommandLineFreeVarList (*CheckPackage);\r
*CheckPackage = NULL;\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
+\r
CurrentItemPackage->Name = NULL;\r
CurrentItemPackage->Type = TypePosition;\r
- CurrentItemPackage->Value = AllocateCopyPool(StrSize(TempPointer), TempPointer);\r
+ CurrentItemPackage->Value = AllocateCopyPool (StrSize (TempPointer), TempPointer);\r
if (CurrentItemPackage->Value == NULL) {\r
- ShellCommandLineFreeVarList(*CheckPackage);\r
+ ShellCommandLineFreeVarList (*CheckPackage);\r
*CheckPackage = NULL;\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
+\r
CurrentItemPackage->OriginalPosition = Count++;\r
- InsertHeadList(*CheckPackage, &CurrentItemPackage->Link);\r
+ InsertHeadList (*CheckPackage, &CurrentItemPackage->Link);\r
} else {\r
//\r
// this was a non-recognised flag... error!\r
//\r
if (ProblemParam != NULL) {\r
- *ProblemParam = AllocateCopyPool(StrSize(Argv[LoopCounter]), Argv[LoopCounter]);\r
+ *ProblemParam = AllocateCopyPool (StrSize (Argv[LoopCounter]), Argv[LoopCounter]);\r
}\r
- ShellCommandLineFreeVarList(*CheckPackage);\r
+\r
+ ShellCommandLineFreeVarList (*CheckPackage);\r
*CheckPackage = NULL;\r
return (EFI_VOLUME_CORRUPTED);\r
}\r
}\r
+\r
if (GetItemValue != 0) {\r
GetItemValue = 0;\r
- InsertHeadList(*CheckPackage, &CurrentItemPackage->Link);\r
+ InsertHeadList (*CheckPackage, &CurrentItemPackage->Link);\r
}\r
+\r
//\r
// support for AutoPageBreak\r
//\r
- if (AutoPageBreak && ShellCommandLineGetFlag(*CheckPackage, L"-b")) {\r
- ShellSetPageBreakMode(TRUE);\r
+ if (AutoPageBreak && ShellCommandLineGetFlag (*CheckPackage, L"-b")) {\r
+ ShellSetPageBreakMode (TRUE);\r
}\r
+\r
return (EFI_SUCCESS);\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
ShellCommandLineParseEx (\r
- IN CONST SHELL_PARAM_ITEM *CheckList,\r
- OUT LIST_ENTRY **CheckPackage,\r
- OUT CHAR16 **ProblemParam OPTIONAL,\r
- IN BOOLEAN AutoPageBreak,\r
- IN BOOLEAN AlwaysAllowNumbers\r
+ IN CONST SHELL_PARAM_ITEM *CheckList,\r
+ OUT LIST_ENTRY **CheckPackage,\r
+ OUT CHAR16 **ProblemParam OPTIONAL,\r
+ IN BOOLEAN AutoPageBreak,\r
+ IN BOOLEAN AlwaysAllowNumbers\r
)\r
{\r
//\r
// ASSERT that CheckList and CheckPackage aren't NULL\r
//\r
- ASSERT(CheckList != NULL);\r
- ASSERT(CheckPackage != NULL);\r
+ ASSERT (CheckList != NULL);\r
+ ASSERT (CheckPackage != NULL);\r
\r
//\r
// Check for UEFI Shell 2.0 protocols\r
//\r
if (gEfiShellParametersProtocol != NULL) {\r
- return (InternalCommandLineParse(CheckList,\r
- CheckPackage,\r
- ProblemParam,\r
- AutoPageBreak,\r
- (CONST CHAR16**) gEfiShellParametersProtocol->Argv,\r
- gEfiShellParametersProtocol->Argc,\r
- AlwaysAllowNumbers));\r
+ return (InternalCommandLineParse (\r
+ CheckList,\r
+ CheckPackage,\r
+ ProblemParam,\r
+ AutoPageBreak,\r
+ (CONST CHAR16 **)gEfiShellParametersProtocol->Argv,\r
+ gEfiShellParametersProtocol->Argc,\r
+ AlwaysAllowNumbers\r
+ ));\r
}\r
\r
//\r
// ASSERT That EFI Shell is not required\r
//\r
ASSERT (mEfiShellInterface != NULL);\r
- return (InternalCommandLineParse(CheckList,\r
- CheckPackage,\r
- ProblemParam,\r
- AutoPageBreak,\r
- (CONST CHAR16**) mEfiShellInterface->Argv,\r
- mEfiShellInterface->Argc,\r
- AlwaysAllowNumbers));\r
+ return (InternalCommandLineParse (\r
+ CheckList,\r
+ CheckPackage,\r
+ ProblemParam,\r
+ AutoPageBreak,\r
+ (CONST CHAR16 **)mEfiShellInterface->Argv,\r
+ mEfiShellInterface->Argc,\r
+ AlwaysAllowNumbers\r
+ ));\r
}\r
\r
/**\r
VOID\r
EFIAPI\r
ShellCommandLineFreeVarList (\r
- IN LIST_ENTRY *CheckPackage\r
+ IN LIST_ENTRY *CheckPackage\r
)\r
{\r
- LIST_ENTRY *Node;\r
+ LIST_ENTRY *Node;\r
\r
//\r
// check for CheckPackage == NULL\r
//\r
// for each node in the list\r
//\r
- for ( Node = GetFirstNode(CheckPackage)\r
- ; !IsListEmpty(CheckPackage)\r
- ; Node = GetFirstNode(CheckPackage)\r
- ){\r
+ for ( Node = GetFirstNode (CheckPackage)\r
+ ; !IsListEmpty (CheckPackage)\r
+ ; Node = GetFirstNode (CheckPackage)\r
+ )\r
+ {\r
//\r
// Remove it from the list\r
//\r
- RemoveEntryList(Node);\r
+ RemoveEntryList (Node);\r
\r
//\r
// if it has a name free the name\r
//\r
- if (((SHELL_PARAM_PACKAGE*)Node)->Name != NULL) {\r
- FreePool(((SHELL_PARAM_PACKAGE*)Node)->Name);\r
+ if (((SHELL_PARAM_PACKAGE *)Node)->Name != NULL) {\r
+ FreePool (((SHELL_PARAM_PACKAGE *)Node)->Name);\r
}\r
\r
//\r
// if it has a value free the value\r
//\r
- if (((SHELL_PARAM_PACKAGE*)Node)->Value != NULL) {\r
- FreePool(((SHELL_PARAM_PACKAGE*)Node)->Value);\r
+ if (((SHELL_PARAM_PACKAGE *)Node)->Value != NULL) {\r
+ FreePool (((SHELL_PARAM_PACKAGE *)Node)->Value);\r
}\r
\r
//\r
// free the node structure\r
//\r
- FreePool((SHELL_PARAM_PACKAGE*)Node);\r
+ FreePool ((SHELL_PARAM_PACKAGE *)Node);\r
}\r
+\r
//\r
// free the list head node\r
//\r
- FreePool(CheckPackage);\r
+ FreePool (CheckPackage);\r
}\r
+\r
/**\r
Checks for presence of a flag parameter\r
\r
BOOLEAN\r
EFIAPI\r
ShellCommandLineGetFlag (\r
- IN CONST LIST_ENTRY * CONST CheckPackage,\r
- IN CONST CHAR16 * CONST KeyString\r
+ IN CONST LIST_ENTRY *CONST CheckPackage,\r
+ IN CONST CHAR16 *CONST KeyString\r
)\r
{\r
- LIST_ENTRY *Node;\r
- CHAR16 *TempString;\r
+ LIST_ENTRY *Node;\r
+ CHAR16 *TempString;\r
\r
//\r
// return FALSE for no package or KeyString is NULL\r
//\r
- if (CheckPackage == NULL || KeyString == NULL) {\r
+ if ((CheckPackage == NULL) || (KeyString == NULL)) {\r
return (FALSE);\r
}\r
\r
//\r
// enumerate through the list of parametrs\r
//\r
- for ( Node = GetFirstNode(CheckPackage)\r
- ; !IsNull (CheckPackage, Node)\r
- ; Node = GetNextNode(CheckPackage, Node)\r
- ){\r
+ for ( Node = GetFirstNode (CheckPackage)\r
+ ; !IsNull (CheckPackage, Node)\r
+ ; Node = GetNextNode (CheckPackage, Node)\r
+ )\r
+ {\r
//\r
// If the Name matches, return TRUE (and there may be NULL name)\r
//\r
- if (((SHELL_PARAM_PACKAGE*)Node)->Name != NULL) {\r
+ if (((SHELL_PARAM_PACKAGE *)Node)->Name != NULL) {\r
//\r
// If Type is TypeStart then only compare the begining of the strings\r
//\r
- if (((SHELL_PARAM_PACKAGE*)Node)->Type == TypeStart) {\r
- if (StrnCmp(KeyString, ((SHELL_PARAM_PACKAGE*)Node)->Name, StrLen(KeyString)) == 0) {\r
+ if (((SHELL_PARAM_PACKAGE *)Node)->Type == TypeStart) {\r
+ if (StrnCmp (KeyString, ((SHELL_PARAM_PACKAGE *)Node)->Name, StrLen (KeyString)) == 0) {\r
return (TRUE);\r
}\r
+\r
TempString = NULL;\r
- TempString = StrnCatGrow(&TempString, NULL, KeyString, StrLen(((SHELL_PARAM_PACKAGE*)Node)->Name));\r
+ TempString = StrnCatGrow (&TempString, NULL, KeyString, StrLen (((SHELL_PARAM_PACKAGE *)Node)->Name));\r
if (TempString != NULL) {\r
- if (StringNoCaseCompare(&KeyString, &((SHELL_PARAM_PACKAGE*)Node)->Name) == 0) {\r
- FreePool(TempString);\r
+ if (StringNoCaseCompare (&KeyString, &((SHELL_PARAM_PACKAGE *)Node)->Name) == 0) {\r
+ FreePool (TempString);\r
return (TRUE);\r
}\r
- FreePool(TempString);\r
+\r
+ FreePool (TempString);\r
}\r
- } else if (StringNoCaseCompare(&KeyString, &((SHELL_PARAM_PACKAGE*)Node)->Name) == 0) {\r
+ } else if (StringNoCaseCompare (&KeyString, &((SHELL_PARAM_PACKAGE *)Node)->Name) == 0) {\r
return (TRUE);\r
}\r
}\r
}\r
+\r
return (FALSE);\r
}\r
+\r
/**\r
Returns value from command line argument.\r
\r
@retval NULL The flag is not on the command line.\r
@retval !=NULL The pointer to unicode string of the value.\r
**/\r
-CONST CHAR16*\r
+CONST CHAR16 *\r
EFIAPI\r
ShellCommandLineGetValue (\r
- IN CONST LIST_ENTRY *CheckPackage,\r
- IN CHAR16 *KeyString\r
+ IN CONST LIST_ENTRY *CheckPackage,\r
+ IN CHAR16 *KeyString\r
)\r
{\r
- LIST_ENTRY *Node;\r
- CHAR16 *TempString;\r
+ LIST_ENTRY *Node;\r
+ CHAR16 *TempString;\r
\r
//\r
// return NULL for no package or KeyString is NULL\r
//\r
- if (CheckPackage == NULL || KeyString == NULL) {\r
+ if ((CheckPackage == NULL) || (KeyString == NULL)) {\r
return (NULL);\r
}\r
\r
//\r
// enumerate through the list of parametrs\r
//\r
- for ( Node = GetFirstNode(CheckPackage)\r
- ; !IsNull (CheckPackage, Node)\r
- ; Node = GetNextNode(CheckPackage, Node)\r
- ){\r
+ for ( Node = GetFirstNode (CheckPackage)\r
+ ; !IsNull (CheckPackage, Node)\r
+ ; Node = GetNextNode (CheckPackage, Node)\r
+ )\r
+ {\r
//\r
// If the Name matches, return TRUE (and there may be NULL name)\r
//\r
- if (((SHELL_PARAM_PACKAGE*)Node)->Name != NULL) {\r
+ if (((SHELL_PARAM_PACKAGE *)Node)->Name != NULL) {\r
//\r
// If Type is TypeStart then only compare the begining of the strings\r
//\r
- if (((SHELL_PARAM_PACKAGE*)Node)->Type == TypeStart) {\r
- if (StrnCmp(KeyString, ((SHELL_PARAM_PACKAGE*)Node)->Name, StrLen(KeyString)) == 0) {\r
- return (((SHELL_PARAM_PACKAGE*)Node)->Name + StrLen(KeyString));\r
+ if (((SHELL_PARAM_PACKAGE *)Node)->Type == TypeStart) {\r
+ if (StrnCmp (KeyString, ((SHELL_PARAM_PACKAGE *)Node)->Name, StrLen (KeyString)) == 0) {\r
+ return (((SHELL_PARAM_PACKAGE *)Node)->Name + StrLen (KeyString));\r
}\r
+\r
TempString = NULL;\r
- TempString = StrnCatGrow(&TempString, NULL, KeyString, StrLen(((SHELL_PARAM_PACKAGE*)Node)->Name));\r
+ TempString = StrnCatGrow (&TempString, NULL, KeyString, StrLen (((SHELL_PARAM_PACKAGE *)Node)->Name));\r
if (TempString != NULL) {\r
- if (StringNoCaseCompare(&KeyString, &((SHELL_PARAM_PACKAGE*)Node)->Name) == 0) {\r
- FreePool(TempString);\r
- return (((SHELL_PARAM_PACKAGE*)Node)->Name + StrLen(KeyString));\r
+ if (StringNoCaseCompare (&KeyString, &((SHELL_PARAM_PACKAGE *)Node)->Name) == 0) {\r
+ FreePool (TempString);\r
+ return (((SHELL_PARAM_PACKAGE *)Node)->Name + StrLen (KeyString));\r
}\r
- FreePool(TempString);\r
+\r
+ FreePool (TempString);\r
}\r
- } else if (StringNoCaseCompare(&KeyString, &((SHELL_PARAM_PACKAGE*)Node)->Name) == 0) {\r
- return (((SHELL_PARAM_PACKAGE*)Node)->Value);\r
+ } else if (StringNoCaseCompare (&KeyString, &((SHELL_PARAM_PACKAGE *)Node)->Name) == 0) {\r
+ return (((SHELL_PARAM_PACKAGE *)Node)->Value);\r
}\r
}\r
}\r
+\r
return (NULL);\r
}\r
\r
@retval NULL The flag is not on the command line.\r
@retval !=NULL The pointer to unicode string of the value.\r
**/\r
-CONST CHAR16*\r
+CONST CHAR16 *\r
EFIAPI\r
ShellCommandLineGetRawValue (\r
- IN CONST LIST_ENTRY * CONST CheckPackage,\r
- IN UINTN Position\r
+ IN CONST LIST_ENTRY *CONST CheckPackage,\r
+ IN UINTN Position\r
)\r
{\r
- LIST_ENTRY *Node;\r
+ LIST_ENTRY *Node;\r
\r
//\r
// check for CheckPackage == NULL\r
//\r
// enumerate through the list of parametrs\r
//\r
- for ( Node = GetFirstNode(CheckPackage)\r
- ; !IsNull (CheckPackage, Node)\r
- ; Node = GetNextNode(CheckPackage, Node)\r
- ){\r
+ for ( Node = GetFirstNode (CheckPackage)\r
+ ; !IsNull (CheckPackage, Node)\r
+ ; Node = GetNextNode (CheckPackage, Node)\r
+ )\r
+ {\r
//\r
// If the position matches, return the value\r
//\r
- if (((SHELL_PARAM_PACKAGE*)Node)->OriginalPosition == Position) {\r
- return (((SHELL_PARAM_PACKAGE*)Node)->Value);\r
+ if (((SHELL_PARAM_PACKAGE *)Node)->OriginalPosition == Position) {\r
+ return (((SHELL_PARAM_PACKAGE *)Node)->Value);\r
}\r
}\r
+\r
return (NULL);\r
}\r
\r
**/\r
UINTN\r
EFIAPI\r
-ShellCommandLineGetCount(\r
- IN CONST LIST_ENTRY *CheckPackage\r
+ShellCommandLineGetCount (\r
+ IN CONST LIST_ENTRY *CheckPackage\r
)\r
{\r
LIST_ENTRY *Node1;\r
if (CheckPackage == NULL) {\r
return (0);\r
}\r
- for ( Node1 = GetFirstNode(CheckPackage), Count = 0\r
- ; !IsNull (CheckPackage, Node1)\r
- ; Node1 = GetNextNode(CheckPackage, Node1)\r
- ){\r
- if (((SHELL_PARAM_PACKAGE*)Node1)->Name == NULL) {\r
+\r
+ for ( Node1 = GetFirstNode (CheckPackage), Count = 0\r
+ ; !IsNull (CheckPackage, Node1)\r
+ ; Node1 = GetNextNode (CheckPackage, Node1)\r
+ )\r
+ {\r
+ if (((SHELL_PARAM_PACKAGE *)Node1)->Name == NULL) {\r
Count++;\r
}\r
}\r
+\r
return (Count);\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
ShellCommandLineCheckDuplicate (\r
- IN CONST LIST_ENTRY *CheckPackage,\r
- OUT CHAR16 **Param\r
+ IN CONST LIST_ENTRY *CheckPackage,\r
+ OUT CHAR16 **Param\r
)\r
{\r
- LIST_ENTRY *Node1;\r
- LIST_ENTRY *Node2;\r
-\r
- ASSERT(CheckPackage != NULL);\r
-\r
- for ( Node1 = GetFirstNode(CheckPackage)\r
- ; !IsNull (CheckPackage, Node1)\r
- ; Node1 = GetNextNode(CheckPackage, Node1)\r
- ){\r
- for ( Node2 = GetNextNode(CheckPackage, Node1)\r
- ; !IsNull (CheckPackage, Node2)\r
- ; Node2 = GetNextNode(CheckPackage, Node2)\r
- ){\r
- if ((((SHELL_PARAM_PACKAGE*)Node1)->Name != NULL) && (((SHELL_PARAM_PACKAGE*)Node2)->Name != NULL) && StrCmp(((SHELL_PARAM_PACKAGE*)Node1)->Name, ((SHELL_PARAM_PACKAGE*)Node2)->Name) == 0) {\r
+ LIST_ENTRY *Node1;\r
+ LIST_ENTRY *Node2;\r
+\r
+ ASSERT (CheckPackage != NULL);\r
+\r
+ for ( Node1 = GetFirstNode (CheckPackage)\r
+ ; !IsNull (CheckPackage, Node1)\r
+ ; Node1 = GetNextNode (CheckPackage, Node1)\r
+ )\r
+ {\r
+ for ( Node2 = GetNextNode (CheckPackage, Node1)\r
+ ; !IsNull (CheckPackage, Node2)\r
+ ; Node2 = GetNextNode (CheckPackage, Node2)\r
+ )\r
+ {\r
+ if ((((SHELL_PARAM_PACKAGE *)Node1)->Name != NULL) && (((SHELL_PARAM_PACKAGE *)Node2)->Name != NULL) && (StrCmp (((SHELL_PARAM_PACKAGE *)Node1)->Name, ((SHELL_PARAM_PACKAGE *)Node2)->Name) == 0)) {\r
if (Param != NULL) {\r
*Param = NULL;\r
- *Param = StrnCatGrow(Param, NULL, ((SHELL_PARAM_PACKAGE*)Node1)->Name, 0);\r
+ *Param = StrnCatGrow (Param, NULL, ((SHELL_PARAM_PACKAGE *)Node1)->Name, 0);\r
}\r
+\r
return (EFI_DEVICE_ERROR);\r
}\r
}\r
}\r
+\r
return (EFI_SUCCESS);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellCopySearchAndReplace(\r
- IN CHAR16 CONST *SourceString,\r
- IN OUT CHAR16 *NewString,\r
- IN UINTN NewSize,\r
- IN CONST CHAR16 *FindTarget,\r
- IN CONST CHAR16 *ReplaceWith,\r
- IN CONST BOOLEAN SkipPreCarrot,\r
- IN CONST BOOLEAN ParameterReplacing\r
+ShellCopySearchAndReplace (\r
+ IN CHAR16 CONST *SourceString,\r
+ IN OUT CHAR16 *NewString,\r
+ IN UINTN NewSize,\r
+ IN CONST CHAR16 *FindTarget,\r
+ IN CONST CHAR16 *ReplaceWith,\r
+ IN CONST BOOLEAN SkipPreCarrot,\r
+ IN CONST BOOLEAN ParameterReplacing\r
)\r
{\r
- UINTN Size;\r
- CHAR16 *Replace;\r
-\r
- if ( (SourceString == NULL)\r
- || (NewString == NULL)\r
- || (FindTarget == NULL)\r
- || (ReplaceWith == NULL)\r
- || (StrLen(FindTarget) < 1)\r
- || (StrLen(SourceString) < 1)\r
- ){\r
+ UINTN Size;\r
+ CHAR16 *Replace;\r
+\r
+ if ( (SourceString == NULL)\r
+ || (NewString == NULL)\r
+ || (FindTarget == NULL)\r
+ || (ReplaceWith == NULL)\r
+ || (StrLen (FindTarget) < 1)\r
+ || (StrLen (SourceString) < 1)\r
+ )\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
+\r
Replace = NULL;\r
- if (StrStr(ReplaceWith, L" ") == NULL || !ParameterReplacing) {\r
- Replace = StrnCatGrow(&Replace, NULL, ReplaceWith, 0);\r
+ if ((StrStr (ReplaceWith, L" ") == NULL) || !ParameterReplacing) {\r
+ Replace = StrnCatGrow (&Replace, NULL, ReplaceWith, 0);\r
} else {\r
- Replace = AllocateZeroPool(StrSize(ReplaceWith) + 2*sizeof(CHAR16));\r
+ Replace = AllocateZeroPool (StrSize (ReplaceWith) + 2*sizeof (CHAR16));\r
if (Replace != NULL) {\r
- UnicodeSPrint(Replace, StrSize(ReplaceWith) + 2*sizeof(CHAR16), L"\"%s\"", ReplaceWith);\r
+ UnicodeSPrint (Replace, StrSize (ReplaceWith) + 2*sizeof (CHAR16), L"\"%s\"", ReplaceWith);\r
}\r
}\r
+\r
if (Replace == NULL) {\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- NewString = ZeroMem(NewString, NewSize);\r
+\r
+ NewString = ZeroMem (NewString, NewSize);\r
while (*SourceString != CHAR_NULL) {\r
//\r
// if we find the FindTarget and either Skip == FALSE or Skip and we\r
// dont have a carrot do a replace...\r
//\r
- if (StrnCmp(SourceString, FindTarget, StrLen(FindTarget)) == 0\r
- && ((SkipPreCarrot && *(SourceString-1) != L'^') || !SkipPreCarrot)\r
- ){\r
- SourceString += StrLen(FindTarget);\r
- Size = StrSize(NewString);\r
- if ((Size + (StrLen(Replace)*sizeof(CHAR16))) > NewSize) {\r
- FreePool(Replace);\r
+ if ( (StrnCmp (SourceString, FindTarget, StrLen (FindTarget)) == 0)\r
+ && ((SkipPreCarrot && (*(SourceString-1) != L'^')) || !SkipPreCarrot)\r
+ )\r
+ {\r
+ SourceString += StrLen (FindTarget);\r
+ Size = StrSize (NewString);\r
+ if ((Size + (StrLen (Replace)*sizeof (CHAR16))) > NewSize) {\r
+ FreePool (Replace);\r
return (EFI_BUFFER_TOO_SMALL);\r
}\r
- StrCatS(NewString, NewSize/sizeof(CHAR16), Replace);\r
+\r
+ StrCatS (NewString, NewSize/sizeof (CHAR16), Replace);\r
} else {\r
- Size = StrSize(NewString);\r
- if (Size + sizeof(CHAR16) > NewSize) {\r
- FreePool(Replace);\r
+ Size = StrSize (NewString);\r
+ if (Size + sizeof (CHAR16) > NewSize) {\r
+ FreePool (Replace);\r
return (EFI_BUFFER_TOO_SMALL);\r
}\r
- StrnCatS(NewString, NewSize/sizeof(CHAR16), SourceString, 1);\r
+\r
+ StrnCatS (NewString, NewSize/sizeof (CHAR16), SourceString, 1);\r
SourceString++;\r
}\r
}\r
- FreePool(Replace);\r
+\r
+ FreePool (Replace);\r
return (EFI_SUCCESS);\r
}\r
\r
**/\r
EFI_STATUS\r
InternalPrintTo (\r
- IN CONST CHAR16 *String\r
+ IN CONST CHAR16 *String\r
)\r
{\r
- UINTN Size;\r
- Size = StrSize(String) - sizeof(CHAR16);\r
+ UINTN Size;\r
+\r
+ Size = StrSize (String) - sizeof (CHAR16);\r
if (Size == 0) {\r
return (EFI_SUCCESS);\r
}\r
+\r
if (gEfiShellParametersProtocol != NULL) {\r
- return (gEfiShellProtocol->WriteFile(gEfiShellParametersProtocol->StdOut, &Size, (VOID*)String));\r
+ return (gEfiShellProtocol->WriteFile (gEfiShellParametersProtocol->StdOut, &Size, (VOID *)String));\r
}\r
+\r
if (mEfiShellInterface != NULL) {\r
if (mEfiShellInterface->RedirArgc == 0) {\r
- //\r
- // Divide in half for old shell. Must be string length not size.\r
//\r
- Size /=2; // Divide in half only when no redirection.\r
+ // Divide in half for old shell. Must be string length not size.\r
+ //\r
+ Size /= 2; // Divide in half only when no redirection.\r
}\r
- return (mEfiShellInterface->StdOut->Write(mEfiShellInterface->StdOut, &Size, (VOID*)String));\r
+\r
+ return (mEfiShellInterface->StdOut->Write (mEfiShellInterface->StdOut, &Size, (VOID *)String));\r
}\r
- ASSERT(FALSE);\r
+\r
+ ASSERT (FALSE);\r
return (EFI_UNSUPPORTED);\r
}\r
\r
@return EFI_DEVICE_ERROR The console device reported an error.\r
**/\r
EFI_STATUS\r
-InternalShellPrintWorker(\r
- IN INT32 Col OPTIONAL,\r
- IN INT32 Row OPTIONAL,\r
- IN CONST CHAR16 *Format,\r
- IN VA_LIST Marker\r
+InternalShellPrintWorker (\r
+ IN INT32 Col OPTIONAL,\r
+ IN INT32 Row OPTIONAL,\r
+ IN CONST CHAR16 *Format,\r
+ IN VA_LIST Marker\r
)\r
{\r
- EFI_STATUS Status;\r
- CHAR16 *ResumeLocation;\r
- CHAR16 *FormatWalker;\r
- UINTN OriginalAttribute;\r
- CHAR16 *mPostReplaceFormat;\r
- CHAR16 *mPostReplaceFormat2;\r
-\r
- mPostReplaceFormat = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
+ EFI_STATUS Status;\r
+ CHAR16 *ResumeLocation;\r
+ CHAR16 *FormatWalker;\r
+ UINTN OriginalAttribute;\r
+ CHAR16 *mPostReplaceFormat;\r
+ CHAR16 *mPostReplaceFormat2;\r
+\r
+ mPostReplaceFormat = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
mPostReplaceFormat2 = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize));\r
\r
- if (mPostReplaceFormat == NULL || mPostReplaceFormat2 == NULL) {\r
- SHELL_FREE_NON_NULL(mPostReplaceFormat);\r
- SHELL_FREE_NON_NULL(mPostReplaceFormat2);\r
+ if ((mPostReplaceFormat == NULL) || (mPostReplaceFormat2 == NULL)) {\r
+ SHELL_FREE_NON_NULL (mPostReplaceFormat);\r
+ SHELL_FREE_NON_NULL (mPostReplaceFormat2);\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
\r
//\r
// Back and forth each time fixing up 1 of our flags...\r
//\r
- Status = ShellCopySearchAndReplace(Format, mPostReplaceFormat, PcdGet16 (PcdShellPrintBufferSize), L"%N", L"%%N", FALSE, FALSE);\r
- ASSERT_EFI_ERROR(Status);\r
- Status = ShellCopySearchAndReplace(mPostReplaceFormat, mPostReplaceFormat2, PcdGet16 (PcdShellPrintBufferSize), L"%E", L"%%E", FALSE, FALSE);\r
- ASSERT_EFI_ERROR(Status);\r
- Status = ShellCopySearchAndReplace(mPostReplaceFormat2, mPostReplaceFormat, PcdGet16 (PcdShellPrintBufferSize), L"%H", L"%%H", FALSE, FALSE);\r
- ASSERT_EFI_ERROR(Status);\r
- Status = ShellCopySearchAndReplace(mPostReplaceFormat, mPostReplaceFormat2, PcdGet16 (PcdShellPrintBufferSize), L"%B", L"%%B", FALSE, FALSE);\r
- ASSERT_EFI_ERROR(Status);\r
- Status = ShellCopySearchAndReplace(mPostReplaceFormat2, mPostReplaceFormat, PcdGet16 (PcdShellPrintBufferSize), L"%V", L"%%V", FALSE, FALSE);\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = ShellCopySearchAndReplace (Format, mPostReplaceFormat, PcdGet16 (PcdShellPrintBufferSize), L"%N", L"%%N", FALSE, FALSE);\r
+ ASSERT_EFI_ERROR (Status);\r
+ Status = ShellCopySearchAndReplace (mPostReplaceFormat, mPostReplaceFormat2, PcdGet16 (PcdShellPrintBufferSize), L"%E", L"%%E", FALSE, FALSE);\r
+ ASSERT_EFI_ERROR (Status);\r
+ Status = ShellCopySearchAndReplace (mPostReplaceFormat2, mPostReplaceFormat, PcdGet16 (PcdShellPrintBufferSize), L"%H", L"%%H", FALSE, FALSE);\r
+ ASSERT_EFI_ERROR (Status);\r
+ Status = ShellCopySearchAndReplace (mPostReplaceFormat, mPostReplaceFormat2, PcdGet16 (PcdShellPrintBufferSize), L"%B", L"%%B", FALSE, FALSE);\r
+ ASSERT_EFI_ERROR (Status);\r
+ Status = ShellCopySearchAndReplace (mPostReplaceFormat2, mPostReplaceFormat, PcdGet16 (PcdShellPrintBufferSize), L"%V", L"%%V", FALSE, FALSE);\r
+ ASSERT_EFI_ERROR (Status);\r
\r
//\r
// Use the last buffer from replacing to print from...\r
//\r
UnicodeVSPrint (mPostReplaceFormat2, PcdGet16 (PcdShellPrintBufferSize), mPostReplaceFormat, Marker);\r
\r
- if (Col != -1 && Row != -1) {\r
- Status = gST->ConOut->SetCursorPosition(gST->ConOut, Col, Row);\r
+ if ((Col != -1) && (Row != -1)) {\r
+ Status = gST->ConOut->SetCursorPosition (gST->ConOut, Col, Row);\r
}\r
\r
FormatWalker = mPostReplaceFormat2;\r
//\r
// Find the next attribute change request\r
//\r
- ResumeLocation = StrStr(FormatWalker, L"%");\r
+ ResumeLocation = StrStr (FormatWalker, L"%");\r
if (ResumeLocation != NULL) {\r
*ResumeLocation = CHAR_NULL;\r
}\r
+\r
//\r
// print the current FormatWalker string\r
//\r
- if (StrLen(FormatWalker)>0) {\r
- Status = InternalPrintTo(FormatWalker);\r
- if (EFI_ERROR(Status)) {\r
+ if (StrLen (FormatWalker) > 0) {\r
+ Status = InternalPrintTo (FormatWalker);\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
}\r
//\r
// Move cursor back 1 position to overwrite the ^\r
//\r
- gST->ConOut->SetCursorPosition(gST->ConOut, gST->ConOut->Mode->CursorColumn - 1, gST->ConOut->Mode->CursorRow);\r
+ gST->ConOut->SetCursorPosition (gST->ConOut, gST->ConOut->Mode->CursorColumn - 1, gST->ConOut->Mode->CursorRow);\r
\r
//\r
// Print a simple '%' symbol\r
//\r
- Status = InternalPrintTo(L"%");\r
+ Status = InternalPrintTo (L"%");\r
ResumeLocation = ResumeLocation - 1;\r
} else {\r
switch (*(ResumeLocation+1)) {\r
case (L'N'):\r
- gST->ConOut->SetAttribute(gST->ConOut, OriginalAttribute);\r
+ gST->ConOut->SetAttribute (gST->ConOut, OriginalAttribute);\r
break;\r
case (L'E'):\r
- gST->ConOut->SetAttribute(gST->ConOut, EFI_TEXT_ATTR(EFI_YELLOW, ((OriginalAttribute&(BIT4|BIT5|BIT6))>>4)));\r
+ gST->ConOut->SetAttribute (gST->ConOut, EFI_TEXT_ATTR (EFI_YELLOW, ((OriginalAttribute&(BIT4|BIT5|BIT6))>>4)));\r
break;\r
case (L'H'):\r
- gST->ConOut->SetAttribute(gST->ConOut, EFI_TEXT_ATTR(EFI_WHITE, ((OriginalAttribute&(BIT4|BIT5|BIT6))>>4)));\r
+ gST->ConOut->SetAttribute (gST->ConOut, EFI_TEXT_ATTR (EFI_WHITE, ((OriginalAttribute&(BIT4|BIT5|BIT6))>>4)));\r
break;\r
case (L'B'):\r
- gST->ConOut->SetAttribute(gST->ConOut, EFI_TEXT_ATTR(EFI_LIGHTBLUE, ((OriginalAttribute&(BIT4|BIT5|BIT6))>>4)));\r
+ gST->ConOut->SetAttribute (gST->ConOut, EFI_TEXT_ATTR (EFI_LIGHTBLUE, ((OriginalAttribute&(BIT4|BIT5|BIT6))>>4)));\r
break;\r
case (L'V'):\r
- gST->ConOut->SetAttribute(gST->ConOut, EFI_TEXT_ATTR(EFI_LIGHTGREEN, ((OriginalAttribute&(BIT4|BIT5|BIT6))>>4)));\r
+ gST->ConOut->SetAttribute (gST->ConOut, EFI_TEXT_ATTR (EFI_LIGHTGREEN, ((OriginalAttribute&(BIT4|BIT5|BIT6))>>4)));\r
break;\r
default:\r
//\r
// Print a simple '%' symbol\r
//\r
- Status = InternalPrintTo(L"%");\r
- if (EFI_ERROR(Status)) {\r
+ Status = InternalPrintTo (L"%");\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
+\r
ResumeLocation = ResumeLocation - 1;\r
break;\r
}\r
FormatWalker = ResumeLocation + 2;\r
}\r
\r
- gST->ConOut->SetAttribute(gST->ConOut, OriginalAttribute);\r
+ gST->ConOut->SetAttribute (gST->ConOut, OriginalAttribute);\r
\r
- SHELL_FREE_NON_NULL(mPostReplaceFormat);\r
- SHELL_FREE_NON_NULL(mPostReplaceFormat2);\r
+ SHELL_FREE_NON_NULL (mPostReplaceFormat);\r
+ SHELL_FREE_NON_NULL (mPostReplaceFormat2);\r
return (Status);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellPrintEx(\r
- IN INT32 Col OPTIONAL,\r
- IN INT32 Row OPTIONAL,\r
- IN CONST CHAR16 *Format,\r
+ShellPrintEx (\r
+ IN INT32 Col OPTIONAL,\r
+ IN INT32 Row OPTIONAL,\r
+ IN CONST CHAR16 *Format,\r
...\r
)\r
{\r
- VA_LIST Marker;\r
- EFI_STATUS RetVal;\r
+ VA_LIST Marker;\r
+ EFI_STATUS RetVal;\r
+\r
if (Format == NULL) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
+\r
VA_START (Marker, Format);\r
- RetVal = InternalShellPrintWorker(Col, Row, Format, Marker);\r
- VA_END(Marker);\r
- return(RetVal);\r
+ RetVal = InternalShellPrintWorker (Col, Row, Format, Marker);\r
+ VA_END (Marker);\r
+ return (RetVal);\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellPrintHiiEx(\r
- IN INT32 Col OPTIONAL,\r
- IN INT32 Row OPTIONAL,\r
- IN CONST CHAR8 *Language OPTIONAL,\r
- IN CONST EFI_STRING_ID HiiFormatStringId,\r
- IN CONST EFI_HII_HANDLE HiiFormatHandle,\r
+ShellPrintHiiEx (\r
+ IN INT32 Col OPTIONAL,\r
+ IN INT32 Row OPTIONAL,\r
+ IN CONST CHAR8 *Language OPTIONAL,\r
+ IN CONST EFI_STRING_ID HiiFormatStringId,\r
+ IN CONST EFI_HII_HANDLE HiiFormatHandle,\r
...\r
)\r
{\r
- VA_LIST Marker;\r
- CHAR16 *HiiFormatString;\r
- EFI_STATUS RetVal;\r
+ VA_LIST Marker;\r
+ CHAR16 *HiiFormatString;\r
+ EFI_STATUS RetVal;\r
\r
RetVal = EFI_DEVICE_ERROR;\r
\r
VA_START (Marker, HiiFormatHandle);\r
- HiiFormatString = HiiGetString(HiiFormatHandle, HiiFormatStringId, Language);\r
+ HiiFormatString = HiiGetString (HiiFormatHandle, HiiFormatStringId, Language);\r
if (HiiFormatString != NULL) {\r
RetVal = InternalShellPrintWorker (Col, Row, HiiFormatString, Marker);\r
SHELL_FREE_NON_NULL (HiiFormatString);\r
}\r
- VA_END(Marker);\r
+\r
+ VA_END (Marker);\r
\r
return (RetVal);\r
}\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellIsDirectory(\r
- IN CONST CHAR16 *DirName\r
+ShellIsDirectory (\r
+ IN CONST CHAR16 *DirName\r
)\r
{\r
- EFI_STATUS Status;\r
- SHELL_FILE_HANDLE Handle;\r
- CHAR16 *TempLocation;\r
- CHAR16 *TempLocation2;\r
+ EFI_STATUS Status;\r
+ SHELL_FILE_HANDLE Handle;\r
+ CHAR16 *TempLocation;\r
+ CHAR16 *TempLocation2;\r
\r
- ASSERT(DirName != NULL);\r
+ ASSERT (DirName != NULL);\r
\r
- Handle = NULL;\r
- TempLocation = NULL;\r
+ Handle = NULL;\r
+ TempLocation = NULL;\r
\r
- Status = ShellOpenFileByName(DirName, &Handle, EFI_FILE_MODE_READ, 0);\r
- if (EFI_ERROR(Status)) {\r
+ Status = ShellOpenFileByName (DirName, &Handle, EFI_FILE_MODE_READ, 0);\r
+ if (EFI_ERROR (Status)) {\r
//\r
// try good logic first.\r
//\r
if (gEfiShellProtocol != NULL) {\r
- TempLocation = StrnCatGrow(&TempLocation, NULL, DirName, 0);\r
+ TempLocation = StrnCatGrow (&TempLocation, NULL, DirName, 0);\r
if (TempLocation == NULL) {\r
- ShellCloseFile(&Handle);\r
+ ShellCloseFile (&Handle);\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- TempLocation2 = StrStr(TempLocation, L":");\r
- if (TempLocation2 != NULL && StrLen(StrStr(TempLocation, L":")) == 2) {\r
+\r
+ TempLocation2 = StrStr (TempLocation, L":");\r
+ if ((TempLocation2 != NULL) && (StrLen (StrStr (TempLocation, L":")) == 2)) {\r
*(TempLocation2+1) = CHAR_NULL;\r
}\r
- if (gEfiShellProtocol->GetDevicePathFromMap(TempLocation) != NULL) {\r
- FreePool(TempLocation);\r
+\r
+ if (gEfiShellProtocol->GetDevicePathFromMap (TempLocation) != NULL) {\r
+ FreePool (TempLocation);\r
return (EFI_SUCCESS);\r
}\r
- FreePool(TempLocation);\r
+\r
+ FreePool (TempLocation);\r
} else {\r
//\r
// probably a map name?!?!!?\r
//\r
- TempLocation = StrStr(DirName, L"\\");\r
- if (TempLocation != NULL && *(TempLocation+1) == CHAR_NULL) {\r
+ TempLocation = StrStr (DirName, L"\\");\r
+ if ((TempLocation != NULL) && (*(TempLocation+1) == CHAR_NULL)) {\r
return (EFI_SUCCESS);\r
}\r
}\r
+\r
return (Status);\r
}\r
\r
- if (FileHandleIsDirectory(Handle) == EFI_SUCCESS) {\r
- ShellCloseFile(&Handle);\r
+ if (FileHandleIsDirectory (Handle) == EFI_SUCCESS) {\r
+ ShellCloseFile (&Handle);\r
return (EFI_SUCCESS);\r
}\r
- ShellCloseFile(&Handle);\r
+\r
+ ShellCloseFile (&Handle);\r
return (EFI_NOT_FOUND);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellIsFile(\r
- IN CONST CHAR16 *Name\r
+ShellIsFile (\r
+ IN CONST CHAR16 *Name\r
)\r
{\r
- EFI_STATUS Status;\r
- SHELL_FILE_HANDLE Handle;\r
+ EFI_STATUS Status;\r
+ SHELL_FILE_HANDLE Handle;\r
\r
- ASSERT(Name != NULL);\r
+ ASSERT (Name != NULL);\r
\r
Handle = NULL;\r
\r
- Status = ShellOpenFileByName(Name, &Handle, EFI_FILE_MODE_READ, 0);\r
- if (EFI_ERROR(Status)) {\r
+ Status = ShellOpenFileByName (Name, &Handle, EFI_FILE_MODE_READ, 0);\r
+ if (EFI_ERROR (Status)) {\r
return (Status);\r
}\r
\r
- if (FileHandleIsDirectory(Handle) != EFI_SUCCESS) {\r
- ShellCloseFile(&Handle);\r
+ if (FileHandleIsDirectory (Handle) != EFI_SUCCESS) {\r
+ ShellCloseFile (&Handle);\r
return (EFI_SUCCESS);\r
}\r
- ShellCloseFile(&Handle);\r
+\r
+ ShellCloseFile (&Handle);\r
return (EFI_NOT_FOUND);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellIsFileInPath(\r
- IN CONST CHAR16 *Name\r
+ShellIsFileInPath (\r
+ IN CONST CHAR16 *Name\r
)\r
{\r
CHAR16 *NewName;\r
EFI_STATUS Status;\r
\r
- if (!EFI_ERROR(ShellIsFile(Name))) {\r
+ if (!EFI_ERROR (ShellIsFile (Name))) {\r
return (EFI_SUCCESS);\r
}\r
\r
- NewName = ShellFindFilePath(Name);\r
+ NewName = ShellFindFilePath (Name);\r
if (NewName == NULL) {\r
return (EFI_NOT_FOUND);\r
}\r
- Status = ShellIsFile(NewName);\r
- FreePool(NewName);\r
+\r
+ Status = ShellIsFile (NewName);\r
+ FreePool (NewName);\r
return (Status);\r
}\r
\r
**/\r
UINTN\r
EFIAPI\r
-ShellHexStrToUintn(\r
- IN CONST CHAR16 *String\r
+ShellHexStrToUintn (\r
+ IN CONST CHAR16 *String\r
)\r
{\r
- UINT64 RetVal;\r
+ UINT64 RetVal;\r
\r
- if (!EFI_ERROR(ShellConvertStringToUint64(String, &RetVal, TRUE, TRUE))) {\r
+ if (!EFI_ERROR (ShellConvertStringToUint64 (String, &RetVal, TRUE, TRUE))) {\r
return ((UINTN)RetVal);\r
}\r
\r
**/\r
UINTN\r
EFIAPI\r
-ShellStrToUintn(\r
- IN CONST CHAR16 *String\r
+ShellStrToUintn (\r
+ IN CONST CHAR16 *String\r
)\r
{\r
- UINT64 RetVal;\r
- BOOLEAN Hex;\r
+ UINT64 RetVal;\r
+ BOOLEAN Hex;\r
\r
Hex = FALSE;\r
\r
- if (!InternalShellIsHexOrDecimalNumber(String, Hex, TRUE, FALSE)) {\r
+ if (!InternalShellIsHexOrDecimalNumber (String, Hex, TRUE, FALSE)) {\r
Hex = TRUE;\r
}\r
\r
- if (!EFI_ERROR(ShellConvertStringToUint64(String, &RetVal, Hex, TRUE))) {\r
+ if (!EFI_ERROR (ShellConvertStringToUint64 (String, &RetVal, Hex, TRUE))) {\r
return ((UINTN)RetVal);\r
}\r
+\r
return ((UINTN)(-1));\r
}\r
\r
\r
@return Destination return the resultant string.\r
**/\r
-CHAR16*\r
+CHAR16 *\r
EFIAPI\r
StrnCatGrow (\r
- IN OUT CHAR16 **Destination,\r
- IN OUT UINTN *CurrentSize,\r
- IN CONST CHAR16 *Source,\r
- IN UINTN Count\r
+ IN OUT CHAR16 **Destination,\r
+ IN OUT UINTN *CurrentSize,\r
+ IN CONST CHAR16 *Source,\r
+ IN UINTN Count\r
)\r
{\r
- UINTN DestinationStartSize;\r
- UINTN NewSize;\r
+ UINTN DestinationStartSize;\r
+ UINTN NewSize;\r
\r
//\r
// ASSERTs\r
//\r
- ASSERT(Destination != NULL);\r
+ ASSERT (Destination != NULL);\r
\r
//\r
// If there's nothing to do then just return Destination\r
//\r
// allow for un-initialized pointers, based on size being 0\r
//\r
- if (CurrentSize != NULL && *CurrentSize == 0) {\r
+ if ((CurrentSize != NULL) && (*CurrentSize == 0)) {\r
*Destination = NULL;\r
}\r
\r
// allow for NULL pointers address as Destination\r
//\r
if (*Destination != NULL) {\r
- ASSERT(CurrentSize != 0);\r
- DestinationStartSize = StrSize(*Destination);\r
- ASSERT(DestinationStartSize <= *CurrentSize);\r
+ ASSERT (CurrentSize != 0);\r
+ DestinationStartSize = StrSize (*Destination);\r
+ ASSERT (DestinationStartSize <= *CurrentSize);\r
} else {\r
DestinationStartSize = 0;\r
-// ASSERT(*CurrentSize == 0);\r
+ // ASSERT(*CurrentSize == 0);\r
}\r
\r
//\r
// Append all of Source?\r
//\r
if (Count == 0) {\r
- Count = StrLen(Source);\r
+ Count = StrLen (Source);\r
}\r
\r
//\r
//\r
if (CurrentSize != NULL) {\r
NewSize = *CurrentSize;\r
- if (NewSize < DestinationStartSize + (Count * sizeof(CHAR16))) {\r
- while (NewSize < (DestinationStartSize + (Count*sizeof(CHAR16)))) {\r
- NewSize += 2 * Count * sizeof(CHAR16);\r
+ if (NewSize < DestinationStartSize + (Count * sizeof (CHAR16))) {\r
+ while (NewSize < (DestinationStartSize + (Count*sizeof (CHAR16)))) {\r
+ NewSize += 2 * Count * sizeof (CHAR16);\r
}\r
- *Destination = ReallocatePool(*CurrentSize, NewSize, *Destination);\r
+\r
+ *Destination = ReallocatePool (*CurrentSize, NewSize, *Destination);\r
*CurrentSize = NewSize;\r
}\r
} else {\r
- NewSize = (Count+1)*sizeof(CHAR16);\r
- *Destination = AllocateZeroPool(NewSize);\r
+ NewSize = (Count+1)*sizeof (CHAR16);\r
+ *Destination = AllocateZeroPool (NewSize);\r
}\r
\r
//\r
return (NULL);\r
}\r
\r
- StrnCatS(*Destination, NewSize/sizeof(CHAR16), Source, Count);\r
+ StrnCatS (*Destination, NewSize/sizeof (CHAR16), Source, Count);\r
return *Destination;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
ShellPromptForResponse (\r
- IN SHELL_PROMPT_REQUEST_TYPE Type,\r
- IN CHAR16 *Prompt OPTIONAL,\r
- IN OUT VOID **Response OPTIONAL\r
+ IN SHELL_PROMPT_REQUEST_TYPE Type,\r
+ IN CHAR16 *Prompt OPTIONAL,\r
+ IN OUT VOID **Response OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_INPUT_KEY Key;\r
- UINTN EventIndex;\r
- SHELL_PROMPT_RESPONSE *Resp;\r
- UINTN Size;\r
- CHAR16 *Buffer;\r
-\r
- Status = EFI_UNSUPPORTED;\r
- Resp = NULL;\r
- Buffer = NULL;\r
- Size = 0;\r
+ EFI_STATUS Status;\r
+ EFI_INPUT_KEY Key;\r
+ UINTN EventIndex;\r
+ SHELL_PROMPT_RESPONSE *Resp;\r
+ UINTN Size;\r
+ CHAR16 *Buffer;\r
+\r
+ Status = EFI_UNSUPPORTED;\r
+ Resp = NULL;\r
+ Buffer = NULL;\r
+ Size = 0;\r
if (Type != ShellPromptResponseTypeFreeform) {\r
- Resp = (SHELL_PROMPT_RESPONSE*)AllocateZeroPool(sizeof(SHELL_PROMPT_RESPONSE));\r
+ Resp = (SHELL_PROMPT_RESPONSE *)AllocateZeroPool (sizeof (SHELL_PROMPT_RESPONSE));\r
if (Resp == NULL) {\r
if (Response != NULL) {\r
*Response = NULL;\r
}\r
+\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
}\r
\r
- switch(Type) {\r
+ switch (Type) {\r
case ShellPromptResponseTypeQuitContinue:\r
if (Prompt != NULL) {\r
- ShellPrintEx(-1, -1, L"%s", Prompt);\r
+ ShellPrintEx (-1, -1, L"%s", Prompt);\r
}\r
+\r
//\r
// wait for valid response\r
//\r
gBS->WaitForEvent (1, &gST->ConIn->WaitForKey, &EventIndex);\r
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
- ShellPrintEx(-1, -1, L"%c", Key.UnicodeChar);\r
- if (Key.UnicodeChar == L'Q' || Key.UnicodeChar ==L'q') {\r
+\r
+ ShellPrintEx (-1, -1, L"%c", Key.UnicodeChar);\r
+ if ((Key.UnicodeChar == L'Q') || (Key.UnicodeChar == L'q')) {\r
*Resp = ShellPromptResponseQuit;\r
} else {\r
*Resp = ShellPromptResponseContinue;\r
}\r
+\r
break;\r
case ShellPromptResponseTypeYesNoCancel:\r
- if (Prompt != NULL) {\r
- ShellPrintEx(-1, -1, L"%s", Prompt);\r
+ if (Prompt != NULL) {\r
+ ShellPrintEx (-1, -1, L"%s", Prompt);\r
}\r
+\r
//\r
// wait for valid response\r
//\r
*Resp = ShellPromptResponseMax;\r
while (*Resp == ShellPromptResponseMax) {\r
- if (ShellGetExecutionBreakFlag()) {\r
+ if (ShellGetExecutionBreakFlag ()) {\r
Status = EFI_ABORTED;\r
break;\r
}\r
+\r
gBS->WaitForEvent (1, &gST->ConIn->WaitForKey, &EventIndex);\r
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
- ShellPrintEx(-1, -1, L"%c", Key.UnicodeChar);\r
+\r
+ ShellPrintEx (-1, -1, L"%c", Key.UnicodeChar);\r
switch (Key.UnicodeChar) {\r
case L'Y':\r
case L'y':\r
break;\r
}\r
}\r
+\r
break;\r
- case ShellPromptResponseTypeYesNoAllCancel:\r
- if (Prompt != NULL) {\r
- ShellPrintEx(-1, -1, L"%s", Prompt);\r
+ case ShellPromptResponseTypeYesNoAllCancel:\r
+ if (Prompt != NULL) {\r
+ ShellPrintEx (-1, -1, L"%s", Prompt);\r
}\r
+\r
//\r
// wait for valid response\r
//\r
*Resp = ShellPromptResponseMax;\r
while (*Resp == ShellPromptResponseMax) {\r
- if (ShellGetExecutionBreakFlag()) {\r
+ if (ShellGetExecutionBreakFlag ()) {\r
Status = EFI_ABORTED;\r
break;\r
}\r
+\r
gBS->WaitForEvent (1, &gST->ConIn->WaitForKey, &EventIndex);\r
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
\r
- if (Key.UnicodeChar <= 127 && Key.UnicodeChar >= 32) {\r
+ if ((Key.UnicodeChar <= 127) && (Key.UnicodeChar >= 32)) {\r
ShellPrintEx (-1, -1, L"%c", Key.UnicodeChar);\r
}\r
\r
break;\r
}\r
}\r
+\r
break;\r
case ShellPromptResponseTypeEnterContinue:\r
case ShellPromptResponseTypeAnyKeyContinue:\r
if (Prompt != NULL) {\r
- ShellPrintEx(-1, -1, L"%s", Prompt);\r
+ ShellPrintEx (-1, -1, L"%s", Prompt);\r
}\r
+\r
//\r
// wait for valid response\r
//\r
*Resp = ShellPromptResponseMax;\r
while (*Resp == ShellPromptResponseMax) {\r
- if (ShellGetExecutionBreakFlag()) {\r
+ if (ShellGetExecutionBreakFlag ()) {\r
Status = EFI_ABORTED;\r
break;\r
}\r
+\r
gBS->WaitForEvent (1, &gST->ConIn->WaitForKey, &EventIndex);\r
if (Type == ShellPromptResponseTypeEnterContinue) {\r
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
- ShellPrintEx(-1, -1, L"%c", Key.UnicodeChar);\r
+\r
+ ShellPrintEx (-1, -1, L"%c", Key.UnicodeChar);\r
if (Key.UnicodeChar == CHAR_CARRIAGE_RETURN) {\r
*Resp = ShellPromptResponseContinue;\r
break;\r
}\r
}\r
+\r
if (Type == ShellPromptResponseTypeAnyKeyContinue) {\r
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
- ASSERT_EFI_ERROR(Status);\r
+ ASSERT_EFI_ERROR (Status);\r
*Resp = ShellPromptResponseContinue;\r
break;\r
}\r
}\r
+\r
break;\r
case ShellPromptResponseTypeYesNo:\r
- if (Prompt != NULL) {\r
- ShellPrintEx(-1, -1, L"%s", Prompt);\r
+ if (Prompt != NULL) {\r
+ ShellPrintEx (-1, -1, L"%s", Prompt);\r
}\r
+\r
//\r
// wait for valid response\r
//\r
*Resp = ShellPromptResponseMax;\r
while (*Resp == ShellPromptResponseMax) {\r
- if (ShellGetExecutionBreakFlag()) {\r
+ if (ShellGetExecutionBreakFlag ()) {\r
Status = EFI_ABORTED;\r
break;\r
}\r
+\r
gBS->WaitForEvent (1, &gST->ConIn->WaitForKey, &EventIndex);\r
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
- ShellPrintEx(-1, -1, L"%c", Key.UnicodeChar);\r
+\r
+ ShellPrintEx (-1, -1, L"%c", Key.UnicodeChar);\r
switch (Key.UnicodeChar) {\r
case L'Y':\r
case L'y':\r
break;\r
}\r
}\r
+\r
break;\r
case ShellPromptResponseTypeFreeform:\r
if (Prompt != NULL) {\r
- ShellPrintEx(-1, -1, L"%s", Prompt);\r
+ ShellPrintEx (-1, -1, L"%s", Prompt);\r
}\r
- while(1) {\r
- if (ShellGetExecutionBreakFlag()) {\r
+\r
+ while (1) {\r
+ if (ShellGetExecutionBreakFlag ()) {\r
Status = EFI_ABORTED;\r
break;\r
}\r
+\r
gBS->WaitForEvent (1, &gST->ConIn->WaitForKey, &EventIndex);\r
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
- ShellPrintEx(-1, -1, L"%c", Key.UnicodeChar);\r
+\r
+ ShellPrintEx (-1, -1, L"%c", Key.UnicodeChar);\r
if (Key.UnicodeChar == CHAR_CARRIAGE_RETURN) {\r
break;\r
}\r
- ASSERT((Buffer == NULL && Size == 0) || (Buffer != NULL));\r
- StrnCatGrow(&Buffer, &Size, &Key.UnicodeChar, 1);\r
+\r
+ ASSERT ((Buffer == NULL && Size == 0) || (Buffer != NULL));\r
+ StrnCatGrow (&Buffer, &Size, &Key.UnicodeChar, 1);\r
}\r
+\r
break;\r
//\r
// This is the location to add new prompt types.\r
// If your new type loops remember to add ExecutionBreak support.\r
//\r
default:\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
}\r
\r
if (Response != NULL) {\r
}\r
} else {\r
if (Resp != NULL) {\r
- FreePool(Resp);\r
+ FreePool (Resp);\r
}\r
+\r
if (Buffer != NULL) {\r
- FreePool(Buffer);\r
+ FreePool (Buffer);\r
}\r
}\r
\r
- ShellPrintEx(-1, -1, L"\r\n");\r
+ ShellPrintEx (-1, -1, L"\r\n");\r
return (Status);\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
ShellPromptForResponseHii (\r
- IN SHELL_PROMPT_REQUEST_TYPE Type,\r
- IN CONST EFI_STRING_ID HiiFormatStringId,\r
- IN CONST EFI_HII_HANDLE HiiFormatHandle,\r
- IN OUT VOID **Response\r
+ IN SHELL_PROMPT_REQUEST_TYPE Type,\r
+ IN CONST EFI_STRING_ID HiiFormatStringId,\r
+ IN CONST EFI_HII_HANDLE HiiFormatHandle,\r
+ IN OUT VOID **Response\r
)\r
{\r
CHAR16 *Prompt;\r
EFI_STATUS Status;\r
\r
- Prompt = HiiGetString(HiiFormatHandle, HiiFormatStringId, NULL);\r
- Status = ShellPromptForResponse(Type, Prompt, Response);\r
- FreePool(Prompt);\r
+ Prompt = HiiGetString (HiiFormatHandle, HiiFormatStringId, NULL);\r
+ Status = ShellPromptForResponse (Type, Prompt, Response);\r
+ FreePool (Prompt);\r
return (Status);\r
}\r
\r
IN CONST BOOLEAN TimeNumbers\r
)\r
{\r
- BOOLEAN Hex;\r
- BOOLEAN LeadingZero;\r
+ BOOLEAN Hex;\r
+ BOOLEAN LeadingZero;\r
\r
if (String == NULL) {\r
return FALSE;\r
// chop leading zeroes\r
//\r
LeadingZero = FALSE;\r
- while(*String == L'0'){\r
+ while (*String == L'0') {\r
String++;\r
LeadingZero = TRUE;\r
}\r
+\r
//\r
// allow '0x' or '0X', but not 'x' or 'X'\r
//\r
- if (*String == L'x' || *String == L'X') {\r
+ if ((*String == L'x') || (*String == L'X')) {\r
if (!LeadingZero) {\r
//\r
// we got an x without a preceeding 0\r
//\r
return (FALSE);\r
}\r
+\r
String++;\r
Hex = TRUE;\r
} else if (ForceHex) {\r
//\r
// loop through the remaining characters and use the lib function\r
//\r
- for ( ; *String != CHAR_NULL && !(StopAtSpace && *String == L' ') ; String++){\r
+ for ( ; *String != CHAR_NULL && !(StopAtSpace && *String == L' '); String++) {\r
if (TimeNumbers && (String[0] == L':')) {\r
continue;\r
}\r
+\r
if (Hex) {\r
- if (!ShellIsHexaDecimalDigitCharacter(*String)) {\r
+ if (!ShellIsHexaDecimalDigitCharacter (*String)) {\r
return (FALSE);\r
}\r
} else {\r
- if (!ShellIsDecimalDigitCharacter(*String)) {\r
+ if (!ShellIsDecimalDigitCharacter (*String)) {\r
return (FALSE);\r
}\r
}\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellFileExists(\r
- IN CONST CHAR16 *Name\r
+ShellFileExists (\r
+ IN CONST CHAR16 *Name\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_SHELL_FILE_INFO *List;\r
+ EFI_STATUS Status;\r
+ EFI_SHELL_FILE_INFO *List;\r
\r
- ASSERT(Name != NULL);\r
+ ASSERT (Name != NULL);\r
\r
- List = NULL;\r
- Status = ShellOpenFileMetaArg((CHAR16*)Name, EFI_FILE_MODE_READ, &List);\r
- if (EFI_ERROR(Status)) {\r
+ List = NULL;\r
+ Status = ShellOpenFileMetaArg ((CHAR16 *)Name, EFI_FILE_MODE_READ, &List);\r
+ if (EFI_ERROR (Status)) {\r
return (Status);\r
}\r
\r
- ShellCloseFileMetaArg(&List);\r
+ ShellCloseFileMetaArg (&List);\r
\r
return (EFI_SUCCESS);\r
}\r
**/\r
UINTN\r
InternalShellHexCharToUintn (\r
- IN CHAR16 Char\r
+ IN CHAR16 Char\r
)\r
{\r
if (ShellIsDecimalDigitCharacter (Char)) {\r
EFI_STATUS\r
InternalShellStrHexToUint64 (\r
IN CONST CHAR16 *String,\r
- OUT UINT64 *Value,\r
+ OUT UINT64 *Value,\r
IN CONST BOOLEAN StopAtSpace\r
)\r
{\r
- UINT64 Result;\r
+ UINT64 Result;\r
\r
- if (String == NULL || StrSize(String) == 0 || Value == NULL) {\r
+ if ((String == NULL) || (StrSize (String) == 0) || (Value == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
if (*(String - 1) != L'0') {\r
return 0;\r
}\r
+\r
//\r
// Skip the 'X'\r
//\r
// If the Hex Number represented by String overflows according\r
// to the range defined by UINT64, then return EFI_DEVICE_ERROR.\r
//\r
- if (!(Result <= (RShiftU64((((UINT64) ~0) - InternalShellHexCharToUintn (*String)), 4)))) {\r
-// if (!(Result <= ((((UINT64) ~0) - InternalShellHexCharToUintn (*String)) >> 4))) {\r
+ if (!(Result <= (RShiftU64 ((((UINT64) ~0) - InternalShellHexCharToUintn (*String)), 4)))) {\r
+ // if (!(Result <= ((((UINT64) ~0) - InternalShellHexCharToUintn (*String)) >> 4))) {\r
return (EFI_DEVICE_ERROR);\r
}\r
\r
- Result = (LShiftU64(Result, 4));\r
+ Result = (LShiftU64 (Result, 4));\r
Result += InternalShellHexCharToUintn (*String);\r
String++;\r
\r
//\r
// stop at spaces if requested\r
//\r
- if (StopAtSpace && *String == L' ') {\r
+ if (StopAtSpace && (*String == L' ')) {\r
break;\r
}\r
}\r
**/\r
EFI_STATUS\r
InternalShellStrDecimalToUint64 (\r
- IN CONST CHAR16 *String,\r
- OUT UINT64 *Value,\r
+ IN CONST CHAR16 *String,\r
+ OUT UINT64 *Value,\r
IN CONST BOOLEAN StopAtSpace\r
)\r
{\r
- UINT64 Result;\r
+ UINT64 Result;\r
\r
- if (String == NULL || StrSize (String) == 0 || Value == NULL) {\r
+ if ((String == NULL) || (StrSize (String) == 0) || (Value == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
// Stop upon space if requested\r
// (if the whole value was 0)\r
//\r
- if (StopAtSpace && *String == L' ') {\r
+ if (StopAtSpace && (*String == L' ')) {\r
*Value = Result;\r
return (EFI_SUCCESS);\r
}\r
// to the range defined by UINT64, then return EFI_DEVICE_ERROR.\r
//\r
\r
- if (!(Result <= (DivU64x32((((UINT64) ~0) - (*String - L'0')),10)))) {\r
+ if (!(Result <= (DivU64x32 ((((UINT64) ~0) - (*String - L'0')), 10)))) {\r
return (EFI_DEVICE_ERROR);\r
}\r
\r
- Result = MultU64x32(Result, 10) + (*String - L'0');\r
+ Result = MultU64x32 (Result, 10) + (*String - L'0');\r
String++;\r
\r
//\r
// Stop at spaces if requested\r
//\r
- if (StopAtSpace && *String == L' ') {\r
+ if (StopAtSpace && (*String == L' ')) {\r
break;\r
}\r
}\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellConvertStringToUint64(\r
+ShellConvertStringToUint64 (\r
IN CONST CHAR16 *String,\r
- OUT UINT64 *Value,\r
+ OUT UINT64 *Value,\r
IN CONST BOOLEAN ForceHex,\r
IN CONST BOOLEAN StopAtSpace\r
)\r
\r
Hex = ForceHex;\r
\r
- if (!InternalShellIsHexOrDecimalNumber(String, Hex, StopAtSpace, FALSE)) {\r
+ if (!InternalShellIsHexOrDecimalNumber (String, Hex, StopAtSpace, FALSE)) {\r
if (!Hex) {\r
Hex = TRUE;\r
- if (!InternalShellIsHexOrDecimalNumber(String, Hex, StopAtSpace, FALSE)) {\r
+ if (!InternalShellIsHexOrDecimalNumber (String, Hex, StopAtSpace, FALSE)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
} else {\r
//\r
// Chop off leading spaces\r
//\r
- for (Walker = String; Walker != NULL && *Walker != CHAR_NULL && *Walker == L' '; Walker++);\r
+ for (Walker = String; Walker != NULL && *Walker != CHAR_NULL && *Walker == L' '; Walker++) {\r
+ }\r
\r
//\r
// make sure we have something left that is numeric.\r
//\r
- if (Walker == NULL || *Walker == CHAR_NULL || !InternalShellIsHexOrDecimalNumber(Walker, Hex, StopAtSpace, FALSE)) {\r
+ if ((Walker == NULL) || (*Walker == CHAR_NULL) || !InternalShellIsHexOrDecimalNumber (Walker, Hex, StopAtSpace, FALSE)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
//\r
// do the conversion.\r
//\r
- if (Hex || StrnCmp(Walker, L"0x", 2) == 0 || StrnCmp(Walker, L"0X", 2) == 0){\r
- Status = InternalShellStrHexToUint64(Walker, &RetVal, StopAtSpace);\r
+ if (Hex || (StrnCmp (Walker, L"0x", 2) == 0) || (StrnCmp (Walker, L"0X", 2) == 0)) {\r
+ Status = InternalShellStrHexToUint64 (Walker, &RetVal, StopAtSpace);\r
} else {\r
- Status = InternalShellStrDecimalToUint64(Walker, &RetVal, StopAtSpace);\r
+ Status = InternalShellStrDecimalToUint64 (Walker, &RetVal, StopAtSpace);\r
}\r
\r
- if (Value == NULL && !EFI_ERROR(Status)) {\r
+ if ((Value == NULL) && !EFI_ERROR (Status)) {\r
return (EFI_NOT_FOUND);\r
}\r
\r
IN CONST BOOLEAN StopAtSpace\r
)\r
{\r
- if (ShellConvertStringToUint64(String, NULL, ForceHex, StopAtSpace) == EFI_NOT_FOUND) {\r
+ if (ShellConvertStringToUint64 (String, NULL, ForceHex, StopAtSpace) == EFI_NOT_FOUND) {\r
return (TRUE);\r
}\r
+\r
return (FALSE);\r
}\r
\r
\r
@sa ShellFileHandleReadLine\r
**/\r
-CHAR16*\r
+CHAR16 *\r
EFIAPI\r
-ShellFileHandleReturnLine(\r
- IN SHELL_FILE_HANDLE Handle,\r
- IN OUT BOOLEAN *Ascii\r
+ShellFileHandleReturnLine (\r
+ IN SHELL_FILE_HANDLE Handle,\r
+ IN OUT BOOLEAN *Ascii\r
)\r
{\r
- CHAR16 *RetVal;\r
- UINTN Size;\r
- EFI_STATUS Status;\r
+ CHAR16 *RetVal;\r
+ UINTN Size;\r
+ EFI_STATUS Status;\r
\r
- Size = 0;\r
+ Size = 0;\r
RetVal = NULL;\r
\r
- Status = ShellFileHandleReadLine(Handle, RetVal, &Size, FALSE, Ascii);\r
+ Status = ShellFileHandleReadLine (Handle, RetVal, &Size, FALSE, Ascii);\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- RetVal = AllocateZeroPool(Size);\r
+ RetVal = AllocateZeroPool (Size);\r
if (RetVal == NULL) {\r
return (NULL);\r
}\r
- Status = ShellFileHandleReadLine(Handle, RetVal, &Size, FALSE, Ascii);\r
\r
+ Status = ShellFileHandleReadLine (Handle, RetVal, &Size, FALSE, Ascii);\r
}\r
- if (Status == EFI_END_OF_FILE && RetVal != NULL && *RetVal != CHAR_NULL) {\r
+\r
+ if ((Status == EFI_END_OF_FILE) && (RetVal != NULL) && (*RetVal != CHAR_NULL)) {\r
Status = EFI_SUCCESS;\r
}\r
- if (EFI_ERROR(Status) && (RetVal != NULL)) {\r
- FreePool(RetVal);\r
+\r
+ if (EFI_ERROR (Status) && (RetVal != NULL)) {\r
+ FreePool (RetVal);\r
RetVal = NULL;\r
}\r
+\r
return (RetVal);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellFileHandleReadLine(\r
- IN SHELL_FILE_HANDLE Handle,\r
- IN OUT CHAR16 *Buffer,\r
- IN OUT UINTN *Size,\r
- IN BOOLEAN Truncate,\r
- IN OUT BOOLEAN *Ascii\r
+ShellFileHandleReadLine (\r
+ IN SHELL_FILE_HANDLE Handle,\r
+ IN OUT CHAR16 *Buffer,\r
+ IN OUT UINTN *Size,\r
+ IN BOOLEAN Truncate,\r
+ IN OUT BOOLEAN *Ascii\r
)\r
{\r
EFI_STATUS Status;\r
UINTN CountSoFar;\r
UINT64 OriginalFilePosition;\r
\r
-\r
- if (Handle == NULL\r
- ||Size == NULL\r
- ){\r
+ if ( (Handle == NULL)\r
+ || (Size == NULL)\r
+ )\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
+\r
if (Buffer == NULL) {\r
- ASSERT(*Size == 0);\r
+ ASSERT (*Size == 0);\r
} else {\r
*Buffer = CHAR_NULL;\r
}\r
- gEfiShellProtocol->GetFilePosition(Handle, &OriginalFilePosition);\r
+\r
+ gEfiShellProtocol->GetFilePosition (Handle, &OriginalFilePosition);\r
if (OriginalFilePosition == 0) {\r
- CharSize = sizeof(CHAR16);\r
- Status = gEfiShellProtocol->ReadFile(Handle, &CharSize, &CharBuffer);\r
- ASSERT_EFI_ERROR(Status);\r
+ CharSize = sizeof (CHAR16);\r
+ Status = gEfiShellProtocol->ReadFile (Handle, &CharSize, &CharBuffer);\r
+ ASSERT_EFI_ERROR (Status);\r
if (CharBuffer == gUnicodeFileTag) {\r
*Ascii = FALSE;\r
} else {\r
*Ascii = TRUE;\r
- gEfiShellProtocol->SetFilePosition(Handle, OriginalFilePosition);\r
+ gEfiShellProtocol->SetFilePosition (Handle, OriginalFilePosition);\r
}\r
}\r
\r
if (*Ascii) {\r
- CharSize = sizeof(CHAR8);\r
+ CharSize = sizeof (CHAR8);\r
} else {\r
- CharSize = sizeof(CHAR16);\r
+ CharSize = sizeof (CHAR16);\r
}\r
- for (CountSoFar = 0;;CountSoFar++){\r
+\r
+ for (CountSoFar = 0; ; CountSoFar++) {\r
CharBuffer = 0;\r
- Status = gEfiShellProtocol->ReadFile(Handle, &CharSize, &CharBuffer);\r
- if ( EFI_ERROR(Status)\r
- || CharSize == 0\r
- || (CharBuffer == L'\n' && !(*Ascii))\r
- || (CharBuffer == '\n' && *Ascii)\r
- ){\r
+ Status = gEfiShellProtocol->ReadFile (Handle, &CharSize, &CharBuffer);\r
+ if ( EFI_ERROR (Status)\r
+ || (CharSize == 0)\r
+ || ((CharBuffer == L'\n') && !(*Ascii))\r
+ || ((CharBuffer == '\n') && *Ascii)\r
+ )\r
+ {\r
if (CharSize == 0) {\r
Status = EFI_END_OF_FILE;\r
}\r
+\r
break;\r
}\r
+\r
//\r
// if we have space save it...\r
//\r
- if ((CountSoFar+1)*sizeof(CHAR16) < *Size){\r
- ASSERT(Buffer != NULL);\r
- ((CHAR16*)Buffer)[CountSoFar] = CharBuffer;\r
- ((CHAR16*)Buffer)[CountSoFar+1] = CHAR_NULL;\r
+ if ((CountSoFar+1)*sizeof (CHAR16) < *Size) {\r
+ ASSERT (Buffer != NULL);\r
+ ((CHAR16 *)Buffer)[CountSoFar] = CharBuffer;\r
+ ((CHAR16 *)Buffer)[CountSoFar+1] = CHAR_NULL;\r
}\r
}\r
\r
//\r
// if we ran out of space tell when...\r
//\r
- if ((CountSoFar+1)*sizeof(CHAR16) > *Size){\r
- *Size = (CountSoFar+1)*sizeof(CHAR16);\r
+ if ((CountSoFar+1)*sizeof (CHAR16) > *Size) {\r
+ *Size = (CountSoFar+1)*sizeof (CHAR16);\r
if (!Truncate) {\r
- gEfiShellProtocol->SetFilePosition(Handle, OriginalFilePosition);\r
+ gEfiShellProtocol->SetFilePosition (Handle, OriginalFilePosition);\r
} else {\r
- DEBUG((DEBUG_WARN, "The line was truncated in ShellFileHandleReadLine"));\r
+ DEBUG ((DEBUG_WARN, "The line was truncated in ShellFileHandleReadLine"));\r
}\r
+\r
return (EFI_BUFFER_TOO_SMALL);\r
}\r
- while(Buffer[StrLen(Buffer)-1] == L'\r') {\r
- Buffer[StrLen(Buffer)-1] = CHAR_NULL;\r
+\r
+ while (Buffer[StrLen (Buffer)-1] == L'\r') {\r
+ Buffer[StrLen (Buffer)-1] = CHAR_NULL;\r
}\r
\r
return (Status);\r
EFI_STATUS\r
EFIAPI\r
ShellPrintHelp (\r
- IN CONST CHAR16 *CommandToGetHelpOn,\r
- IN CONST CHAR16 *SectionToGetHelpOn,\r
- IN BOOLEAN PrintCommandText\r
+ IN CONST CHAR16 *CommandToGetHelpOn,\r
+ IN CONST CHAR16 *SectionToGetHelpOn,\r
+ IN BOOLEAN PrintCommandText\r
)\r
{\r
- EFI_STATUS Status;\r
- CHAR16 *OutText;\r
+ EFI_STATUS Status;\r
+ CHAR16 *OutText;\r
\r
OutText = NULL;\r
\r
//\r
// make sure we got a valid string\r
//\r
- if (EFI_ERROR(Status)){\r
+ if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
- if (OutText == NULL || StrLen(OutText) == 0) {\r
+\r
+ if ((OutText == NULL) || (StrLen (OutText) == 0)) {\r
return EFI_NOT_FOUND;\r
}\r
\r
//\r
// Chop off trailing stuff we dont need\r
//\r
- while (OutText[StrLen(OutText)-1] == L'\r' || OutText[StrLen(OutText)-1] == L'\n' || OutText[StrLen(OutText)-1] == L' ') {\r
- OutText[StrLen(OutText)-1] = CHAR_NULL;\r
+ while (OutText[StrLen (OutText)-1] == L'\r' || OutText[StrLen (OutText)-1] == L'\n' || OutText[StrLen (OutText)-1] == L' ') {\r
+ OutText[StrLen (OutText)-1] = CHAR_NULL;\r
}\r
\r
//\r
// Print this out to the console\r
//\r
if (PrintCommandText) {\r
- ShellPrintEx(-1, -1, L"%H%-14s%N- %s\r\n", CommandToGetHelpOn, OutText);\r
+ ShellPrintEx (-1, -1, L"%H%-14s%N- %s\r\n", CommandToGetHelpOn, OutText);\r
} else {\r
- ShellPrintEx(-1, -1, L"%N%s\r\n", OutText);\r
+ ShellPrintEx (-1, -1, L"%N%s\r\n", OutText);\r
}\r
\r
- SHELL_FREE_NON_NULL(OutText);\r
+ SHELL_FREE_NON_NULL (OutText);\r
\r
return EFI_SUCCESS;\r
}\r
**/\r
EFI_STATUS\r
EFIAPI\r
-ShellDeleteFileByName(\r
- IN CONST CHAR16 *FileName\r
+ShellDeleteFileByName (\r
+ IN CONST CHAR16 *FileName\r
)\r
{\r
- EFI_STATUS Status;\r
- SHELL_FILE_HANDLE FileHandle;\r
+ EFI_STATUS Status;\r
+ SHELL_FILE_HANDLE FileHandle;\r
\r
- Status = ShellFileExists(FileName);\r
+ Status = ShellFileExists (FileName);\r
\r
- if (Status == EFI_SUCCESS){\r
- Status = ShellOpenFileByName(FileName, &FileHandle, EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0x0);\r
- if (Status == EFI_SUCCESS){\r
- Status = ShellDeleteFile(&FileHandle);\r
+ if (Status == EFI_SUCCESS) {\r
+ Status = ShellOpenFileByName (FileName, &FileHandle, EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0x0);\r
+ if (Status == EFI_SUCCESS) {\r
+ Status = ShellDeleteFile (&FileHandle);\r
}\r
}\r
\r
- return(Status);\r
-\r
+ return (Status);\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
InternalShellStripQuotes (\r
- IN CONST CHAR16 *OriginalString,\r
- OUT CHAR16 **CleanString\r
+ IN CONST CHAR16 *OriginalString,\r
+ OUT CHAR16 **CleanString\r
)\r
{\r
- CHAR16 *Walker;\r
+ CHAR16 *Walker;\r
\r
- if (OriginalString == NULL || CleanString == NULL) {\r
+ if ((OriginalString == NULL) || (CleanString == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- for (Walker = *CleanString; Walker != NULL && *Walker != CHAR_NULL ; Walker++) {\r
+ for (Walker = *CleanString; Walker != NULL && *Walker != CHAR_NULL; Walker++) {\r
if (*Walker == L'\"') {\r
- CopyMem(Walker, Walker+1, StrSize(Walker) - sizeof(Walker[0]));\r
+ CopyMem (Walker, Walker+1, StrSize (Walker) - sizeof (Walker[0]));\r
}\r
}\r
\r
return EFI_SUCCESS;\r
}\r
-\r