EFI_STATUS\r
EFIAPI\r
EfiShellClose (\r
- IN SHELL_FILE_HANDLE FileHandle\r
+ IN SHELL_FILE_HANDLE FileHandle\r
)\r
{\r
- ShellFileHandleRemove(FileHandle);\r
- return (FileHandleClose(ConvertShellHandleToEfiFileProtocol(FileHandle)));\r
+ ShellFileHandleRemove (FileHandle);\r
+ return (FileHandleClose (ConvertShellHandleToEfiFileProtocol (FileHandle)));\r
}\r
\r
/**\r
@retval FALSE gEfiBlockIoProtocolGuid was not found.\r
**/\r
BOOLEAN\r
-InternalShellProtocolIsBlockIoPresent(\r
- IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
+InternalShellProtocolIsBlockIoPresent (\r
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
)\r
{\r
EFI_DEVICE_PATH_PROTOCOL *DevicePathCopy;\r
\r
Handle = NULL;\r
\r
- DevicePathCopy = (EFI_DEVICE_PATH_PROTOCOL*)DevicePath;\r
- Status = gBS->LocateDevicePath(&gEfiBlockIoProtocolGuid, &DevicePathCopy, &Handle);\r
+ DevicePathCopy = (EFI_DEVICE_PATH_PROTOCOL *)DevicePath;\r
+ Status = gBS->LocateDevicePath (&gEfiBlockIoProtocolGuid, &DevicePathCopy, &Handle);\r
\r
- if ((Handle != NULL) && (!EFI_ERROR(Status))) {\r
+ if ((Handle != NULL) && (!EFI_ERROR (Status))) {\r
return (TRUE);\r
}\r
+\r
return (FALSE);\r
}\r
\r
@retval FALSE gEfiSimpleFileSystemProtocolGuid was not found.\r
**/\r
BOOLEAN\r
-InternalShellProtocolIsSimpleFileSystemPresent(\r
- IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
+InternalShellProtocolIsSimpleFileSystemPresent (\r
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
)\r
{\r
EFI_DEVICE_PATH_PROTOCOL *DevicePathCopy;\r
\r
Handle = NULL;\r
\r
- DevicePathCopy = (EFI_DEVICE_PATH_PROTOCOL*)DevicePath;\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &DevicePathCopy, &Handle);\r
+ DevicePathCopy = (EFI_DEVICE_PATH_PROTOCOL *)DevicePath;\r
+ Status = gBS->LocateDevicePath (&gEfiSimpleFileSystemProtocolGuid, &DevicePathCopy, &Handle);\r
\r
- if ((Handle != NULL) && (!EFI_ERROR(Status))) {\r
+ if ((Handle != NULL) && (!EFI_ERROR (Status))) {\r
return (TRUE);\r
}\r
+\r
return (FALSE);\r
}\r
\r
-\r
/**\r
This function creates a mapping for a device path.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellSetMap(\r
- IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL,\r
- IN CONST CHAR16 *Mapping\r
+EfiShellSetMap (\r
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath OPTIONAL,\r
+ IN CONST CHAR16 *Mapping\r
)\r
{\r
EFI_STATUS Status;\r
SHELL_MAP_LIST *MapListNode;\r
\r
- if (Mapping == NULL){\r
+ if (Mapping == NULL) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- if (Mapping[StrLen(Mapping)-1] != ':') {\r
+ if (Mapping[StrLen (Mapping)-1] != ':') {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
// Delete the mapping\r
//\r
if (DevicePath == NULL) {\r
- if (IsListEmpty(&gShellMapList.Link)) {\r
+ if (IsListEmpty (&gShellMapList.Link)) {\r
return (EFI_NOT_FOUND);\r
}\r
- for ( MapListNode = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)\r
- ; !IsNull(&gShellMapList.Link, &MapListNode->Link)\r
- ; MapListNode = (SHELL_MAP_LIST *)GetNextNode(&gShellMapList.Link, &MapListNode->Link)\r
- ){\r
- if (StringNoCaseCompare(&MapListNode->MapName, &Mapping) == 0) {\r
- RemoveEntryList(&MapListNode->Link);\r
- SHELL_FREE_NON_NULL(MapListNode->DevicePath);\r
- SHELL_FREE_NON_NULL(MapListNode->MapName);\r
- SHELL_FREE_NON_NULL(MapListNode->CurrentDirectoryPath);\r
- FreePool(MapListNode);\r
- return (EFI_SUCCESS);\r
- }\r
+\r
+ for ( MapListNode = (SHELL_MAP_LIST *)GetFirstNode (&gShellMapList.Link)\r
+ ; !IsNull (&gShellMapList.Link, &MapListNode->Link)\r
+ ; MapListNode = (SHELL_MAP_LIST *)GetNextNode (&gShellMapList.Link, &MapListNode->Link)\r
+ )\r
+ {\r
+ if (StringNoCaseCompare (&MapListNode->MapName, &Mapping) == 0) {\r
+ RemoveEntryList (&MapListNode->Link);\r
+ SHELL_FREE_NON_NULL (MapListNode->DevicePath);\r
+ SHELL_FREE_NON_NULL (MapListNode->MapName);\r
+ SHELL_FREE_NON_NULL (MapListNode->CurrentDirectoryPath);\r
+ FreePool (MapListNode);\r
+ return (EFI_SUCCESS);\r
+ }\r
} // for loop\r
\r
//\r
//\r
// make sure this is a valid to add device path\r
//\r
- ///@todo add BlockIo to this test...\r
- if (!InternalShellProtocolIsSimpleFileSystemPresent(DevicePath)\r
- && !InternalShellProtocolIsBlockIoPresent(DevicePath)) {\r
+ /// @todo add BlockIo to this test...\r
+ if ( !InternalShellProtocolIsSimpleFileSystemPresent (DevicePath)\r
+ && !InternalShellProtocolIsBlockIoPresent (DevicePath))\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
//\r
// First make sure there is no old mapping\r
//\r
- Status = EfiShellSetMap(NULL, Mapping);\r
+ Status = EfiShellSetMap (NULL, Mapping);\r
if ((Status != EFI_SUCCESS) && (Status != EFI_NOT_FOUND)) {\r
return (Status);\r
}\r
//\r
// now add the new one.\r
//\r
- Status = ShellCommandAddMapItemAndUpdatePath(Mapping, DevicePath, 0, FALSE);\r
+ Status = ShellCommandAddMapItemAndUpdatePath (Mapping, DevicePath, 0, FALSE);\r
\r
- return(Status);\r
+ return (Status);\r
}\r
\r
/**\r
**/\r
CONST EFI_DEVICE_PATH_PROTOCOL *\r
EFIAPI\r
-EfiShellGetDevicePathFromMap(\r
- IN CONST CHAR16 *Mapping\r
+EfiShellGetDevicePathFromMap (\r
+ IN CONST CHAR16 *Mapping\r
)\r
{\r
SHELL_MAP_LIST *MapListItem;\r
NewName = NULL;\r
Size = 0;\r
\r
- StrnCatGrow(&NewName, &Size, Mapping, 0);\r
- if (Mapping[StrLen(Mapping)-1] != L':') {\r
- StrnCatGrow(&NewName, &Size, L":", 0);\r
+ StrnCatGrow (&NewName, &Size, Mapping, 0);\r
+ if (Mapping[StrLen (Mapping)-1] != L':') {\r
+ StrnCatGrow (&NewName, &Size, L":", 0);\r
}\r
\r
- MapListItem = ShellCommandFindMapItem(NewName);\r
+ MapListItem = ShellCommandFindMapItem (NewName);\r
\r
- FreePool(NewName);\r
+ FreePool (NewName);\r
\r
if (MapListItem != NULL) {\r
return (MapListItem->DevicePath);\r
}\r
- return(NULL);\r
+\r
+ return (NULL);\r
}\r
\r
/**\r
**/\r
CONST CHAR16 *\r
EFIAPI\r
-EfiShellGetMapFromDevicePath(\r
- IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath\r
+EfiShellGetMapFromDevicePath (\r
+ IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath\r
)\r
{\r
- SHELL_MAP_LIST *Node;\r
- CHAR16 *PathForReturn;\r
- UINTN PathSize;\r
-// EFI_HANDLE PathHandle;\r
-// EFI_HANDLE MapHandle;\r
-// EFI_STATUS Status;\r
-// EFI_DEVICE_PATH_PROTOCOL *DevicePathCopy;\r
-// EFI_DEVICE_PATH_PROTOCOL *MapPathCopy;\r
-\r
- if (DevicePath == NULL || *DevicePath == NULL) {\r
+ SHELL_MAP_LIST *Node;\r
+ CHAR16 *PathForReturn;\r
+ UINTN PathSize;\r
+\r
+ // EFI_HANDLE PathHandle;\r
+ // EFI_HANDLE MapHandle;\r
+ // EFI_STATUS Status;\r
+ // EFI_DEVICE_PATH_PROTOCOL *DevicePathCopy;\r
+ // EFI_DEVICE_PATH_PROTOCOL *MapPathCopy;\r
+\r
+ if ((DevicePath == NULL) || (*DevicePath == NULL)) {\r
return (NULL);\r
}\r
\r
PathForReturn = NULL;\r
PathSize = 0;\r
\r
- for ( Node = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)\r
- ; !IsNull(&gShellMapList.Link, &Node->Link)\r
- ; Node = (SHELL_MAP_LIST *)GetNextNode(&gShellMapList.Link, &Node->Link)\r
- ){\r
+ for ( Node = (SHELL_MAP_LIST *)GetFirstNode (&gShellMapList.Link)\r
+ ; !IsNull (&gShellMapList.Link, &Node->Link)\r
+ ; Node = (SHELL_MAP_LIST *)GetNextNode (&gShellMapList.Link, &Node->Link)\r
+ )\r
+ {\r
//\r
// check for exact match\r
//\r
- if (DevicePathCompare(DevicePath, &Node->DevicePath) == 0) {\r
- ASSERT((PathForReturn == NULL && PathSize == 0) || (PathForReturn != NULL));\r
+ if (DevicePathCompare (DevicePath, &Node->DevicePath) == 0) {\r
+ ASSERT ((PathForReturn == NULL && PathSize == 0) || (PathForReturn != NULL));\r
if (PathSize != 0) {\r
- PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, L";", 0);\r
+ PathForReturn = StrnCatGrow (&PathForReturn, &PathSize, L";", 0);\r
}\r
- PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, Node->MapName, 0);\r
+\r
+ PathForReturn = StrnCatGrow (&PathForReturn, &PathSize, Node->MapName, 0);\r
}\r
}\r
+\r
if (PathForReturn != NULL) {\r
while (!IsDevicePathEndType (*DevicePath)) {\r
*DevicePath = NextDevicePathNode (*DevicePath);\r
}\r
+\r
SetDevicePathEndNode (*DevicePath);\r
}\r
-/*\r
- ///@todo finish code for inexact matches.\r
- if (PathForReturn == NULL) {\r
- PathSize = 0;\r
\r
- DevicePathCopy = DuplicateDevicePath(*DevicePath);\r
- ASSERT(DevicePathCopy != NULL);\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &DevicePathCopy, &PathHandle);\r
- ASSERT_EFI_ERROR(Status);\r
- //\r
- // check each of the device paths we have to get the root of the path for consist mappings\r
- //\r
- for ( Node = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)\r
- ; !IsNull(&gShellMapList.Link, &Node->Link)\r
- ; Node = (SHELL_MAP_LIST *)GetNextNode(&gShellMapList.Link, &Node->Link)\r
- ){\r
- if ((Node->Flags & SHELL_MAP_FLAGS_CONSIST) == 0) {\r
- continue;\r
- }\r
- MapPathCopy = DuplicateDevicePath(Node->DevicePath);\r
- ASSERT(MapPathCopy != NULL);\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &MapPathCopy, &MapHandle);\r
- if (MapHandle == PathHandle) {\r
+ /*\r
+ ///@todo finish code for inexact matches.\r
+ if (PathForReturn == NULL) {\r
+ PathSize = 0;\r
+\r
+ DevicePathCopy = DuplicateDevicePath(*DevicePath);\r
+ ASSERT(DevicePathCopy != NULL);\r
+ Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &DevicePathCopy, &PathHandle);\r
+ ASSERT_EFI_ERROR(Status);\r
+ //\r
+ // check each of the device paths we have to get the root of the path for consist mappings\r
+ //\r
+ for ( Node = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)\r
+ ; !IsNull(&gShellMapList.Link, &Node->Link)\r
+ ; Node = (SHELL_MAP_LIST *)GetNextNode(&gShellMapList.Link, &Node->Link)\r
+ ){\r
+ if ((Node->Flags & SHELL_MAP_FLAGS_CONSIST) == 0) {\r
+ continue;\r
+ }\r
+ MapPathCopy = DuplicateDevicePath(Node->DevicePath);\r
+ ASSERT(MapPathCopy != NULL);\r
+ Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &MapPathCopy, &MapHandle);\r
+ if (MapHandle == PathHandle) {\r
\r
- *DevicePath = DevicePathCopy;\r
+ *DevicePath = DevicePathCopy;\r
\r
- MapPathCopy = NULL;\r
- DevicePathCopy = NULL;\r
- PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, Node->MapName, 0);\r
- PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, L";", 0);\r
- break;\r
- }\r
- }\r
- //\r
- // now add on the non-consistent mappings\r
- //\r
- for ( Node = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)\r
- ; !IsNull(&gShellMapList.Link, &Node->Link)\r
- ; Node = (SHELL_MAP_LIST *)GetNextNode(&gShellMapList.Link, &Node->Link)\r
- ){\r
- if ((Node->Flags & SHELL_MAP_FLAGS_CONSIST) != 0) {\r
- continue;\r
+ MapPathCopy = NULL;\r
+ DevicePathCopy = NULL;\r
+ PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, Node->MapName, 0);\r
+ PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, L";", 0);\r
+ break;\r
+ }\r
}\r
- MapPathCopy = Node->DevicePath;\r
- ASSERT(MapPathCopy != NULL);\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &MapPathCopy, &MapHandle);\r
- if (MapHandle == PathHandle) {\r
- PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, Node->MapName, 0);\r
- PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, L";", 0);\r
- break;\r
+ //\r
+ // now add on the non-consistent mappings\r
+ //\r
+ for ( Node = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)\r
+ ; !IsNull(&gShellMapList.Link, &Node->Link)\r
+ ; Node = (SHELL_MAP_LIST *)GetNextNode(&gShellMapList.Link, &Node->Link)\r
+ ){\r
+ if ((Node->Flags & SHELL_MAP_FLAGS_CONSIST) != 0) {\r
+ continue;\r
+ }\r
+ MapPathCopy = Node->DevicePath;\r
+ ASSERT(MapPathCopy != NULL);\r
+ Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &MapPathCopy, &MapHandle);\r
+ if (MapHandle == PathHandle) {\r
+ PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, Node->MapName, 0);\r
+ PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, L";", 0);\r
+ break;\r
+ }\r
}\r
}\r
- }\r
-*/\r
+ */\r
\r
- return (AddBufferToFreeList(PathForReturn));\r
+ return (AddBufferToFreeList (PathForReturn));\r
}\r
\r
/**\r
**/\r
CHAR16 *\r
EFIAPI\r
-EfiShellGetFilePathFromDevicePath(\r
- IN CONST EFI_DEVICE_PATH_PROTOCOL *Path\r
+EfiShellGetFilePathFromDevicePath (\r
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *Path\r
)\r
{\r
EFI_DEVICE_PATH_PROTOCOL *DevicePathCopy;\r
- EFI_DEVICE_PATH_PROTOCOL *MapPathCopy;\r
- SHELL_MAP_LIST *MapListItem;\r
- CHAR16 *PathForReturn;\r
- UINTN PathSize;\r
- EFI_HANDLE PathHandle;\r
- EFI_HANDLE MapHandle;\r
- EFI_STATUS Status;\r
- FILEPATH_DEVICE_PATH *FilePath;\r
- FILEPATH_DEVICE_PATH *AlignedNode;\r
+ EFI_DEVICE_PATH_PROTOCOL *MapPathCopy;\r
+ SHELL_MAP_LIST *MapListItem;\r
+ CHAR16 *PathForReturn;\r
+ UINTN PathSize;\r
+ EFI_HANDLE PathHandle;\r
+ EFI_HANDLE MapHandle;\r
+ EFI_STATUS Status;\r
+ FILEPATH_DEVICE_PATH *FilePath;\r
+ FILEPATH_DEVICE_PATH *AlignedNode;\r
\r
PathForReturn = NULL;\r
- PathSize = 0;\r
+ PathSize = 0;\r
\r
- DevicePathCopy = (EFI_DEVICE_PATH_PROTOCOL*)Path;\r
- ASSERT(DevicePathCopy != NULL);\r
+ DevicePathCopy = (EFI_DEVICE_PATH_PROTOCOL *)Path;\r
+ ASSERT (DevicePathCopy != NULL);\r
if (DevicePathCopy == NULL) {\r
return (NULL);\r
}\r
- ///@todo BlockIo?\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &DevicePathCopy, &PathHandle);\r
\r
- if (EFI_ERROR(Status)) {\r
+ /// @todo BlockIo?\r
+ Status = gBS->LocateDevicePath (&gEfiSimpleFileSystemProtocolGuid, &DevicePathCopy, &PathHandle);\r
+\r
+ if (EFI_ERROR (Status)) {\r
return (NULL);\r
}\r
+\r
//\r
// check each of the device paths we have to get the root of the path\r
//\r
- for ( MapListItem = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)\r
- ; !IsNull(&gShellMapList.Link, &MapListItem->Link)\r
- ; MapListItem = (SHELL_MAP_LIST *)GetNextNode(&gShellMapList.Link, &MapListItem->Link)\r
- ){\r
- MapPathCopy = (EFI_DEVICE_PATH_PROTOCOL*)MapListItem->DevicePath;\r
- ASSERT(MapPathCopy != NULL);\r
- ///@todo BlockIo?\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &MapPathCopy, &MapHandle);\r
+ for ( MapListItem = (SHELL_MAP_LIST *)GetFirstNode (&gShellMapList.Link)\r
+ ; !IsNull (&gShellMapList.Link, &MapListItem->Link)\r
+ ; MapListItem = (SHELL_MAP_LIST *)GetNextNode (&gShellMapList.Link, &MapListItem->Link)\r
+ )\r
+ {\r
+ MapPathCopy = (EFI_DEVICE_PATH_PROTOCOL *)MapListItem->DevicePath;\r
+ ASSERT (MapPathCopy != NULL);\r
+ /// @todo BlockIo?\r
+ Status = gBS->LocateDevicePath (&gEfiSimpleFileSystemProtocolGuid, &MapPathCopy, &MapHandle);\r
if (MapHandle == PathHandle) {\r
- ASSERT((PathForReturn == NULL && PathSize == 0) || (PathForReturn != NULL));\r
- PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, MapListItem->MapName, 0);\r
+ ASSERT ((PathForReturn == NULL && PathSize == 0) || (PathForReturn != NULL));\r
+ PathForReturn = StrnCatGrow (&PathForReturn, &PathSize, MapListItem->MapName, 0);\r
//\r
// go through all the remaining nodes in the device path\r
//\r
- for ( FilePath = (FILEPATH_DEVICE_PATH*)DevicePathCopy\r
- ; !IsDevicePathEnd (&FilePath->Header)\r
- ; FilePath = (FILEPATH_DEVICE_PATH*)NextDevicePathNode (&FilePath->Header)\r
- ){\r
+ for ( FilePath = (FILEPATH_DEVICE_PATH *)DevicePathCopy\r
+ ; !IsDevicePathEnd (&FilePath->Header)\r
+ ; FilePath = (FILEPATH_DEVICE_PATH *)NextDevicePathNode (&FilePath->Header)\r
+ )\r
+ {\r
//\r
// If any node is not a file path node, then the conversion can not be completed\r
//\r
- if ((DevicePathType(&FilePath->Header) != MEDIA_DEVICE_PATH) ||\r
- (DevicePathSubType(&FilePath->Header) != MEDIA_FILEPATH_DP)) {\r
- FreePool(PathForReturn);\r
+ if ((DevicePathType (&FilePath->Header) != MEDIA_DEVICE_PATH) ||\r
+ (DevicePathSubType (&FilePath->Header) != MEDIA_FILEPATH_DP))\r
+ {\r
+ FreePool (PathForReturn);\r
return NULL;\r
}\r
\r
//\r
// append the path part onto the filepath.\r
//\r
- ASSERT((PathForReturn == NULL && PathSize == 0) || (PathForReturn != NULL));\r
+ ASSERT ((PathForReturn == NULL && PathSize == 0) || (PathForReturn != NULL));\r
\r
- AlignedNode = AllocateCopyPool (DevicePathNodeLength(FilePath), FilePath);\r
+ AlignedNode = AllocateCopyPool (DevicePathNodeLength (FilePath), FilePath);\r
if (AlignedNode == NULL) {\r
FreePool (PathForReturn);\r
return NULL;\r
if ((PathSize != 0) &&\r
(PathForReturn != NULL) &&\r
(PathForReturn[PathSize / sizeof (CHAR16) - 1] != L'\\') &&\r
- (AlignedNode->PathName[0] != L'\\')) {\r
+ (AlignedNode->PathName[0] != L'\\'))\r
+ {\r
PathForReturn = StrnCatGrow (&PathForReturn, &PathSize, L"\\", 1);\r
}\r
\r
- PathForReturn = StrnCatGrow(&PathForReturn, &PathSize, AlignedNode->PathName, 0);\r
- FreePool(AlignedNode);\r
+ PathForReturn = StrnCatGrow (&PathForReturn, &PathSize, AlignedNode->PathName, 0);\r
+ FreePool (AlignedNode);\r
} // for loop of remaining nodes\r
}\r
+\r
if (PathForReturn != NULL) {\r
break;\r
}\r
} // for loop of paths to check\r
- return(PathForReturn);\r
+\r
+ return (PathForReturn);\r
}\r
\r
/**\r
**/\r
EFI_DEVICE_PATH_PROTOCOL *\r
EFIAPI\r
-EfiShellGetDevicePathFromFilePath(\r
- IN CONST CHAR16 *Path\r
+EfiShellGetDevicePathFromFilePath (\r
+ IN CONST CHAR16 *Path\r
)\r
{\r
CHAR16 *MapName;\r
MapName = NULL;\r
NewPath = NULL;\r
\r
- if (StrStr(Path, L":") == NULL) {\r
- Cwd = EfiShellGetCurDir(NULL);\r
+ if (StrStr (Path, L":") == NULL) {\r
+ Cwd = EfiShellGetCurDir (NULL);\r
if (Cwd == NULL) {\r
return (NULL);\r
}\r
- Size = StrSize(Cwd) + StrSize(Path);\r
- NewPath = AllocateZeroPool(Size);\r
+\r
+ Size = StrSize (Cwd) + StrSize (Path);\r
+ NewPath = AllocateZeroPool (Size);\r
if (NewPath == NULL) {\r
return (NULL);\r
}\r
- StrCpyS(NewPath, Size/sizeof(CHAR16), Cwd);\r
- StrCatS(NewPath, Size/sizeof(CHAR16), L"\\");\r
+\r
+ StrCpyS (NewPath, Size/sizeof (CHAR16), Cwd);\r
+ StrCatS (NewPath, Size/sizeof (CHAR16), L"\\");\r
if (*Path == L'\\') {\r
Path++;\r
- while (PathRemoveLastItem(NewPath)) ;\r
+ while (PathRemoveLastItem (NewPath)) {\r
+ }\r
}\r
- StrCatS(NewPath, Size/sizeof(CHAR16), Path);\r
- DevicePathForReturn = EfiShellGetDevicePathFromFilePath(NewPath);\r
- FreePool(NewPath);\r
+\r
+ StrCatS (NewPath, Size/sizeof (CHAR16), Path);\r
+ DevicePathForReturn = EfiShellGetDevicePathFromFilePath (NewPath);\r
+ FreePool (NewPath);\r
return (DevicePathForReturn);\r
}\r
\r
//\r
// find the part before (but including) the : for the map name\r
//\r
- ASSERT((MapName == NULL && Size == 0) || (MapName != NULL));\r
- MapName = StrnCatGrow(&MapName, &Size, Path, (StrStr(Path, L":")-Path+1));\r
- if (MapName == NULL || MapName[StrLen(MapName)-1] != L':') {\r
+ ASSERT ((MapName == NULL && Size == 0) || (MapName != NULL));\r
+ MapName = StrnCatGrow (&MapName, &Size, Path, (StrStr (Path, L":")-Path+1));\r
+ if ((MapName == NULL) || (MapName[StrLen (MapName)-1] != L':')) {\r
return (NULL);\r
}\r
\r
//\r
// look up the device path in the map\r
//\r
- DevicePath = EfiShellGetDevicePathFromMap(MapName);\r
+ DevicePath = EfiShellGetDevicePathFromMap (MapName);\r
if (DevicePath == NULL) {\r
//\r
// Must have been a bad Mapname\r
//\r
// make a copy for LocateDevicePath to modify (also save a pointer to call FreePool with)\r
//\r
- DevicePathCopyForFree = DevicePathCopy = DuplicateDevicePath(DevicePath);\r
+ DevicePathCopyForFree = DevicePathCopy = DuplicateDevicePath (DevicePath);\r
if (DevicePathCopy == NULL) {\r
- FreePool(MapName);\r
+ FreePool (MapName);\r
return (NULL);\r
}\r
\r
//\r
// get the handle\r
//\r
- ///@todo BlockIo?\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid, &DevicePathCopy, &Handle);\r
- if (EFI_ERROR(Status)) {\r
+ /// @todo BlockIo?\r
+ Status = gBS->LocateDevicePath (&gEfiSimpleFileSystemProtocolGuid, &DevicePathCopy, &Handle);\r
+ if (EFI_ERROR (Status)) {\r
if (DevicePathCopyForFree != NULL) {\r
- FreePool(DevicePathCopyForFree);\r
+ FreePool (DevicePathCopyForFree);\r
}\r
- FreePool(MapName);\r
+\r
+ FreePool (MapName);\r
return (NULL);\r
}\r
\r
//\r
// build the full device path\r
//\r
- if ((*(Path+StrLen(MapName)) != CHAR_NULL) &&\r
- (*(Path+StrLen(MapName)+1) == CHAR_NULL)) {\r
- DevicePathForReturn = FileDevicePath(Handle, L"\\");\r
+ if ((*(Path+StrLen (MapName)) != CHAR_NULL) &&\r
+ (*(Path+StrLen (MapName)+1) == CHAR_NULL))\r
+ {\r
+ DevicePathForReturn = FileDevicePath (Handle, L"\\");\r
} else {\r
- DevicePathForReturn = FileDevicePath(Handle, Path+StrLen(MapName));\r
+ DevicePathForReturn = FileDevicePath (Handle, Path+StrLen (MapName));\r
}\r
\r
- FreePool(MapName);\r
+ FreePool (MapName);\r
if (DevicePathCopyForFree != NULL) {\r
- FreePool(DevicePathCopyForFree);\r
+ FreePool (DevicePathCopyForFree);\r
}\r
\r
return (DevicePathForReturn);\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellGetDeviceName(\r
- IN EFI_HANDLE DeviceHandle,\r
- IN EFI_SHELL_DEVICE_NAME_FLAGS Flags,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **BestDeviceName\r
+EfiShellGetDeviceName (\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN EFI_SHELL_DEVICE_NAME_FLAGS Flags,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **BestDeviceName\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_COMPONENT_NAME2_PROTOCOL *CompName2;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
- EFI_HANDLE *HandleList;\r
- UINTN HandleCount;\r
- UINTN LoopVar;\r
- CHAR16 *DeviceNameToReturn;\r
- CHAR8 *Lang;\r
- UINTN ParentControllerCount;\r
- EFI_HANDLE *ParentControllerBuffer;\r
- UINTN ParentDriverCount;\r
- EFI_HANDLE *ParentDriverBuffer;\r
-\r
- if (BestDeviceName == NULL ||\r
- DeviceHandle == NULL\r
- ){\r
+ EFI_STATUS Status;\r
+ EFI_COMPONENT_NAME2_PROTOCOL *CompName2;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ EFI_HANDLE *HandleList;\r
+ UINTN HandleCount;\r
+ UINTN LoopVar;\r
+ CHAR16 *DeviceNameToReturn;\r
+ CHAR8 *Lang;\r
+ UINTN ParentControllerCount;\r
+ EFI_HANDLE *ParentControllerBuffer;\r
+ UINTN ParentDriverCount;\r
+ EFI_HANDLE *ParentDriverBuffer;\r
+\r
+ if ((BestDeviceName == NULL) ||\r
+ (DeviceHandle == NULL)\r
+ )\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
// make sure one of the 2 supported bits is on\r
//\r
if (((Flags & EFI_DEVICE_NAME_USE_COMPONENT_NAME) == 0) &&\r
- ((Flags & EFI_DEVICE_NAME_USE_DEVICE_PATH) == 0)) {\r
+ ((Flags & EFI_DEVICE_NAME_USE_DEVICE_PATH) == 0))\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- DeviceNameToReturn = NULL;\r
- *BestDeviceName = NULL;\r
- HandleList = NULL;\r
- HandleCount = 0;\r
- Lang = NULL;\r
+ DeviceNameToReturn = NULL;\r
+ *BestDeviceName = NULL;\r
+ HandleList = NULL;\r
+ HandleCount = 0;\r
+ Lang = NULL;\r
\r
if ((Flags & EFI_DEVICE_NAME_USE_COMPONENT_NAME) != 0) {\r
- Status = ParseHandleDatabaseByRelationship(\r
- NULL,\r
- DeviceHandle,\r
- HR_DRIVER_BINDING_HANDLE|HR_DEVICE_DRIVER,\r
- &HandleCount,\r
- &HandleList);\r
- for (LoopVar = 0; LoopVar < HandleCount ; LoopVar++){\r
+ Status = ParseHandleDatabaseByRelationship (\r
+ NULL,\r
+ DeviceHandle,\r
+ HR_DRIVER_BINDING_HANDLE|HR_DEVICE_DRIVER,\r
+ &HandleCount,\r
+ &HandleList\r
+ );\r
+ for (LoopVar = 0; LoopVar < HandleCount; LoopVar++) {\r
//\r
// Go through those handles until we get one that passes for GetComponentName\r
//\r
- Status = gBS->OpenProtocol(\r
- HandleList[LoopVar],\r
- &gEfiComponentName2ProtocolGuid,\r
- (VOID**)&CompName2,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
- if (EFI_ERROR(Status)) {\r
- Status = gBS->OpenProtocol(\r
- HandleList[LoopVar],\r
- &gEfiComponentNameProtocolGuid,\r
- (VOID**)&CompName2,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ Status = gBS->OpenProtocol (\r
+ HandleList[LoopVar],\r
+ &gEfiComponentName2ProtocolGuid,\r
+ (VOID **)&CompName2,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ Status = gBS->OpenProtocol (\r
+ HandleList[LoopVar],\r
+ &gEfiComponentNameProtocolGuid,\r
+ (VOID **)&CompName2,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
}\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
continue;\r
}\r
- Lang = GetBestLanguageForDriver(CompName2->SupportedLanguages, Language, FALSE);\r
- Status = CompName2->GetControllerName(CompName2, DeviceHandle, NULL, Lang, &DeviceNameToReturn);\r
- FreePool(Lang);\r
+\r
+ Lang = GetBestLanguageForDriver (CompName2->SupportedLanguages, Language, FALSE);\r
+ Status = CompName2->GetControllerName (CompName2, DeviceHandle, NULL, Lang, &DeviceNameToReturn);\r
+ FreePool (Lang);\r
Lang = NULL;\r
- if (!EFI_ERROR(Status) && DeviceNameToReturn != NULL) {\r
+ if (!EFI_ERROR (Status) && (DeviceNameToReturn != NULL)) {\r
break;\r
}\r
}\r
+\r
if (HandleList != NULL) {\r
- FreePool(HandleList);\r
+ FreePool (HandleList);\r
}\r
\r
//\r
// Now check the parent controller using this as the child.\r
//\r
- if (DeviceNameToReturn == NULL){\r
- PARSE_HANDLE_DATABASE_PARENTS(DeviceHandle, &ParentControllerCount, &ParentControllerBuffer);\r
- for (LoopVar = 0 ; LoopVar < ParentControllerCount ; LoopVar++) {\r
- PARSE_HANDLE_DATABASE_UEFI_DRIVERS(ParentControllerBuffer[LoopVar], &ParentDriverCount, &ParentDriverBuffer);\r
- for (HandleCount = 0 ; HandleCount < ParentDriverCount ; HandleCount++) {\r
+ if (DeviceNameToReturn == NULL) {\r
+ PARSE_HANDLE_DATABASE_PARENTS (DeviceHandle, &ParentControllerCount, &ParentControllerBuffer);\r
+ for (LoopVar = 0; LoopVar < ParentControllerCount; LoopVar++) {\r
+ PARSE_HANDLE_DATABASE_UEFI_DRIVERS (ParentControllerBuffer[LoopVar], &ParentDriverCount, &ParentDriverBuffer);\r
+ for (HandleCount = 0; HandleCount < ParentDriverCount; HandleCount++) {\r
//\r
// try using that driver's component name with controller and our driver as the child.\r
//\r
- Status = gBS->OpenProtocol(\r
- ParentDriverBuffer[HandleCount],\r
- &gEfiComponentName2ProtocolGuid,\r
- (VOID**)&CompName2,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
- if (EFI_ERROR(Status)) {\r
- Status = gBS->OpenProtocol(\r
- ParentDriverBuffer[HandleCount],\r
- &gEfiComponentNameProtocolGuid,\r
- (VOID**)&CompName2,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ Status = gBS->OpenProtocol (\r
+ ParentDriverBuffer[HandleCount],\r
+ &gEfiComponentName2ProtocolGuid,\r
+ (VOID **)&CompName2,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ Status = gBS->OpenProtocol (\r
+ ParentDriverBuffer[HandleCount],\r
+ &gEfiComponentNameProtocolGuid,\r
+ (VOID **)&CompName2,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
}\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
continue;\r
}\r
- Lang = GetBestLanguageForDriver(CompName2->SupportedLanguages, Language, FALSE);\r
- Status = CompName2->GetControllerName(CompName2, ParentControllerBuffer[LoopVar], DeviceHandle, Lang, &DeviceNameToReturn);\r
- FreePool(Lang);\r
+\r
+ Lang = GetBestLanguageForDriver (CompName2->SupportedLanguages, Language, FALSE);\r
+ Status = CompName2->GetControllerName (CompName2, ParentControllerBuffer[LoopVar], DeviceHandle, Lang, &DeviceNameToReturn);\r
+ FreePool (Lang);\r
Lang = NULL;\r
- if (!EFI_ERROR(Status) && DeviceNameToReturn != NULL) {\r
+ if (!EFI_ERROR (Status) && (DeviceNameToReturn != NULL)) {\r
break;\r
}\r
-\r
-\r
-\r
}\r
- SHELL_FREE_NON_NULL(ParentDriverBuffer);\r
- if (!EFI_ERROR(Status) && DeviceNameToReturn != NULL) {\r
+\r
+ SHELL_FREE_NON_NULL (ParentDriverBuffer);\r
+ if (!EFI_ERROR (Status) && (DeviceNameToReturn != NULL)) {\r
break;\r
}\r
}\r
- SHELL_FREE_NON_NULL(ParentControllerBuffer);\r
+\r
+ SHELL_FREE_NON_NULL (ParentControllerBuffer);\r
}\r
+\r
//\r
// dont return on fail since we will try device path if that bit is on\r
//\r
- if (DeviceNameToReturn != NULL){\r
- ASSERT(BestDeviceName != NULL);\r
- StrnCatGrow(BestDeviceName, NULL, DeviceNameToReturn, 0);\r
+ if (DeviceNameToReturn != NULL) {\r
+ ASSERT (BestDeviceName != NULL);\r
+ StrnCatGrow (BestDeviceName, NULL, DeviceNameToReturn, 0);\r
return (EFI_SUCCESS);\r
}\r
}\r
+\r
if ((Flags & EFI_DEVICE_NAME_USE_DEVICE_PATH) != 0) {\r
- Status = gBS->OpenProtocol(\r
- DeviceHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- (VOID**)&DevicePath,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
- if (!EFI_ERROR(Status)) {\r
+ Status = gBS->OpenProtocol (\r
+ DeviceHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ (VOID **)&DevicePath,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (!EFI_ERROR (Status)) {\r
//\r
// use device path to text on the device path\r
//\r
- *BestDeviceName = ConvertDevicePathToText(DevicePath, TRUE, TRUE);\r
+ *BestDeviceName = ConvertDevicePathToText (DevicePath, TRUE, TRUE);\r
return (EFI_SUCCESS);\r
}\r
}\r
+\r
//\r
// none of the selected bits worked.\r
//\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellOpenRootByHandle(\r
- IN EFI_HANDLE DeviceHandle,\r
- OUT SHELL_FILE_HANDLE *FileHandle\r
+EfiShellOpenRootByHandle (\r
+ IN EFI_HANDLE DeviceHandle,\r
+ OUT SHELL_FILE_HANDLE *FileHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFileSystem;\r
- EFI_FILE_PROTOCOL *RealFileHandle;\r
- EFI_DEVICE_PATH_PROTOCOL *DevPath;\r
+ EFI_STATUS Status;\r
+ EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFileSystem;\r
+ EFI_FILE_PROTOCOL *RealFileHandle;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevPath;\r
\r
//\r
// get the simple file system interface\r
//\r
- Status = gBS->OpenProtocol(DeviceHandle,\r
- &gEfiSimpleFileSystemProtocolGuid,\r
- (VOID**)&SimpleFileSystem,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
- if (EFI_ERROR(Status)) {\r
+ Status = gBS->OpenProtocol (\r
+ DeviceHandle,\r
+ &gEfiSimpleFileSystemProtocolGuid,\r
+ (VOID **)&SimpleFileSystem,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
return (EFI_NOT_FOUND);\r
}\r
\r
- Status = gBS->OpenProtocol(DeviceHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- (VOID**)&DevPath,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
- if (EFI_ERROR(Status)) {\r
+ Status = gBS->OpenProtocol (\r
+ DeviceHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ (VOID **)&DevPath,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
return (EFI_NOT_FOUND);\r
}\r
+\r
//\r
// Open the root volume now...\r
//\r
- Status = SimpleFileSystem->OpenVolume(SimpleFileSystem, &RealFileHandle);\r
- if (EFI_ERROR(Status)) {\r
+ Status = SimpleFileSystem->OpenVolume (SimpleFileSystem, &RealFileHandle);\r
+ if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- *FileHandle = ConvertEfiFileProtocolToShellHandle(RealFileHandle, EfiShellGetMapFromDevicePath(&DevPath));\r
+ *FileHandle = ConvertEfiFileProtocolToShellHandle (RealFileHandle, EfiShellGetMapFromDevicePath (&DevPath));\r
return (EFI_SUCCESS);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellOpenRoot(\r
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- OUT SHELL_FILE_HANDLE *FileHandle\r
+EfiShellOpenRoot (\r
+ IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
+ OUT SHELL_FILE_HANDLE *FileHandle\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_HANDLE Handle;\r
+ EFI_STATUS Status;\r
+ EFI_HANDLE Handle;\r
\r
if (FileHandle == NULL) {\r
return (EFI_INVALID_PARAMETER);\r
//\r
// find the handle of the device with that device handle and the file system\r
//\r
- ///@todo BlockIo?\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid,\r
- &DevicePath,\r
- &Handle);\r
- if (EFI_ERROR(Status)) {\r
+ /// @todo BlockIo?\r
+ Status = gBS->LocateDevicePath (\r
+ &gEfiSimpleFileSystemProtocolGuid,\r
+ &DevicePath,\r
+ &Handle\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
return (EFI_NOT_FOUND);\r
}\r
\r
- return (EfiShellOpenRootByHandle(Handle, FileHandle));\r
+ return (EfiShellOpenRootByHandle (Handle, FileHandle));\r
}\r
\r
/**\r
VOID\r
)\r
{\r
- if (ShellCommandGetCurrentScriptFile() == NULL) {\r
+ if (ShellCommandGetCurrentScriptFile () == NULL) {\r
return (FALSE);\r
}\r
+\r
return (TRUE);\r
}\r
\r
@retval other an error occurred.\r
**/\r
EFI_STATUS\r
-InternalOpenFileDevicePath(\r
- IN OUT EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- OUT SHELL_FILE_HANDLE *FileHandle,\r
- IN UINT64 OpenMode,\r
- IN UINT64 Attributes OPTIONAL\r
+InternalOpenFileDevicePath (\r
+ IN OUT EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
+ OUT SHELL_FILE_HANDLE *FileHandle,\r
+ IN UINT64 OpenMode,\r
+ IN UINT64 Attributes OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- FILEPATH_DEVICE_PATH *FilePathNode;\r
- EFI_HANDLE Handle;\r
- SHELL_FILE_HANDLE ShellHandle;\r
- EFI_FILE_PROTOCOL *Handle1;\r
- EFI_FILE_PROTOCOL *Handle2;\r
- FILEPATH_DEVICE_PATH *AlignedNode;\r
+ EFI_STATUS Status;\r
+ FILEPATH_DEVICE_PATH *FilePathNode;\r
+ EFI_HANDLE Handle;\r
+ SHELL_FILE_HANDLE ShellHandle;\r
+ EFI_FILE_PROTOCOL *Handle1;\r
+ EFI_FILE_PROTOCOL *Handle2;\r
+ FILEPATH_DEVICE_PATH *AlignedNode;\r
\r
if (FileHandle == NULL) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
- *FileHandle = NULL;\r
- Handle1 = NULL;\r
- Handle2 = NULL;\r
- Handle = NULL;\r
- ShellHandle = NULL;\r
- FilePathNode = NULL;\r
- AlignedNode = NULL;\r
\r
- Status = EfiShellOpenRoot(DevicePath, &ShellHandle);\r
+ *FileHandle = NULL;\r
+ Handle1 = NULL;\r
+ Handle2 = NULL;\r
+ Handle = NULL;\r
+ ShellHandle = NULL;\r
+ FilePathNode = NULL;\r
+ AlignedNode = NULL;\r
\r
- if (!EFI_ERROR(Status)) {\r
- Handle1 = ConvertShellHandleToEfiFileProtocol(ShellHandle);\r
+ Status = EfiShellOpenRoot (DevicePath, &ShellHandle);\r
+\r
+ if (!EFI_ERROR (Status)) {\r
+ Handle1 = ConvertShellHandleToEfiFileProtocol (ShellHandle);\r
if (Handle1 != NULL) {\r
//\r
// chop off the beginning part before the file system part...\r
//\r
- ///@todo BlockIo?\r
- Status = gBS->LocateDevicePath(&gEfiSimpleFileSystemProtocolGuid,\r
- &DevicePath,\r
- &Handle);\r
- if (!EFI_ERROR(Status)) {\r
+ /// @todo BlockIo?\r
+ Status = gBS->LocateDevicePath (\r
+ &gEfiSimpleFileSystemProtocolGuid,\r
+ &DevicePath,\r
+ &Handle\r
+ );\r
+ if (!EFI_ERROR (Status)) {\r
//\r
// To access as a file system, the file path should only\r
// contain file path components. Follow the file path nodes\r
// and find the target file\r
//\r
for ( FilePathNode = (FILEPATH_DEVICE_PATH *)DevicePath\r
- ; !IsDevicePathEnd (&FilePathNode->Header)\r
- ; FilePathNode = (FILEPATH_DEVICE_PATH *) NextDevicePathNode (&FilePathNode->Header)\r
- ){\r
- SHELL_FREE_NON_NULL(AlignedNode);\r
- AlignedNode = AllocateCopyPool (DevicePathNodeLength(FilePathNode), FilePathNode);\r
+ ; !IsDevicePathEnd (&FilePathNode->Header)\r
+ ; FilePathNode = (FILEPATH_DEVICE_PATH *)NextDevicePathNode (&FilePathNode->Header)\r
+ )\r
+ {\r
+ SHELL_FREE_NON_NULL (AlignedNode);\r
+ AlignedNode = AllocateCopyPool (DevicePathNodeLength (FilePathNode), FilePathNode);\r
//\r
// For file system access each node should be a file path component\r
//\r
- if (DevicePathType (&FilePathNode->Header) != MEDIA_DEVICE_PATH ||\r
- DevicePathSubType (&FilePathNode->Header) != MEDIA_FILEPATH_DP\r
- ) {\r
+ if ((DevicePathType (&FilePathNode->Header) != MEDIA_DEVICE_PATH) ||\r
+ (DevicePathSubType (&FilePathNode->Header) != MEDIA_FILEPATH_DP)\r
+ )\r
+ {\r
Status = EFI_UNSUPPORTED;\r
break;\r
}\r
//\r
if (IsDevicePathEnd ((NextDevicePathNode (&FilePathNode->Header)))) {\r
Status = Handle2->Open (\r
- Handle2,\r
- &Handle1,\r
- AlignedNode->PathName,\r
- OpenMode,\r
- Attributes\r
- );\r
+ Handle2,\r
+ &Handle1,\r
+ AlignedNode->PathName,\r
+ OpenMode,\r
+ Attributes\r
+ );\r
} else {\r
-\r
//\r
// This is not the last node and we dont want to 'create' existing\r
// directory entries...\r
// prevents error on existing files/directories\r
//\r
Status = Handle2->Open (\r
- Handle2,\r
- &Handle1,\r
- AlignedNode->PathName,\r
- OpenMode &~EFI_FILE_MODE_CREATE,\r
- Attributes\r
- );\r
+ Handle2,\r
+ &Handle1,\r
+ AlignedNode->PathName,\r
+ OpenMode &~EFI_FILE_MODE_CREATE,\r
+ Attributes\r
+ );\r
//\r
// if above failed now open and create the 'item'\r
// if OpenMode EFI_FILE_MODE_CREATE bit was on (but disabled above)\r
//\r
if ((EFI_ERROR (Status)) && ((OpenMode & EFI_FILE_MODE_CREATE) != 0)) {\r
Status = Handle2->Open (\r
- Handle2,\r
- &Handle1,\r
- AlignedNode->PathName,\r
- OpenMode,\r
- Attributes\r
- );\r
+ Handle2,\r
+ &Handle1,\r
+ AlignedNode->PathName,\r
+ OpenMode,\r
+ Attributes\r
+ );\r
}\r
}\r
+\r
//\r
// Close the last node\r
//\r
}\r
}\r
}\r
- SHELL_FREE_NON_NULL(AlignedNode);\r
- if (EFI_ERROR(Status)) {\r
+\r
+ SHELL_FREE_NON_NULL (AlignedNode);\r
+ if (EFI_ERROR (Status)) {\r
if (Handle1 != NULL) {\r
- ShellInfoObject.NewEfiShellProtocol->CloseFile(Handle1);\r
+ ShellInfoObject.NewEfiShellProtocol->CloseFile (Handle1);\r
}\r
} else {\r
- *FileHandle = ConvertEfiFileProtocolToShellHandle(Handle1, ShellFileHandleGetPath(ShellHandle));\r
+ *FileHandle = ConvertEfiFileProtocolToShellHandle (Handle1, ShellFileHandleGetPath (ShellHandle));\r
}\r
+\r
return (Status);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellCreateFile(\r
- IN CONST CHAR16 *FileName,\r
- IN UINT64 FileAttribs,\r
- OUT SHELL_FILE_HANDLE *FileHandle\r
+EfiShellCreateFile (\r
+ IN CONST CHAR16 *FileName,\r
+ IN UINT64 FileAttribs,\r
+ OUT SHELL_FILE_HANDLE *FileHandle\r
)\r
{\r
EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
// Is this for an environment variable\r
// do we start with >v\r
//\r
- if (StrStr(FileName, L">v") == FileName) {\r
+ if (StrStr (FileName, L">v") == FileName) {\r
Status = IsVolatileEnv (FileName + 2, &Volatile);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
if (!Volatile) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
- *FileHandle = CreateFileInterfaceEnv(FileName+2);\r
+\r
+ *FileHandle = CreateFileInterfaceEnv (FileName+2);\r
return (EFI_SUCCESS);\r
}\r
\r
//\r
// We are opening a regular file.\r
//\r
- DevicePath = EfiShellGetDevicePathFromFilePath(FileName);\r
+ DevicePath = EfiShellGetDevicePathFromFilePath (FileName);\r
if (DevicePath == NULL) {\r
return (EFI_NOT_FOUND);\r
}\r
\r
- Status = InternalOpenFileDevicePath(DevicePath, FileHandle, EFI_FILE_MODE_READ|EFI_FILE_MODE_WRITE|EFI_FILE_MODE_CREATE, FileAttribs);\r
- FreePool(DevicePath);\r
+ Status = InternalOpenFileDevicePath (DevicePath, FileHandle, EFI_FILE_MODE_READ|EFI_FILE_MODE_WRITE|EFI_FILE_MODE_CREATE, FileAttribs);\r
+ FreePool (DevicePath);\r
\r
- return(Status);\r
+ return (Status);\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellRegisterGuidName(\r
- IN CONST EFI_GUID *Guid,\r
- IN CONST CHAR16 *GuidName\r
+EfiShellRegisterGuidName (\r
+ IN CONST EFI_GUID *Guid,\r
+ IN CONST CHAR16 *GuidName\r
)\r
{\r
- return (AddNewGuidNameMapping(Guid, GuidName, NULL));\r
+ return (AddNewGuidNameMapping (Guid, GuidName, NULL));\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellOpenFileByName(\r
- IN CONST CHAR16 *FileName,\r
- OUT SHELL_FILE_HANDLE *FileHandle,\r
- IN UINT64 OpenMode\r
+EfiShellOpenFileByName (\r
+ IN CONST CHAR16 *FileName,\r
+ OUT SHELL_FILE_HANDLE *FileHandle,\r
+ IN UINT64 OpenMode\r
)\r
{\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
- EFI_STATUS Status;\r
- BOOLEAN Volatile;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ EFI_STATUS Status;\r
+ BOOLEAN Volatile;\r
\r
*FileHandle = NULL;\r
\r
//\r
// Is this for StdIn\r
//\r
- if (StrCmp(FileName, L">i") == 0) {\r
+ if (StrCmp (FileName, L">i") == 0) {\r
//\r
// make sure not writing to StdIn\r
//\r
if ((OpenMode & EFI_FILE_MODE_WRITE) != 0) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
+\r
*FileHandle = ShellInfoObject.NewShellParametersProtocol->StdIn;\r
- ASSERT(*FileHandle != NULL);\r
+ ASSERT (*FileHandle != NULL);\r
return (EFI_SUCCESS);\r
}\r
\r
//\r
// Is this for StdOut\r
//\r
- if (StrCmp(FileName, L">o") == 0) {\r
+ if (StrCmp (FileName, L">o") == 0) {\r
//\r
// make sure not writing to StdIn\r
//\r
if ((OpenMode & EFI_FILE_MODE_READ) != 0) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
+\r
*FileHandle = &FileInterfaceStdOut;\r
return (EFI_SUCCESS);\r
}\r
//\r
// Is this for NUL / NULL file\r
//\r
- if ((gUnicodeCollation->StriColl (gUnicodeCollation, (CHAR16*)FileName, L"NUL") == 0) ||\r
- (gUnicodeCollation->StriColl (gUnicodeCollation, (CHAR16*)FileName, L"NULL") == 0)) {\r
+ if ((gUnicodeCollation->StriColl (gUnicodeCollation, (CHAR16 *)FileName, L"NUL") == 0) ||\r
+ (gUnicodeCollation->StriColl (gUnicodeCollation, (CHAR16 *)FileName, L"NULL") == 0))\r
+ {\r
*FileHandle = &FileInterfaceNulFile;\r
return (EFI_SUCCESS);\r
}\r
//\r
// Is this for StdErr\r
//\r
- if (StrCmp(FileName, L">e") == 0) {\r
+ if (StrCmp (FileName, L">e") == 0) {\r
//\r
// make sure not writing to StdIn\r
//\r
if ((OpenMode & EFI_FILE_MODE_READ) != 0) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
+\r
*FileHandle = &FileInterfaceStdErr;\r
return (EFI_SUCCESS);\r
}\r
// Is this for an environment variable\r
// do we start with >v\r
//\r
- if (StrStr(FileName, L">v") == FileName) {\r
+ if (StrStr (FileName, L">v") == FileName) {\r
Status = IsVolatileEnv (FileName + 2, &Volatile);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
if (!Volatile &&\r
- ((OpenMode & EFI_FILE_MODE_WRITE) != 0)) {\r
+ ((OpenMode & EFI_FILE_MODE_WRITE) != 0))\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
- *FileHandle = CreateFileInterfaceEnv(FileName+2);\r
+\r
+ *FileHandle = CreateFileInterfaceEnv (FileName+2);\r
return (EFI_SUCCESS);\r
}\r
\r
//\r
// We are opening a regular file.\r
//\r
- DevicePath = EfiShellGetDevicePathFromFilePath(FileName);\r
+ DevicePath = EfiShellGetDevicePathFromFilePath (FileName);\r
\r
if (DevicePath == NULL) {\r
return (EFI_NOT_FOUND);\r
//\r
// Copy the device path, open the file, then free the memory\r
//\r
- Status = InternalOpenFileDevicePath(DevicePath, FileHandle, OpenMode, 0); // 0 = no specific file attributes\r
- FreePool(DevicePath);\r
+ Status = InternalOpenFileDevicePath (DevicePath, FileHandle, OpenMode, 0); // 0 = no specific file attributes\r
+ FreePool (DevicePath);\r
\r
- return(Status);\r
+ return (Status);\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellDeleteFileByName(\r
- IN CONST CHAR16 *FileName\r
+EfiShellDeleteFileByName (\r
+ IN CONST CHAR16 *FileName\r
)\r
{\r
- SHELL_FILE_HANDLE FileHandle;\r
- EFI_STATUS Status;\r
+ SHELL_FILE_HANDLE FileHandle;\r
+ EFI_STATUS Status;\r
\r
FileHandle = NULL;\r
\r
//\r
// get a handle to the file\r
//\r
- Status = EfiShellCreateFile(FileName,\r
- 0,\r
- &FileHandle);\r
- if (EFI_ERROR(Status)) {\r
+ Status = EfiShellCreateFile (\r
+ FileName,\r
+ 0,\r
+ &FileHandle\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
return (Status);\r
}\r
+\r
//\r
// now delete the file\r
//\r
- ShellFileHandleRemove(FileHandle);\r
- return (ShellInfoObject.NewEfiShellProtocol->DeleteFile(FileHandle));\r
+ ShellFileHandleRemove (FileHandle);\r
+ return (ShellInfoObject.NewEfiShellProtocol->DeleteFile (FileHandle));\r
}\r
\r
/**\r
@retval EFI_UNSUPPORTED Nested shell invocations are not allowed.\r
**/\r
EFI_STATUS\r
-InternalShellExecuteDevicePath(\r
- IN CONST EFI_HANDLE *ParentImageHandle,\r
- IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- IN CONST CHAR16 *CommandLine OPTIONAL,\r
- IN CONST CHAR16 **Environment OPTIONAL,\r
- OUT EFI_STATUS *StartImageStatus OPTIONAL\r
+InternalShellExecuteDevicePath (\r
+ IN CONST EFI_HANDLE *ParentImageHandle,\r
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
+ IN CONST CHAR16 *CommandLine OPTIONAL,\r
+ IN CONST CHAR16 **Environment OPTIONAL,\r
+ OUT EFI_STATUS *StartImageStatus OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_STATUS StartStatus;\r
- EFI_STATUS CleanupStatus;\r
- EFI_HANDLE NewHandle;\r
- EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;\r
- LIST_ENTRY OrigEnvs;\r
- EFI_SHELL_PARAMETERS_PROTOCOL ShellParamsProtocol;\r
- CHAR16 *ImagePath;\r
- UINTN Index;\r
- CHAR16 *Walker;\r
- CHAR16 *NewCmdLine;\r
+ EFI_STATUS Status;\r
+ EFI_STATUS StartStatus;\r
+ EFI_STATUS CleanupStatus;\r
+ EFI_HANDLE NewHandle;\r
+ EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;\r
+ LIST_ENTRY OrigEnvs;\r
+ EFI_SHELL_PARAMETERS_PROTOCOL ShellParamsProtocol;\r
+ CHAR16 *ImagePath;\r
+ UINTN Index;\r
+ CHAR16 *Walker;\r
+ CHAR16 *NewCmdLine;\r
\r
if (ParentImageHandle == NULL) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- InitializeListHead(&OrigEnvs);\r
- ZeroMem(&ShellParamsProtocol, sizeof(EFI_SHELL_PARAMETERS_PROTOCOL));\r
+ InitializeListHead (&OrigEnvs);\r
+ ZeroMem (&ShellParamsProtocol, sizeof (EFI_SHELL_PARAMETERS_PROTOCOL));\r
\r
NewHandle = NULL;\r
\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- for (Walker = NewCmdLine; Walker != NULL && *Walker != CHAR_NULL ; Walker++) {\r
- if (*Walker == L'^' && *(Walker+1) == L'#') {\r
- CopyMem(Walker, Walker+1, StrSize(Walker) - sizeof(Walker[0]));\r
+ for (Walker = NewCmdLine; Walker != NULL && *Walker != CHAR_NULL; Walker++) {\r
+ if ((*Walker == L'^') && (*(Walker+1) == L'#')) {\r
+ CopyMem (Walker, Walker+1, StrSize (Walker) - sizeof (Walker[0]));\r
}\r
}\r
\r
// Load the image with:\r
// FALSE - not from boot manager and NULL, 0 being not already in memory\r
//\r
- Status = gBS->LoadImage(\r
- FALSE,\r
- *ParentImageHandle,\r
- (EFI_DEVICE_PATH_PROTOCOL*)DevicePath,\r
- NULL,\r
- 0,\r
- &NewHandle);\r
+ Status = gBS->LoadImage (\r
+ FALSE,\r
+ *ParentImageHandle,\r
+ (EFI_DEVICE_PATH_PROTOCOL *)DevicePath,\r
+ NULL,\r
+ 0,\r
+ &NewHandle\r
+ );\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
if (NewHandle != NULL) {\r
- gBS->UnloadImage(NewHandle);\r
+ gBS->UnloadImage (NewHandle);\r
}\r
+\r
FreePool (NewCmdLine);\r
return (Status);\r
}\r
- Status = gBS->OpenProtocol(\r
- NewHandle,\r
- &gEfiLoadedImageProtocolGuid,\r
- (VOID**)&LoadedImage,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
\r
- if (!EFI_ERROR(Status)) {\r
+ Status = gBS->OpenProtocol (\r
+ NewHandle,\r
+ &gEfiLoadedImageProtocolGuid,\r
+ (VOID **)&LoadedImage,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+\r
+ if (!EFI_ERROR (Status)) {\r
//\r
// If the image is not an app abort it.\r
//\r
- if (LoadedImage->ImageCodeType != EfiLoaderCode){\r
- ShellPrintHiiEx(\r
+ if (LoadedImage->ImageCodeType != EfiLoaderCode) {\r
+ ShellPrintHiiEx (\r
-1,\r
-1,\r
NULL,\r
STRING_TOKEN (STR_SHELL_IMAGE_NOT_APP),\r
ShellInfoObject.HiiHandle\r
- );\r
+ );\r
goto UnloadImage;\r
}\r
\r
- ASSERT(LoadedImage->LoadOptionsSize == 0);\r
+ ASSERT (LoadedImage->LoadOptionsSize == 0);\r
if (NewCmdLine != NULL) {\r
- LoadedImage->LoadOptionsSize = (UINT32)StrSize(NewCmdLine);\r
- LoadedImage->LoadOptions = (VOID*)NewCmdLine;\r
+ LoadedImage->LoadOptionsSize = (UINT32)StrSize (NewCmdLine);\r
+ LoadedImage->LoadOptions = (VOID *)NewCmdLine;\r
}\r
\r
//\r
// Save our current environment settings for later restoration if necessary\r
//\r
if (Environment != NULL) {\r
- Status = GetEnvironmentVariableList(&OrigEnvs);\r
- if (!EFI_ERROR(Status)) {\r
- Status = SetEnvironmentVariables(Environment);\r
+ Status = GetEnvironmentVariableList (&OrigEnvs);\r
+ if (!EFI_ERROR (Status)) {\r
+ Status = SetEnvironmentVariables (Environment);\r
}\r
}\r
\r
//\r
// Initialize and install a shell parameters protocol on the image.\r
//\r
- ShellParamsProtocol.StdIn = ShellInfoObject.NewShellParametersProtocol->StdIn;\r
- ShellParamsProtocol.StdOut = ShellInfoObject.NewShellParametersProtocol->StdOut;\r
- ShellParamsProtocol.StdErr = ShellInfoObject.NewShellParametersProtocol->StdErr;\r
- Status = UpdateArgcArgv(&ShellParamsProtocol, NewCmdLine, Efi_Application, NULL, NULL);\r
+ ShellParamsProtocol.StdIn = ShellInfoObject.NewShellParametersProtocol->StdIn;\r
+ ShellParamsProtocol.StdOut = ShellInfoObject.NewShellParametersProtocol->StdOut;\r
+ ShellParamsProtocol.StdErr = ShellInfoObject.NewShellParametersProtocol->StdErr;\r
+ Status = UpdateArgcArgv (&ShellParamsProtocol, NewCmdLine, Efi_Application, NULL, NULL);\r
if (EFI_ERROR (Status)) {\r
goto UnloadImage;\r
}\r
Status = EFI_OUT_OF_RESOURCES;\r
goto UnloadImage;\r
}\r
+\r
ShellParamsProtocol.Argc = 1;\r
} else {\r
// Free the string UpdateArgcArgv put in Argv[0];\r
FreePool (ShellParamsProtocol.Argv[0]);\r
}\r
+\r
ShellParamsProtocol.Argv[0] = ImagePath;\r
}\r
\r
- Status = gBS->InstallProtocolInterface(&NewHandle, &gEfiShellParametersProtocolGuid, EFI_NATIVE_INTERFACE, &ShellParamsProtocol);\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = gBS->InstallProtocolInterface (&NewHandle, &gEfiShellParametersProtocolGuid, EFI_NATIVE_INTERFACE, &ShellParamsProtocol);\r
+ ASSERT_EFI_ERROR (Status);\r
\r
- ///@todo initialize and install ShellInterface protocol on the new image for compatibility if - PcdGetBool(PcdShellSupportOldProtocols)\r
+ /// @todo initialize and install ShellInterface protocol on the new image for compatibility if - PcdGetBool(PcdShellSupportOldProtocols)\r
\r
//\r
// now start the image and if the caller wanted the return code pass it to them...\r
//\r
- if (!EFI_ERROR(Status)) {\r
- StartStatus = gBS->StartImage(\r
- NewHandle,\r
- 0,\r
- NULL\r
- );\r
+ if (!EFI_ERROR (Status)) {\r
+ StartStatus = gBS->StartImage (\r
+ NewHandle,\r
+ 0,\r
+ NULL\r
+ );\r
if (StartImageStatus != NULL) {\r
*StartImageStatus = StartStatus;\r
}\r
\r
- CleanupStatus = gBS->UninstallProtocolInterface(\r
- NewHandle,\r
- &gEfiShellParametersProtocolGuid,\r
- &ShellParamsProtocol\r
- );\r
- ASSERT_EFI_ERROR(CleanupStatus);\r
+ CleanupStatus = gBS->UninstallProtocolInterface (\r
+ NewHandle,\r
+ &gEfiShellParametersProtocolGuid,\r
+ &ShellParamsProtocol\r
+ );\r
+ ASSERT_EFI_ERROR (CleanupStatus);\r
\r
goto FreeAlloc;\r
}\r
FreePool (ShellParamsProtocol.Argv[Index]);\r
}\r
}\r
+\r
FreePool (ShellParamsProtocol.Argv);\r
}\r
}\r
\r
// Restore environment variables\r
- if (!IsListEmpty(&OrigEnvs)) {\r
- CleanupStatus = SetEnvironmentVariableList(&OrigEnvs);\r
+ if (!IsListEmpty (&OrigEnvs)) {\r
+ CleanupStatus = SetEnvironmentVariableList (&OrigEnvs);\r
ASSERT_EFI_ERROR (CleanupStatus);\r
}\r
\r
FreePool (NewCmdLine);\r
\r
- return(Status);\r
+ return (Status);\r
}\r
\r
/**\r
@retval EFI_UNSUPPORTED Nested shell invocations are not allowed.\r
**/\r
EFI_STATUS\r
-InternalShellExecute(\r
- IN CONST CHAR16 *CommandLine OPTIONAL,\r
- IN CONST CHAR16 **Environment OPTIONAL,\r
- OUT EFI_STATUS *StartImageStatus OPTIONAL\r
+InternalShellExecute (\r
+ IN CONST CHAR16 *CommandLine OPTIONAL,\r
+ IN CONST CHAR16 **Environment OPTIONAL,\r
+ OUT EFI_STATUS *StartImageStatus OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_STATUS CleanupStatus;\r
- LIST_ENTRY OrigEnvs;\r
+ EFI_STATUS Status;\r
+ EFI_STATUS CleanupStatus;\r
+ LIST_ENTRY OrigEnvs;\r
\r
- InitializeListHead(&OrigEnvs);\r
+ InitializeListHead (&OrigEnvs);\r
\r
//\r
// Save our current environment settings for later restoration if necessary\r
//\r
if (Environment != NULL) {\r
- Status = GetEnvironmentVariableList(&OrigEnvs);\r
- if (!EFI_ERROR(Status)) {\r
- Status = SetEnvironmentVariables(Environment);\r
+ Status = GetEnvironmentVariableList (&OrigEnvs);\r
+ if (!EFI_ERROR (Status)) {\r
+ Status = SetEnvironmentVariables (Environment);\r
} else {\r
return Status;\r
}\r
}\r
\r
- Status = RunShellCommand(CommandLine, StartImageStatus);\r
+ Status = RunShellCommand (CommandLine, StartImageStatus);\r
\r
// Restore environment variables\r
- if (!IsListEmpty(&OrigEnvs)) {\r
- CleanupStatus = SetEnvironmentVariableList(&OrigEnvs);\r
+ if (!IsListEmpty (&OrigEnvs)) {\r
+ CleanupStatus = SetEnvironmentVariableList (&OrigEnvs);\r
ASSERT_EFI_ERROR (CleanupStatus);\r
}\r
\r
- return(Status);\r
+ return (Status);\r
}\r
\r
/**\r
**/\r
STATIC\r
BOOLEAN\r
-NestingEnabled(\r
+NestingEnabled (\r
VOID\r
-)\r
+ )\r
{\r
EFI_STATUS Status;\r
CHAR16 *Temp;\r
if (ShellInfoObject.ShellInitSettings.BitUnion.Bits.NoNest) {\r
TempSize = 0;\r
Temp = NULL;\r
- Status = SHELL_GET_ENVIRONMENT_VARIABLE(mNoNestingEnvVarName, &TempSize, Temp);\r
+ Status = SHELL_GET_ENVIRONMENT_VARIABLE (mNoNestingEnvVarName, &TempSize, Temp);\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- Temp = AllocateZeroPool(TempSize + sizeof(CHAR16));\r
+ Temp = AllocateZeroPool (TempSize + sizeof (CHAR16));\r
if (Temp != NULL) {\r
- Status = SHELL_GET_ENVIRONMENT_VARIABLE(mNoNestingEnvVarName, &TempSize, Temp);\r
+ Status = SHELL_GET_ENVIRONMENT_VARIABLE (mNoNestingEnvVarName, &TempSize, Temp);\r
}\r
}\r
- Temp2 = StrnCatGrow(&Temp2, NULL, mNoNestingTrue, 0);\r
- if (Temp != NULL && Temp2 != NULL && StringNoCaseCompare(&Temp, &Temp2) == 0) {\r
+\r
+ Temp2 = StrnCatGrow (&Temp2, NULL, mNoNestingTrue, 0);\r
+ if ((Temp != NULL) && (Temp2 != NULL) && (StringNoCaseCompare (&Temp, &Temp2) == 0)) {\r
//\r
// Use the no nesting method.\r
//\r
}\r
}\r
\r
- SHELL_FREE_NON_NULL(Temp);\r
- SHELL_FREE_NON_NULL(Temp2);\r
+ SHELL_FREE_NON_NULL (Temp);\r
+ SHELL_FREE_NON_NULL (Temp2);\r
return (RetVal);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellExecute(\r
- IN EFI_HANDLE *ParentImageHandle,\r
- IN CHAR16 *CommandLine OPTIONAL,\r
- IN CHAR16 **Environment OPTIONAL,\r
- OUT EFI_STATUS *StatusCode OPTIONAL\r
+EfiShellExecute (\r
+ IN EFI_HANDLE *ParentImageHandle,\r
+ IN CHAR16 *CommandLine OPTIONAL,\r
+ IN CHAR16 **Environment OPTIONAL,\r
+ OUT EFI_STATUS *StatusCode OPTIONAL\r
)\r
{\r
EFI_STATUS Status;\r
EFI_DEVICE_PATH_PROTOCOL *DevPath;\r
UINTN Size;\r
\r
- if ((PcdGet8(PcdShellSupportLevel) < 1)) {\r
+ if ((PcdGet8 (PcdShellSupportLevel) < 1)) {\r
return (EFI_UNSUPPORTED);\r
}\r
\r
- if (NestingEnabled()) {\r
+ if (NestingEnabled ()) {\r
DevPath = AppendDevicePath (ShellInfoObject.ImageDevPath, ShellInfoObject.FileDevPath);\r
\r
- DEBUG_CODE_BEGIN();\r
- Temp = ConvertDevicePathToText(ShellInfoObject.FileDevPath, TRUE, TRUE);\r
- FreePool(Temp);\r
- Temp = ConvertDevicePathToText(ShellInfoObject.ImageDevPath, TRUE, TRUE);\r
- FreePool(Temp);\r
- Temp = ConvertDevicePathToText(DevPath, TRUE, TRUE);\r
- FreePool(Temp);\r
- DEBUG_CODE_END();\r
+ DEBUG_CODE_BEGIN ();\r
+ Temp = ConvertDevicePathToText (ShellInfoObject.FileDevPath, TRUE, TRUE);\r
+ FreePool (Temp);\r
+ Temp = ConvertDevicePathToText (ShellInfoObject.ImageDevPath, TRUE, TRUE);\r
+ FreePool (Temp);\r
+ Temp = ConvertDevicePathToText (DevPath, TRUE, TRUE);\r
+ FreePool (Temp);\r
+ DEBUG_CODE_END ();\r
\r
Temp = NULL;\r
Size = 0;\r
- ASSERT((Temp == NULL && Size == 0) || (Temp != NULL));\r
- StrnCatGrow(&Temp, &Size, L"Shell.efi -exit ", 0);\r
- StrnCatGrow(&Temp, &Size, CommandLine, 0);\r
-\r
- Status = InternalShellExecuteDevicePath(\r
- ParentImageHandle,\r
- DevPath,\r
- Temp,\r
- (CONST CHAR16**)Environment,\r
- StatusCode);\r
+ ASSERT ((Temp == NULL && Size == 0) || (Temp != NULL));\r
+ StrnCatGrow (&Temp, &Size, L"Shell.efi -exit ", 0);\r
+ StrnCatGrow (&Temp, &Size, CommandLine, 0);\r
+\r
+ Status = InternalShellExecuteDevicePath (\r
+ ParentImageHandle,\r
+ DevPath,\r
+ Temp,\r
+ (CONST CHAR16 **)Environment,\r
+ StatusCode\r
+ );\r
\r
//\r
// de-allocate and return\r
//\r
- FreePool(DevPath);\r
- FreePool(Temp);\r
+ FreePool (DevPath);\r
+ FreePool (Temp);\r
} else {\r
- Status = InternalShellExecute(\r
- (CONST CHAR16*)CommandLine,\r
- (CONST CHAR16**)Environment,\r
- StatusCode);\r
+ Status = InternalShellExecute (\r
+ (CONST CHAR16 *)CommandLine,\r
+ (CONST CHAR16 **)Environment,\r
+ StatusCode\r
+ );\r
}\r
\r
- return(Status);\r
+ return (Status);\r
}\r
\r
/**\r
@param FileListNode pointer to the list node to free\r
**/\r
VOID\r
-InternalFreeShellFileInfoNode(\r
- IN EFI_SHELL_FILE_INFO *FileListNode\r
+InternalFreeShellFileInfoNode (\r
+ IN EFI_SHELL_FILE_INFO *FileListNode\r
)\r
{\r
if (FileListNode->Info != NULL) {\r
- FreePool((VOID*)FileListNode->Info);\r
+ FreePool ((VOID *)FileListNode->Info);\r
}\r
+\r
if (FileListNode->FileName != NULL) {\r
- FreePool((VOID*)FileListNode->FileName);\r
+ FreePool ((VOID *)FileListNode->FileName);\r
}\r
+\r
if (FileListNode->FullName != NULL) {\r
- FreePool((VOID*)FileListNode->FullName);\r
+ FreePool ((VOID *)FileListNode->FullName);\r
}\r
+\r
if (FileListNode->Handle != NULL) {\r
- ShellInfoObject.NewEfiShellProtocol->CloseFile(FileListNode->Handle);\r
+ ShellInfoObject.NewEfiShellProtocol->CloseFile (FileListNode->Handle);\r
}\r
- FreePool(FileListNode);\r
+\r
+ FreePool (FileListNode);\r
}\r
+\r
/**\r
Frees the file list.\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellFreeFileList(\r
- IN EFI_SHELL_FILE_INFO **FileList\r
+EfiShellFreeFileList (\r
+ IN EFI_SHELL_FILE_INFO **FileList\r
)\r
{\r
- EFI_SHELL_FILE_INFO *ShellFileListItem;\r
+ EFI_SHELL_FILE_INFO *ShellFileListItem;\r
\r
- if (FileList == NULL || *FileList == NULL) {\r
+ if ((FileList == NULL) || (*FileList == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- for ( ShellFileListItem = (EFI_SHELL_FILE_INFO*)GetFirstNode(&(*FileList)->Link)\r
- ; !IsListEmpty(&(*FileList)->Link)\r
- ; ShellFileListItem = (EFI_SHELL_FILE_INFO*)GetFirstNode(&(*FileList)->Link)\r
- ){\r
- RemoveEntryList(&ShellFileListItem->Link);\r
- InternalFreeShellFileInfoNode(ShellFileListItem);\r
+ for ( ShellFileListItem = (EFI_SHELL_FILE_INFO *)GetFirstNode (&(*FileList)->Link)\r
+ ; !IsListEmpty (&(*FileList)->Link)\r
+ ; ShellFileListItem = (EFI_SHELL_FILE_INFO *)GetFirstNode (&(*FileList)->Link)\r
+ )\r
+ {\r
+ RemoveEntryList (&ShellFileListItem->Link);\r
+ InternalFreeShellFileInfoNode (ShellFileListItem);\r
}\r
- InternalFreeShellFileInfoNode(*FileList);\r
+\r
+ InternalFreeShellFileInfoNode (*FileList);\r
*FileList = NULL;\r
- return(EFI_SUCCESS);\r
+ return (EFI_SUCCESS);\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellRemoveDupInFileList(\r
- IN EFI_SHELL_FILE_INFO **FileList\r
+EfiShellRemoveDupInFileList (\r
+ IN EFI_SHELL_FILE_INFO **FileList\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_SHELL_FILE_INFO *Duplicates;\r
- EFI_SHELL_FILE_INFO *ShellFileListItem;\r
- EFI_SHELL_FILE_INFO *ShellFileListItem2;\r
- EFI_SHELL_FILE_INFO *TempNode;\r
+ EFI_STATUS Status;\r
+ EFI_SHELL_FILE_INFO *Duplicates;\r
+ EFI_SHELL_FILE_INFO *ShellFileListItem;\r
+ EFI_SHELL_FILE_INFO *ShellFileListItem2;\r
+ EFI_SHELL_FILE_INFO *TempNode;\r
\r
- if (FileList == NULL || *FileList == NULL) {\r
+ if ((FileList == NULL) || (*FileList == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
EfiShellFreeFileList (&Duplicates);\r
return EFI_SUCCESS;\r
}\r
+\r
//\r
// Fall back to the slow method that needs no extra memory, and so cannot\r
// fail.\r
//\r
- for ( ShellFileListItem = (EFI_SHELL_FILE_INFO*)GetFirstNode(&(*FileList)->Link)\r
- ; !IsNull(&(*FileList)->Link, &ShellFileListItem->Link)\r
- ; ShellFileListItem = (EFI_SHELL_FILE_INFO*)GetNextNode(&(*FileList)->Link, &ShellFileListItem->Link)\r
- ){\r
- for ( ShellFileListItem2 = (EFI_SHELL_FILE_INFO*)GetNextNode(&(*FileList)->Link, &ShellFileListItem->Link)\r
- ; !IsNull(&(*FileList)->Link, &ShellFileListItem2->Link)\r
- ; ShellFileListItem2 = (EFI_SHELL_FILE_INFO*)GetNextNode(&(*FileList)->Link, &ShellFileListItem2->Link)\r
- ){\r
- if (gUnicodeCollation->StriColl(\r
- gUnicodeCollation,\r
- (CHAR16*)ShellFileListItem->FullName,\r
- (CHAR16*)ShellFileListItem2->FullName) == 0\r
- ){\r
- TempNode = (EFI_SHELL_FILE_INFO *)GetPreviousNode(\r
+ for ( ShellFileListItem = (EFI_SHELL_FILE_INFO *)GetFirstNode (&(*FileList)->Link)\r
+ ; !IsNull (&(*FileList)->Link, &ShellFileListItem->Link)\r
+ ; ShellFileListItem = (EFI_SHELL_FILE_INFO *)GetNextNode (&(*FileList)->Link, &ShellFileListItem->Link)\r
+ )\r
+ {\r
+ for ( ShellFileListItem2 = (EFI_SHELL_FILE_INFO *)GetNextNode (&(*FileList)->Link, &ShellFileListItem->Link)\r
+ ; !IsNull (&(*FileList)->Link, &ShellFileListItem2->Link)\r
+ ; ShellFileListItem2 = (EFI_SHELL_FILE_INFO *)GetNextNode (&(*FileList)->Link, &ShellFileListItem2->Link)\r
+ )\r
+ {\r
+ if (gUnicodeCollation->StriColl (\r
+ gUnicodeCollation,\r
+ (CHAR16 *)ShellFileListItem->FullName,\r
+ (CHAR16 *)ShellFileListItem2->FullName\r
+ ) == 0\r
+ )\r
+ {\r
+ TempNode = (EFI_SHELL_FILE_INFO *)GetPreviousNode (\r
&(*FileList)->Link,\r
&ShellFileListItem2->Link\r
);\r
- RemoveEntryList(&ShellFileListItem2->Link);\r
- InternalFreeShellFileInfoNode(ShellFileListItem2);\r
+ RemoveEntryList (&ShellFileListItem2->Link);\r
+ InternalFreeShellFileInfoNode (ShellFileListItem2);\r
// Set ShellFileListItem2 to PreviousNode so we don't access Freed\r
// memory in GetNextNode in the loop expression above.\r
ShellFileListItem2 = TempNode;\r
}\r
}\r
}\r
+\r
return (EFI_SUCCESS);\r
}\r
\r
// This is the same structure as the external version, but it has no CONST qualifiers.\r
//\r
typedef struct {\r
- LIST_ENTRY Link; ///< Linked list members.\r
- EFI_STATUS Status; ///< Status of opening the file. Valid only if Handle != NULL.\r
- CHAR16 *FullName; ///< Fully qualified filename.\r
- CHAR16 *FileName; ///< name of this file.\r
- SHELL_FILE_HANDLE Handle; ///< Handle for interacting with the opened file or NULL if closed.\r
- EFI_FILE_INFO *Info; ///< Pointer to the FileInfo struct for this file or NULL.\r
+ LIST_ENTRY Link; ///< Linked list members.\r
+ EFI_STATUS Status; ///< Status of opening the file. Valid only if Handle != NULL.\r
+ CHAR16 *FullName; ///< Fully qualified filename.\r
+ CHAR16 *FileName; ///< name of this file.\r
+ SHELL_FILE_HANDLE Handle; ///< Handle for interacting with the opened file or NULL if closed.\r
+ EFI_FILE_INFO *Info; ///< Pointer to the FileInfo struct for this file or NULL.\r
} EFI_SHELL_FILE_INFO_NO_CONST;\r
\r
/**\r
@retval NULL a memory allocation error occurred\r
@return != NULL a pointer to the new node\r
**/\r
-EFI_SHELL_FILE_INFO*\r
-InternalDuplicateShellFileInfo(\r
- IN EFI_SHELL_FILE_INFO *Node,\r
- IN BOOLEAN Save\r
+EFI_SHELL_FILE_INFO *\r
+InternalDuplicateShellFileInfo (\r
+ IN EFI_SHELL_FILE_INFO *Node,\r
+ IN BOOLEAN Save\r
)\r
{\r
- EFI_SHELL_FILE_INFO_NO_CONST *NewNode;\r
+ EFI_SHELL_FILE_INFO_NO_CONST *NewNode;\r
\r
//\r
// try to confirm that the objects are in sync\r
//\r
- ASSERT(sizeof(EFI_SHELL_FILE_INFO_NO_CONST) == sizeof(EFI_SHELL_FILE_INFO));\r
+ ASSERT (sizeof (EFI_SHELL_FILE_INFO_NO_CONST) == sizeof (EFI_SHELL_FILE_INFO));\r
\r
- NewNode = AllocateZeroPool(sizeof(EFI_SHELL_FILE_INFO));\r
+ NewNode = AllocateZeroPool (sizeof (EFI_SHELL_FILE_INFO));\r
if (NewNode == NULL) {\r
return (NULL);\r
}\r
- NewNode->FullName = AllocateCopyPool(StrSize(Node->FullName), Node->FullName);\r
- NewNode->FileName = AllocateCopyPool(StrSize(Node->FileName), Node->FileName);\r
- NewNode->Info = AllocateCopyPool((UINTN)Node->Info->Size, Node->Info);\r
- if ( NewNode->FullName == NULL\r
- || NewNode->FileName == NULL\r
- || NewNode->Info == NULL\r
- ){\r
- SHELL_FREE_NON_NULL(NewNode->FullName);\r
- SHELL_FREE_NON_NULL(NewNode->FileName);\r
- SHELL_FREE_NON_NULL(NewNode->Info);\r
- SHELL_FREE_NON_NULL(NewNode);\r
- return(NULL);\r
+\r
+ NewNode->FullName = AllocateCopyPool (StrSize (Node->FullName), Node->FullName);\r
+ NewNode->FileName = AllocateCopyPool (StrSize (Node->FileName), Node->FileName);\r
+ NewNode->Info = AllocateCopyPool ((UINTN)Node->Info->Size, Node->Info);\r
+ if ( (NewNode->FullName == NULL)\r
+ || (NewNode->FileName == NULL)\r
+ || (NewNode->Info == NULL)\r
+ )\r
+ {\r
+ SHELL_FREE_NON_NULL (NewNode->FullName);\r
+ SHELL_FREE_NON_NULL (NewNode->FileName);\r
+ SHELL_FREE_NON_NULL (NewNode->Info);\r
+ SHELL_FREE_NON_NULL (NewNode);\r
+ return (NULL);\r
}\r
+\r
NewNode->Status = Node->Status;\r
NewNode->Handle = Node->Handle;\r
if (!Save) {\r
Node->Handle = NULL;\r
}\r
\r
- return((EFI_SHELL_FILE_INFO*)NewNode);\r
+ return ((EFI_SHELL_FILE_INFO *)NewNode);\r
}\r
\r
/**\r
@return a pointer to the newly allocated structure.\r
**/\r
EFI_SHELL_FILE_INFO *\r
-CreateAndPopulateShellFileInfo(\r
- IN CONST CHAR16 *BasePath,\r
- IN CONST EFI_STATUS Status,\r
- IN CONST CHAR16 *FileName,\r
- IN CONST SHELL_FILE_HANDLE Handle,\r
- IN CONST EFI_FILE_INFO *Info\r
+CreateAndPopulateShellFileInfo (\r
+ IN CONST CHAR16 *BasePath,\r
+ IN CONST EFI_STATUS Status,\r
+ IN CONST CHAR16 *FileName,\r
+ IN CONST SHELL_FILE_HANDLE Handle,\r
+ IN CONST EFI_FILE_INFO *Info\r
)\r
{\r
- EFI_SHELL_FILE_INFO *ShellFileListItem;\r
- CHAR16 *TempString;\r
- UINTN Size;\r
+ EFI_SHELL_FILE_INFO *ShellFileListItem;\r
+ CHAR16 *TempString;\r
+ UINTN Size;\r
\r
TempString = NULL;\r
- Size = 0;\r
+ Size = 0;\r
\r
- ShellFileListItem = AllocateZeroPool(sizeof(EFI_SHELL_FILE_INFO));\r
+ ShellFileListItem = AllocateZeroPool (sizeof (EFI_SHELL_FILE_INFO));\r
if (ShellFileListItem == NULL) {\r
return (NULL);\r
}\r
- if (Info != NULL && Info->Size != 0) {\r
- ShellFileListItem->Info = AllocateZeroPool((UINTN)Info->Size);\r
+\r
+ if ((Info != NULL) && (Info->Size != 0)) {\r
+ ShellFileListItem->Info = AllocateZeroPool ((UINTN)Info->Size);\r
if (ShellFileListItem->Info == NULL) {\r
- FreePool(ShellFileListItem);\r
+ FreePool (ShellFileListItem);\r
return (NULL);\r
}\r
- CopyMem(ShellFileListItem->Info, Info, (UINTN)Info->Size);\r
+\r
+ CopyMem (ShellFileListItem->Info, Info, (UINTN)Info->Size);\r
} else {\r
ShellFileListItem->Info = NULL;\r
}\r
+\r
if (FileName != NULL) {\r
- ASSERT(TempString == NULL);\r
- ShellFileListItem->FileName = StrnCatGrow(&TempString, 0, FileName, 0);\r
+ ASSERT (TempString == NULL);\r
+ ShellFileListItem->FileName = StrnCatGrow (&TempString, 0, FileName, 0);\r
if (ShellFileListItem->FileName == NULL) {\r
- FreePool(ShellFileListItem->Info);\r
- FreePool(ShellFileListItem);\r
+ FreePool (ShellFileListItem->Info);\r
+ FreePool (ShellFileListItem);\r
return (NULL);\r
}\r
} else {\r
ShellFileListItem->FileName = NULL;\r
}\r
- Size = 0;\r
+\r
+ Size = 0;\r
TempString = NULL;\r
if (BasePath != NULL) {\r
- ASSERT((TempString == NULL && Size == 0) || (TempString != NULL));\r
- TempString = StrnCatGrow(&TempString, &Size, BasePath, 0);\r
+ ASSERT ((TempString == NULL && Size == 0) || (TempString != NULL));\r
+ TempString = StrnCatGrow (&TempString, &Size, BasePath, 0);\r
if (TempString == NULL) {\r
- FreePool((VOID*)ShellFileListItem->FileName);\r
- SHELL_FREE_NON_NULL(ShellFileListItem->Info);\r
- FreePool(ShellFileListItem);\r
+ FreePool ((VOID *)ShellFileListItem->FileName);\r
+ SHELL_FREE_NON_NULL (ShellFileListItem->Info);\r
+ FreePool (ShellFileListItem);\r
return (NULL);\r
}\r
}\r
+\r
if (ShellFileListItem->FileName != NULL) {\r
- ASSERT((TempString == NULL && Size == 0) || (TempString != NULL));\r
- TempString = StrnCatGrow(&TempString, &Size, ShellFileListItem->FileName, 0);\r
+ ASSERT ((TempString == NULL && Size == 0) || (TempString != NULL));\r
+ TempString = StrnCatGrow (&TempString, &Size, ShellFileListItem->FileName, 0);\r
if (TempString == NULL) {\r
- FreePool((VOID*)ShellFileListItem->FileName);\r
- FreePool(ShellFileListItem->Info);\r
- FreePool(ShellFileListItem);\r
+ FreePool ((VOID *)ShellFileListItem->FileName);\r
+ FreePool (ShellFileListItem->Info);\r
+ FreePool (ShellFileListItem);\r
return (NULL);\r
}\r
}\r
\r
- TempString = PathCleanUpDirectories(TempString);\r
+ TempString = PathCleanUpDirectories (TempString);\r
\r
ShellFileListItem->FullName = TempString;\r
ShellFileListItem->Status = Status;\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellFindFilesInDir(\r
- IN SHELL_FILE_HANDLE FileDirHandle,\r
- OUT EFI_SHELL_FILE_INFO **FileList\r
+EfiShellFindFilesInDir (\r
+ IN SHELL_FILE_HANDLE FileDirHandle,\r
+ OUT EFI_SHELL_FILE_INFO **FileList\r
)\r
{\r
- EFI_SHELL_FILE_INFO *ShellFileList;\r
- EFI_SHELL_FILE_INFO *ShellFileListItem;\r
- EFI_FILE_INFO *FileInfo;\r
- EFI_STATUS Status;\r
- BOOLEAN NoFile;\r
- CHAR16 *TempString;\r
- CHAR16 *BasePath;\r
- UINTN Size;\r
- CHAR16 *TempSpot;\r
+ EFI_SHELL_FILE_INFO *ShellFileList;\r
+ EFI_SHELL_FILE_INFO *ShellFileListItem;\r
+ EFI_FILE_INFO *FileInfo;\r
+ EFI_STATUS Status;\r
+ BOOLEAN NoFile;\r
+ CHAR16 *TempString;\r
+ CHAR16 *BasePath;\r
+ UINTN Size;\r
+ CHAR16 *TempSpot;\r
\r
BasePath = NULL;\r
- Status = FileHandleGetFileName(FileDirHandle, &BasePath);\r
- if (EFI_ERROR(Status)) {\r
+ Status = FileHandleGetFileName (FileDirHandle, &BasePath);\r
+ if (EFI_ERROR (Status)) {\r
return (Status);\r
}\r
\r
- if (ShellFileHandleGetPath(FileDirHandle) != NULL) {\r
- TempString = NULL;\r
- Size = 0;\r
- TempString = StrnCatGrow(&TempString, &Size, ShellFileHandleGetPath(FileDirHandle), 0);\r
+ if (ShellFileHandleGetPath (FileDirHandle) != NULL) {\r
+ TempString = NULL;\r
+ Size = 0;\r
+ TempString = StrnCatGrow (&TempString, &Size, ShellFileHandleGetPath (FileDirHandle), 0);\r
if (TempString == NULL) {\r
- SHELL_FREE_NON_NULL(BasePath);\r
+ SHELL_FREE_NON_NULL (BasePath);\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- TempSpot = StrStr(TempString, L";");\r
+\r
+ TempSpot = StrStr (TempString, L";");\r
\r
if (TempSpot != NULL) {\r
*TempSpot = CHAR_NULL;\r
}\r
\r
- TempString = StrnCatGrow(&TempString, &Size, BasePath, 0);\r
+ TempString = StrnCatGrow (&TempString, &Size, BasePath, 0);\r
if (TempString == NULL) {\r
- SHELL_FREE_NON_NULL(BasePath);\r
+ SHELL_FREE_NON_NULL (BasePath);\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- SHELL_FREE_NON_NULL(BasePath);\r
- BasePath = TempString;\r
+\r
+ SHELL_FREE_NON_NULL (BasePath);\r
+ BasePath = TempString;\r
}\r
\r
NoFile = FALSE;\r
FileInfo = NULL;\r
Status = EFI_SUCCESS;\r
\r
-\r
- for ( Status = FileHandleFindFirstFile(FileDirHandle, &FileInfo)\r
- ; !EFI_ERROR(Status) && !NoFile\r
- ; Status = FileHandleFindNextFile(FileDirHandle, FileInfo, &NoFile)\r
- ){\r
+ for ( Status = FileHandleFindFirstFile (FileDirHandle, &FileInfo)\r
+ ; !EFI_ERROR (Status) && !NoFile\r
+ ; Status = FileHandleFindNextFile (FileDirHandle, FileInfo, &NoFile)\r
+ )\r
+ {\r
if (ShellFileList == NULL) {\r
- ShellFileList = (EFI_SHELL_FILE_INFO*)AllocateZeroPool(sizeof(EFI_SHELL_FILE_INFO));\r
+ ShellFileList = (EFI_SHELL_FILE_INFO *)AllocateZeroPool (sizeof (EFI_SHELL_FILE_INFO));\r
if (ShellFileList == NULL) {\r
SHELL_FREE_NON_NULL (BasePath);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- InitializeListHead(&ShellFileList->Link);\r
+\r
+ InitializeListHead (&ShellFileList->Link);\r
}\r
+\r
//\r
// allocate a new EFI_SHELL_FILE_INFO and populate it...\r
//\r
- ShellFileListItem = CreateAndPopulateShellFileInfo(\r
- BasePath,\r
- EFI_SUCCESS, // success since we didn't fail to open it...\r
- FileInfo->FileName,\r
- NULL, // no handle since not open\r
- FileInfo);\r
+ ShellFileListItem = CreateAndPopulateShellFileInfo (\r
+ BasePath,\r
+ EFI_SUCCESS, // success since we didn't fail to open it...\r
+ FileInfo->FileName,\r
+ NULL, // no handle since not open\r
+ FileInfo\r
+ );\r
if (ShellFileListItem == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
//\r
//\r
break;\r
}\r
- InsertTailList(&ShellFileList->Link, &ShellFileListItem->Link);\r
+\r
+ InsertTailList (&ShellFileList->Link, &ShellFileListItem->Link);\r
}\r
- if (EFI_ERROR(Status)) {\r
- EfiShellFreeFileList(&ShellFileList);\r
+\r
+ if (EFI_ERROR (Status)) {\r
+ EfiShellFreeFileList (&ShellFileList);\r
*FileList = NULL;\r
} else {\r
*FileList = ShellFileList;\r
}\r
- SHELL_FREE_NON_NULL(BasePath);\r
- return(Status);\r
+\r
+ SHELL_FREE_NON_NULL (BasePath);\r
+ return (Status);\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellGetGuidFromName(\r
- IN CONST CHAR16 *GuidName,\r
- OUT EFI_GUID *Guid\r
+EfiShellGetGuidFromName (\r
+ IN CONST CHAR16 *GuidName,\r
+ OUT EFI_GUID *Guid\r
)\r
{\r
EFI_GUID *NewGuid;\r
EFI_STATUS Status;\r
\r
- if (Guid == NULL || GuidName == NULL) {\r
+ if ((Guid == NULL) || (GuidName == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- Status = GetGuidFromStringName(GuidName, NULL, &NewGuid);\r
+ Status = GetGuidFromStringName (GuidName, NULL, &NewGuid);\r
\r
- if (!EFI_ERROR(Status)) {\r
- CopyGuid(Guid, NewGuid);\r
+ if (!EFI_ERROR (Status)) {\r
+ CopyGuid (Guid, NewGuid);\r
}\r
\r
return (Status);\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellGetGuidName(\r
- IN CONST EFI_GUID *Guid,\r
- OUT CONST CHAR16 **GuidName\r
+EfiShellGetGuidName (\r
+ IN CONST EFI_GUID *Guid,\r
+ OUT CONST CHAR16 **GuidName\r
)\r
{\r
- CHAR16 *Name;\r
+ CHAR16 *Name;\r
\r
- if (Guid == NULL || GuidName == NULL) {\r
+ if ((Guid == NULL) || (GuidName == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- Name = GetStringNameFromGuid(Guid, NULL);\r
- if (Name == NULL || StrLen(Name) == 0) {\r
- SHELL_FREE_NON_NULL(Name);\r
+ Name = GetStringNameFromGuid (Guid, NULL);\r
+ if ((Name == NULL) || (StrLen (Name) == 0)) {\r
+ SHELL_FREE_NON_NULL (Name);\r
return (EFI_NOT_FOUND);\r
}\r
\r
- *GuidName = AddBufferToFreeList(Name);\r
+ *GuidName = AddBufferToFreeList (Name);\r
\r
return (EFI_SUCCESS);\r
}\r
\r
-\r
-\r
/**\r
If FileHandle is a directory then the function reads from FileHandle and reads in\r
each of the FileInfo structures. If one of them matches the Pattern's first\r
@retval EFI_OUT_OF_RESOURCES a memory allocation failed\r
**/\r
EFI_STATUS\r
-ShellSearchHandle(\r
- IN CONST CHAR16 *FilePattern,\r
- IN EFI_UNICODE_COLLATION_PROTOCOL *UnicodeCollation,\r
- IN SHELL_FILE_HANDLE FileHandle,\r
- IN OUT EFI_SHELL_FILE_INFO **FileList,\r
- IN CONST EFI_SHELL_FILE_INFO *ParentNode OPTIONAL,\r
- IN CONST CHAR16 *MapName\r
+ShellSearchHandle (\r
+ IN CONST CHAR16 *FilePattern,\r
+ IN EFI_UNICODE_COLLATION_PROTOCOL *UnicodeCollation,\r
+ IN SHELL_FILE_HANDLE FileHandle,\r
+ IN OUT EFI_SHELL_FILE_INFO **FileList,\r
+ IN CONST EFI_SHELL_FILE_INFO *ParentNode OPTIONAL,\r
+ IN CONST CHAR16 *MapName\r
)\r
{\r
- EFI_STATUS Status;\r
- CONST CHAR16 *NextFilePatternStart;\r
- CHAR16 *CurrentFilePattern;\r
- EFI_SHELL_FILE_INFO *ShellInfo;\r
- EFI_SHELL_FILE_INFO *ShellInfoNode;\r
- EFI_SHELL_FILE_INFO *NewShellNode;\r
- EFI_FILE_INFO *FileInfo;\r
- BOOLEAN Directory;\r
- CHAR16 *NewFullName;\r
- UINTN Size;\r
-\r
- if ( FilePattern == NULL\r
- || UnicodeCollation == NULL\r
- || FileList == NULL\r
- ){\r
+ EFI_STATUS Status;\r
+ CONST CHAR16 *NextFilePatternStart;\r
+ CHAR16 *CurrentFilePattern;\r
+ EFI_SHELL_FILE_INFO *ShellInfo;\r
+ EFI_SHELL_FILE_INFO *ShellInfoNode;\r
+ EFI_SHELL_FILE_INFO *NewShellNode;\r
+ EFI_FILE_INFO *FileInfo;\r
+ BOOLEAN Directory;\r
+ CHAR16 *NewFullName;\r
+ UINTN Size;\r
+\r
+ if ( (FilePattern == NULL)\r
+ || (UnicodeCollation == NULL)\r
+ || (FileList == NULL)\r
+ )\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
- ShellInfo = NULL;\r
+\r
+ ShellInfo = NULL;\r
CurrentFilePattern = NULL;\r
\r
if (*FilePattern == L'\\') {\r
FilePattern++;\r
}\r
\r
- for( NextFilePatternStart = FilePattern\r
- ; *NextFilePatternStart != CHAR_NULL && *NextFilePatternStart != L'\\'\r
- ; NextFilePatternStart++);\r
+ for ( NextFilePatternStart = FilePattern\r
+ ; *NextFilePatternStart != CHAR_NULL && *NextFilePatternStart != L'\\'\r
+ ; NextFilePatternStart++)\r
+ {\r
+ }\r
\r
- CurrentFilePattern = AllocateZeroPool((NextFilePatternStart-FilePattern+1)*sizeof(CHAR16));\r
+ CurrentFilePattern = AllocateZeroPool ((NextFilePatternStart-FilePattern+1)*sizeof (CHAR16));\r
if (CurrentFilePattern == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- StrnCpyS(CurrentFilePattern, NextFilePatternStart-FilePattern+1, FilePattern, NextFilePatternStart-FilePattern);\r
+ StrnCpyS (CurrentFilePattern, NextFilePatternStart-FilePattern+1, FilePattern, NextFilePatternStart-FilePattern);\r
\r
- if (CurrentFilePattern[0] == CHAR_NULL\r
- &&NextFilePatternStart[0] == CHAR_NULL\r
- ){\r
+ if ( (CurrentFilePattern[0] == CHAR_NULL)\r
+ && (NextFilePatternStart[0] == CHAR_NULL)\r
+ )\r
+ {\r
//\r
// we want the parent or root node (if no parent)\r
//\r
//\r
// We want the root node. create the node.\r
//\r
- FileInfo = FileHandleGetInfo(FileHandle);\r
- NewShellNode = CreateAndPopulateShellFileInfo(\r
- MapName,\r
- EFI_SUCCESS,\r
- L"\\",\r
- FileHandle,\r
- FileInfo\r
- );\r
- SHELL_FREE_NON_NULL(FileInfo);\r
+ FileInfo = FileHandleGetInfo (FileHandle);\r
+ NewShellNode = CreateAndPopulateShellFileInfo (\r
+ MapName,\r
+ EFI_SUCCESS,\r
+ L"\\",\r
+ FileHandle,\r
+ FileInfo\r
+ );\r
+ SHELL_FREE_NON_NULL (FileInfo);\r
} else {\r
//\r
// Add the current parameter FileHandle to the list, then end...\r
//\r
- NewShellNode = InternalDuplicateShellFileInfo((EFI_SHELL_FILE_INFO*)ParentNode, TRUE);\r
+ NewShellNode = InternalDuplicateShellFileInfo ((EFI_SHELL_FILE_INFO *)ParentNode, TRUE);\r
}\r
+\r
if (NewShellNode == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
} else {\r
NewShellNode->Handle = NULL;\r
if (*FileList == NULL) {\r
- *FileList = AllocateZeroPool(sizeof(EFI_SHELL_FILE_INFO));\r
- InitializeListHead(&((*FileList)->Link));\r
+ *FileList = AllocateZeroPool (sizeof (EFI_SHELL_FILE_INFO));\r
+ InitializeListHead (&((*FileList)->Link));\r
}\r
\r
//\r
// Add to the returning to use list\r
//\r
- InsertTailList(&(*FileList)->Link, &NewShellNode->Link);\r
+ InsertTailList (&(*FileList)->Link, &NewShellNode->Link);\r
\r
Status = EFI_SUCCESS;\r
}\r
} else {\r
- Status = EfiShellFindFilesInDir(FileHandle, &ShellInfo);\r
+ Status = EfiShellFindFilesInDir (FileHandle, &ShellInfo);\r
\r
- if (!EFI_ERROR(Status)){\r
- if (StrStr(NextFilePatternStart, L"\\") != NULL){\r
+ if (!EFI_ERROR (Status)) {\r
+ if (StrStr (NextFilePatternStart, L"\\") != NULL) {\r
Directory = TRUE;\r
} else {\r
Directory = FALSE;\r
}\r
- for ( ShellInfoNode = (EFI_SHELL_FILE_INFO*)GetFirstNode(&ShellInfo->Link)\r
- ; !IsNull (&ShellInfo->Link, &ShellInfoNode->Link)\r
- ; ShellInfoNode = (EFI_SHELL_FILE_INFO*)GetNextNode(&ShellInfo->Link, &ShellInfoNode->Link)\r
- ){\r
- if (UnicodeCollation->MetaiMatch(UnicodeCollation, (CHAR16*)ShellInfoNode->FileName, CurrentFilePattern)){\r
- if (ShellInfoNode->FullName != NULL && StrStr(ShellInfoNode->FullName, L":") == NULL) {\r
- Size = StrSize (ShellInfoNode->FullName) + StrSize (MapName);\r
- NewFullName = AllocateZeroPool(Size);\r
+\r
+ for ( ShellInfoNode = (EFI_SHELL_FILE_INFO *)GetFirstNode (&ShellInfo->Link)\r
+ ; !IsNull (&ShellInfo->Link, &ShellInfoNode->Link)\r
+ ; ShellInfoNode = (EFI_SHELL_FILE_INFO *)GetNextNode (&ShellInfo->Link, &ShellInfoNode->Link)\r
+ )\r
+ {\r
+ if (UnicodeCollation->MetaiMatch (UnicodeCollation, (CHAR16 *)ShellInfoNode->FileName, CurrentFilePattern)) {\r
+ if ((ShellInfoNode->FullName != NULL) && (StrStr (ShellInfoNode->FullName, L":") == NULL)) {\r
+ Size = StrSize (ShellInfoNode->FullName) + StrSize (MapName);\r
+ NewFullName = AllocateZeroPool (Size);\r
if (NewFullName == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
} else {\r
- StrCpyS(NewFullName, Size / sizeof(CHAR16), MapName);\r
- StrCatS(NewFullName, Size / sizeof(CHAR16), ShellInfoNode->FullName);\r
- FreePool ((VOID *) ShellInfoNode->FullName);\r
+ StrCpyS (NewFullName, Size / sizeof (CHAR16), MapName);\r
+ StrCatS (NewFullName, Size / sizeof (CHAR16), ShellInfoNode->FullName);\r
+ FreePool ((VOID *)ShellInfoNode->FullName);\r
ShellInfoNode->FullName = NewFullName;\r
}\r
}\r
- if (Directory && !EFI_ERROR(Status) && ShellInfoNode->FullName != NULL && ShellInfoNode->FileName != NULL){\r
+\r
+ if (Directory && !EFI_ERROR (Status) && (ShellInfoNode->FullName != NULL) && (ShellInfoNode->FileName != NULL)) {\r
//\r
// should be a directory\r
//\r
//\r
// don't open the . and .. directories\r
//\r
- if ( (StrCmp(ShellInfoNode->FileName, L".") != 0)\r
- && (StrCmp(ShellInfoNode->FileName, L"..") != 0)\r
- ){\r
+ if ( (StrCmp (ShellInfoNode->FileName, L".") != 0)\r
+ && (StrCmp (ShellInfoNode->FileName, L"..") != 0)\r
+ )\r
+ {\r
//\r
//\r
//\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
+\r
//\r
// Open the directory since we need that handle in the next recursion.\r
//\r
//\r
// recurse with the next part of the pattern\r
//\r
- Status = ShellSearchHandle(NextFilePatternStart, UnicodeCollation, ShellInfoNode->Handle, FileList, ShellInfoNode, MapName);\r
- EfiShellClose(ShellInfoNode->Handle);\r
+ Status = ShellSearchHandle (NextFilePatternStart, UnicodeCollation, ShellInfoNode->Handle, FileList, ShellInfoNode, MapName);\r
+ EfiShellClose (ShellInfoNode->Handle);\r
ShellInfoNode->Handle = NULL;\r
}\r
- } else if (!EFI_ERROR(Status)) {\r
+ } else if (!EFI_ERROR (Status)) {\r
//\r
// should be a file\r
//\r
//\r
// copy the information we need into a new Node\r
//\r
- NewShellNode = InternalDuplicateShellFileInfo(ShellInfoNode, FALSE);\r
+ NewShellNode = InternalDuplicateShellFileInfo (ShellInfoNode, FALSE);\r
if (NewShellNode == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
}\r
+\r
if (*FileList == NULL) {\r
- *FileList = AllocateZeroPool(sizeof(EFI_SHELL_FILE_INFO));\r
- InitializeListHead(&((*FileList)->Link));\r
+ *FileList = AllocateZeroPool (sizeof (EFI_SHELL_FILE_INFO));\r
+ InitializeListHead (&((*FileList)->Link));\r
}\r
\r
//\r
// Add to the returning to use list\r
//\r
- InsertTailList(&(*FileList)->Link, &NewShellNode->Link);\r
+ InsertTailList (&(*FileList)->Link, &NewShellNode->Link);\r
}\r
}\r
- if (EFI_ERROR(Status)) {\r
+\r
+ if (EFI_ERROR (Status)) {\r
break;\r
}\r
}\r
- if (EFI_ERROR(Status)) {\r
- EfiShellFreeFileList(&ShellInfo);\r
+\r
+ if (EFI_ERROR (Status)) {\r
+ EfiShellFreeFileList (&ShellInfo);\r
} else {\r
- Status = EfiShellFreeFileList(&ShellInfo);\r
+ Status = EfiShellFreeFileList (&ShellInfo);\r
}\r
}\r
}\r
\r
- if (*FileList == NULL || (*FileList != NULL && IsListEmpty(&(*FileList)->Link))) {\r
+ if ((*FileList == NULL) || ((*FileList != NULL) && IsListEmpty (&(*FileList)->Link))) {\r
Status = EFI_NOT_FOUND;\r
}\r
\r
- FreePool(CurrentFilePattern);\r
+ FreePool (CurrentFilePattern);\r
return (Status);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellFindFiles(\r
- IN CONST CHAR16 *FilePattern,\r
- OUT EFI_SHELL_FILE_INFO **FileList\r
+EfiShellFindFiles (\r
+ IN CONST CHAR16 *FilePattern,\r
+ OUT EFI_SHELL_FILE_INFO **FileList\r
)\r
{\r
- EFI_STATUS Status;\r
- CHAR16 *PatternCopy;\r
- CHAR16 *PatternCurrentLocation;\r
- EFI_DEVICE_PATH_PROTOCOL *RootDevicePath;\r
- SHELL_FILE_HANDLE RootFileHandle;\r
- CHAR16 *MapName;\r
- UINTN Count;\r
-\r
- if ( FilePattern == NULL\r
- || FileList == NULL\r
- || StrStr(FilePattern, L":") == NULL\r
- ){\r
+ EFI_STATUS Status;\r
+ CHAR16 *PatternCopy;\r
+ CHAR16 *PatternCurrentLocation;\r
+ EFI_DEVICE_PATH_PROTOCOL *RootDevicePath;\r
+ SHELL_FILE_HANDLE RootFileHandle;\r
+ CHAR16 *MapName;\r
+ UINTN Count;\r
+\r
+ if ( (FilePattern == NULL)\r
+ || (FileList == NULL)\r
+ || (StrStr (FilePattern, L":") == NULL)\r
+ )\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
- Status = EFI_SUCCESS;\r
+\r
+ Status = EFI_SUCCESS;\r
RootDevicePath = NULL;\r
RootFileHandle = NULL;\r
MapName = NULL;\r
- PatternCopy = AllocateCopyPool(StrSize(FilePattern), FilePattern);\r
+ PatternCopy = AllocateCopyPool (StrSize (FilePattern), FilePattern);\r
if (PatternCopy == NULL) {\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
\r
- PatternCopy = PathCleanUpDirectories(PatternCopy);\r
+ PatternCopy = PathCleanUpDirectories (PatternCopy);\r
\r
- Count = StrStr(PatternCopy, L":") - PatternCopy + 1;\r
+ Count = StrStr (PatternCopy, L":") - PatternCopy + 1;\r
ASSERT (Count <= StrLen (PatternCopy));\r
\r
- ASSERT(MapName == NULL);\r
- MapName = StrnCatGrow(&MapName, NULL, PatternCopy, Count);\r
+ ASSERT (MapName == NULL);\r
+ MapName = StrnCatGrow (&MapName, NULL, PatternCopy, Count);\r
if (MapName == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
} else {\r
- RootDevicePath = EfiShellGetDevicePathFromFilePath(PatternCopy);\r
+ RootDevicePath = EfiShellGetDevicePathFromFilePath (PatternCopy);\r
if (RootDevicePath == NULL) {\r
Status = EFI_INVALID_PARAMETER;\r
} else {\r
- Status = EfiShellOpenRoot(RootDevicePath, &RootFileHandle);\r
- if (!EFI_ERROR(Status)) {\r
+ Status = EfiShellOpenRoot (RootDevicePath, &RootFileHandle);\r
+ if (!EFI_ERROR (Status)) {\r
for ( PatternCurrentLocation = PatternCopy\r
- ; *PatternCurrentLocation != ':'\r
- ; PatternCurrentLocation++);\r
+ ; *PatternCurrentLocation != ':'\r
+ ; PatternCurrentLocation++)\r
+ {\r
+ }\r
+\r
PatternCurrentLocation++;\r
- Status = ShellSearchHandle(PatternCurrentLocation, gUnicodeCollation, RootFileHandle, FileList, NULL, MapName);\r
- EfiShellClose(RootFileHandle);\r
+ Status = ShellSearchHandle (PatternCurrentLocation, gUnicodeCollation, RootFileHandle, FileList, NULL, MapName);\r
+ EfiShellClose (RootFileHandle);\r
}\r
- FreePool(RootDevicePath);\r
+\r
+ FreePool (RootDevicePath);\r
}\r
}\r
\r
- SHELL_FREE_NON_NULL(PatternCopy);\r
- SHELL_FREE_NON_NULL(MapName);\r
+ SHELL_FREE_NON_NULL (PatternCopy);\r
+ SHELL_FREE_NON_NULL (MapName);\r
\r
- return(Status);\r
+ return (Status);\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellOpenFileList(\r
- IN CHAR16 *Path,\r
- IN UINT64 OpenMode,\r
- IN OUT EFI_SHELL_FILE_INFO **FileList\r
+EfiShellOpenFileList (\r
+ IN CHAR16 *Path,\r
+ IN UINT64 OpenMode,\r
+ IN OUT EFI_SHELL_FILE_INFO **FileList\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_SHELL_FILE_INFO *ShellFileListItem;\r
- CHAR16 *Path2;\r
- UINTN Path2Size;\r
- CONST CHAR16 *CurDir;\r
- BOOLEAN Found;\r
+ EFI_STATUS Status;\r
+ EFI_SHELL_FILE_INFO *ShellFileListItem;\r
+ CHAR16 *Path2;\r
+ UINTN Path2Size;\r
+ CONST CHAR16 *CurDir;\r
+ BOOLEAN Found;\r
\r
- PathCleanUpDirectories(Path);\r
+ PathCleanUpDirectories (Path);\r
\r
- Path2Size = 0;\r
- Path2 = NULL;\r
+ Path2Size = 0;\r
+ Path2 = NULL;\r
\r
- if (FileList == NULL || *FileList == NULL) {\r
+ if ((FileList == NULL) || (*FileList == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- if (*Path == L'.' && *(Path+1) == L'\\') {\r
- Path+=2;\r
+ if ((*Path == L'.') && (*(Path+1) == L'\\')) {\r
+ Path += 2;\r
}\r
\r
//\r
// convert a local path to an absolute path\r
//\r
- if (StrStr(Path, L":") == NULL) {\r
- CurDir = EfiShellGetCurDir(NULL);\r
- ASSERT((Path2 == NULL && Path2Size == 0) || (Path2 != NULL));\r
- StrnCatGrow(&Path2, &Path2Size, CurDir, 0);\r
- StrnCatGrow(&Path2, &Path2Size, L"\\", 0);\r
+ if (StrStr (Path, L":") == NULL) {\r
+ CurDir = EfiShellGetCurDir (NULL);\r
+ ASSERT ((Path2 == NULL && Path2Size == 0) || (Path2 != NULL));\r
+ StrnCatGrow (&Path2, &Path2Size, CurDir, 0);\r
+ StrnCatGrow (&Path2, &Path2Size, L"\\", 0);\r
if (*Path == L'\\') {\r
Path++;\r
- while (PathRemoveLastItem(Path2)) ;\r
+ while (PathRemoveLastItem (Path2)) {\r
+ }\r
}\r
- ASSERT((Path2 == NULL && Path2Size == 0) || (Path2 != NULL));\r
- StrnCatGrow(&Path2, &Path2Size, Path, 0);\r
+\r
+ ASSERT ((Path2 == NULL && Path2Size == 0) || (Path2 != NULL));\r
+ StrnCatGrow (&Path2, &Path2Size, Path, 0);\r
} else {\r
- ASSERT(Path2 == NULL);\r
- StrnCatGrow(&Path2, NULL, Path, 0);\r
+ ASSERT (Path2 == NULL);\r
+ StrnCatGrow (&Path2, NULL, Path, 0);\r
}\r
\r
PathCleanUpDirectories (Path2);\r
//\r
// do the search\r
//\r
- Status = EfiShellFindFiles(Path2, FileList);\r
+ Status = EfiShellFindFiles (Path2, FileList);\r
\r
- FreePool(Path2);\r
+ FreePool (Path2);\r
\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
return (Status);\r
}\r
\r
//\r
// We had no errors so open all the files (that are not already opened...)\r
//\r
- for ( ShellFileListItem = (EFI_SHELL_FILE_INFO*)GetFirstNode(&(*FileList)->Link)\r
- ; !IsNull(&(*FileList)->Link, &ShellFileListItem->Link)\r
- ; ShellFileListItem = (EFI_SHELL_FILE_INFO*)GetNextNode(&(*FileList)->Link, &ShellFileListItem->Link)\r
- ){\r
- if (ShellFileListItem->Status == 0 && ShellFileListItem->Handle == NULL) {\r
+ for ( ShellFileListItem = (EFI_SHELL_FILE_INFO *)GetFirstNode (&(*FileList)->Link)\r
+ ; !IsNull (&(*FileList)->Link, &ShellFileListItem->Link)\r
+ ; ShellFileListItem = (EFI_SHELL_FILE_INFO *)GetNextNode (&(*FileList)->Link, &ShellFileListItem->Link)\r
+ )\r
+ {\r
+ if ((ShellFileListItem->Status == 0) && (ShellFileListItem->Handle == NULL)) {\r
ShellFileListItem->Status = EfiShellOpenFileByName (ShellFileListItem->FullName, &ShellFileListItem->Handle, OpenMode);\r
- Found = TRUE;\r
+ Found = TRUE;\r
}\r
}\r
\r
if (!Found) {\r
return (EFI_NOT_FOUND);\r
}\r
- return(EFI_SUCCESS);\r
+\r
+ return (EFI_SUCCESS);\r
}\r
\r
/**\r
**/\r
CONST CHAR16 *\r
EFIAPI\r
-EfiShellGetEnvEx(\r
- IN CONST CHAR16 *Name,\r
- OUT UINT32 *Attributes OPTIONAL\r
+EfiShellGetEnvEx (\r
+ IN CONST CHAR16 *Name,\r
+ OUT UINT32 *Attributes OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- VOID *Buffer;\r
- UINTN Size;\r
- ENV_VAR_LIST *Node;\r
- CHAR16 *CurrentWriteLocation;\r
+ EFI_STATUS Status;\r
+ VOID *Buffer;\r
+ UINTN Size;\r
+ ENV_VAR_LIST *Node;\r
+ CHAR16 *CurrentWriteLocation;\r
\r
- Size = 0;\r
+ Size = 0;\r
Buffer = NULL;\r
\r
if (Name == NULL) {\r
-\r
//\r
// Build the semi-colon delimited list. (2 passes)\r
//\r
- for ( Node = (ENV_VAR_LIST*)GetFirstNode(&gShellEnvVarList.Link)\r
- ; !IsNull(&gShellEnvVarList.Link, &Node->Link)\r
- ; Node = (ENV_VAR_LIST*)GetNextNode(&gShellEnvVarList.Link, &Node->Link)\r
- ){\r
- ASSERT(Node->Key != NULL);\r
- Size += StrSize(Node->Key);\r
+ for ( Node = (ENV_VAR_LIST *)GetFirstNode (&gShellEnvVarList.Link)\r
+ ; !IsNull (&gShellEnvVarList.Link, &Node->Link)\r
+ ; Node = (ENV_VAR_LIST *)GetNextNode (&gShellEnvVarList.Link, &Node->Link)\r
+ )\r
+ {\r
+ ASSERT (Node->Key != NULL);\r
+ Size += StrSize (Node->Key);\r
}\r
\r
- Size += 2*sizeof(CHAR16);\r
+ Size += 2*sizeof (CHAR16);\r
\r
- Buffer = AllocateZeroPool(Size);\r
+ Buffer = AllocateZeroPool (Size);\r
if (Buffer == NULL) {\r
return (NULL);\r
}\r
- CurrentWriteLocation = (CHAR16*)Buffer;\r
\r
- for ( Node = (ENV_VAR_LIST*)GetFirstNode(&gShellEnvVarList.Link)\r
- ; !IsNull(&gShellEnvVarList.Link, &Node->Link)\r
- ; Node = (ENV_VAR_LIST*)GetNextNode(&gShellEnvVarList.Link, &Node->Link)\r
- ){\r
- ASSERT(Node->Key != NULL);\r
- StrCpyS( CurrentWriteLocation,\r
- (Size)/sizeof(CHAR16) - (CurrentWriteLocation - ((CHAR16*)Buffer)),\r
- Node->Key\r
- );\r
- CurrentWriteLocation += StrLen(CurrentWriteLocation) + 1;\r
- }\r
+ CurrentWriteLocation = (CHAR16 *)Buffer;\r
\r
+ for ( Node = (ENV_VAR_LIST *)GetFirstNode (&gShellEnvVarList.Link)\r
+ ; !IsNull (&gShellEnvVarList.Link, &Node->Link)\r
+ ; Node = (ENV_VAR_LIST *)GetNextNode (&gShellEnvVarList.Link, &Node->Link)\r
+ )\r
+ {\r
+ ASSERT (Node->Key != NULL);\r
+ StrCpyS (\r
+ CurrentWriteLocation,\r
+ (Size)/sizeof (CHAR16) - (CurrentWriteLocation - ((CHAR16 *)Buffer)),\r
+ Node->Key\r
+ );\r
+ CurrentWriteLocation += StrLen (CurrentWriteLocation) + 1;\r
+ }\r
} else {\r
//\r
// We are doing a specific environment variable\r
//\r
- Status = ShellFindEnvVarInList(Name, (CHAR16**)&Buffer, &Size, Attributes);\r
+ Status = ShellFindEnvVarInList (Name, (CHAR16 **)&Buffer, &Size, Attributes);\r
\r
- if (EFI_ERROR(Status)){\r
+ if (EFI_ERROR (Status)) {\r
//\r
// get the size we need for this EnvVariable\r
//\r
- Status = SHELL_GET_ENVIRONMENT_VARIABLE_AND_ATTRIBUTES(Name, Attributes, &Size, Buffer);\r
+ Status = SHELL_GET_ENVIRONMENT_VARIABLE_AND_ATTRIBUTES (Name, Attributes, &Size, Buffer);\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
//\r
// Allocate the space and recall the get function\r
//\r
- Buffer = AllocateZeroPool(Size);\r
- Status = SHELL_GET_ENVIRONMENT_VARIABLE_AND_ATTRIBUTES(Name, Attributes, &Size, Buffer);\r
+ Buffer = AllocateZeroPool (Size);\r
+ Status = SHELL_GET_ENVIRONMENT_VARIABLE_AND_ATTRIBUTES (Name, Attributes, &Size, Buffer);\r
}\r
+\r
//\r
// we didn't get it (might not exist)\r
// free the memory if we allocated any and return NULL\r
//\r
- if (EFI_ERROR(Status)) {\r
+ if (EFI_ERROR (Status)) {\r
if (Buffer != NULL) {\r
- FreePool(Buffer);\r
+ FreePool (Buffer);\r
}\r
+\r
return (NULL);\r
} else {\r
//\r
//\r
// return the buffer\r
//\r
- return (AddBufferToFreeList(Buffer));\r
+ return (AddBufferToFreeList (Buffer));\r
}\r
\r
/**\r
**/\r
CONST CHAR16 *\r
EFIAPI\r
-EfiShellGetEnv(\r
- IN CONST CHAR16 *Name\r
+EfiShellGetEnv (\r
+ IN CONST CHAR16 *Name\r
)\r
{\r
- return (EfiShellGetEnvEx(Name, NULL));\r
+ return (EfiShellGetEnvEx (Name, NULL));\r
}\r
\r
/**\r
@retval EFI_SUCCESS The environment variable was successfully updated.\r
**/\r
EFI_STATUS\r
-InternalEfiShellSetEnv(\r
- IN CONST CHAR16 *Name,\r
- IN CONST CHAR16 *Value,\r
- IN BOOLEAN Volatile\r
+InternalEfiShellSetEnv (\r
+ IN CONST CHAR16 *Name,\r
+ IN CONST CHAR16 *Value,\r
+ IN BOOLEAN Volatile\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
- if (Value == NULL || StrLen(Value) == 0) {\r
- Status = SHELL_DELETE_ENVIRONMENT_VARIABLE(Name);\r
- if (!EFI_ERROR(Status)) {\r
- ShellRemvoeEnvVarFromList(Name);\r
+ if ((Value == NULL) || (StrLen (Value) == 0)) {\r
+ Status = SHELL_DELETE_ENVIRONMENT_VARIABLE (Name);\r
+ if (!EFI_ERROR (Status)) {\r
+ ShellRemvoeEnvVarFromList (Name);\r
}\r
} else {\r
- SHELL_DELETE_ENVIRONMENT_VARIABLE(Name);\r
- Status = ShellAddEnvVarToList(\r
- Name, Value, StrSize(Value),\r
+ SHELL_DELETE_ENVIRONMENT_VARIABLE (Name);\r
+ Status = ShellAddEnvVarToList (\r
+ Name,\r
+ Value,\r
+ StrSize (Value),\r
EFI_VARIABLE_BOOTSERVICE_ACCESS | (Volatile ? 0 : EFI_VARIABLE_NON_VOLATILE)\r
);\r
if (!EFI_ERROR (Status)) {\r
? SHELL_SET_ENVIRONMENT_VARIABLE_V (Name, StrSize (Value) - sizeof (CHAR16), Value)\r
: SHELL_SET_ENVIRONMENT_VARIABLE_NV (Name, StrSize (Value) - sizeof (CHAR16), Value);\r
if (EFI_ERROR (Status)) {\r
- ShellRemvoeEnvVarFromList(Name);\r
+ ShellRemvoeEnvVarFromList (Name);\r
}\r
}\r
}\r
+\r
return Status;\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellSetEnv(\r
- IN CONST CHAR16 *Name,\r
- IN CONST CHAR16 *Value,\r
- IN BOOLEAN Volatile\r
+EfiShellSetEnv (\r
+ IN CONST CHAR16 *Name,\r
+ IN CONST CHAR16 *Value,\r
+ IN BOOLEAN Volatile\r
)\r
{\r
- if (Name == NULL || *Name == CHAR_NULL) {\r
+ if ((Name == NULL) || (*Name == CHAR_NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
+\r
//\r
// Make sure we dont 'set' a predefined read only variable\r
//\r
(StrCmp (Name, L"uefishellversion") == 0) ||\r
(StrCmp (Name, L"uefiversion") == 0) ||\r
(!ShellInfoObject.ShellInitSettings.BitUnion.Bits.NoNest &&\r
- StrCmp (Name, mNoNestingEnvVarName) == 0)\r
- ) {\r
+ (StrCmp (Name, mNoNestingEnvVarName) == 0))\r
+ )\r
+ {\r
return (EFI_INVALID_PARAMETER);\r
}\r
- return (InternalEfiShellSetEnv(Name, Value, Volatile));\r
+\r
+ return (InternalEfiShellSetEnv (Name, Value, Volatile));\r
}\r
\r
/**\r
**/\r
CONST CHAR16 *\r
EFIAPI\r
-EfiShellGetCurDir(\r
- IN CONST CHAR16 *FileSystemMapping OPTIONAL\r
+EfiShellGetCurDir (\r
+ IN CONST CHAR16 *FileSystemMapping OPTIONAL\r
)\r
{\r
- CHAR16 *PathToReturn;\r
- UINTN Size;\r
- SHELL_MAP_LIST *MapListItem;\r
- if (!IsListEmpty(&gShellMapList.Link)) {\r
+ CHAR16 *PathToReturn;\r
+ UINTN Size;\r
+ SHELL_MAP_LIST *MapListItem;\r
+\r
+ if (!IsListEmpty (&gShellMapList.Link)) {\r
//\r
// if parameter is NULL, use current\r
//\r
if (FileSystemMapping == NULL) {\r
- return (EfiShellGetEnv(L"cwd"));\r
+ return (EfiShellGetEnv (L"cwd"));\r
} else {\r
- Size = 0;\r
+ Size = 0;\r
PathToReturn = NULL;\r
- MapListItem = ShellCommandFindMapItem(FileSystemMapping);\r
+ MapListItem = ShellCommandFindMapItem (FileSystemMapping);\r
if (MapListItem != NULL) {\r
- ASSERT((PathToReturn == NULL && Size == 0) || (PathToReturn != NULL));\r
- PathToReturn = StrnCatGrow(&PathToReturn, &Size, MapListItem->MapName, 0);\r
- PathToReturn = StrnCatGrow(&PathToReturn, &Size, MapListItem->CurrentDirectoryPath, 0);\r
+ ASSERT ((PathToReturn == NULL && Size == 0) || (PathToReturn != NULL));\r
+ PathToReturn = StrnCatGrow (&PathToReturn, &Size, MapListItem->MapName, 0);\r
+ PathToReturn = StrnCatGrow (&PathToReturn, &Size, MapListItem->CurrentDirectoryPath, 0);\r
}\r
}\r
- return (AddBufferToFreeList(PathToReturn));\r
+\r
+ return (AddBufferToFreeList (PathToReturn));\r
} else {\r
return (NULL);\r
}\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellSetCurDir(\r
- IN CONST CHAR16 *FileSystem OPTIONAL,\r
- IN CONST CHAR16 *Dir\r
+EfiShellSetCurDir (\r
+ IN CONST CHAR16 *FileSystem OPTIONAL,\r
+ IN CONST CHAR16 *Dir\r
)\r
{\r
CHAR16 *MapName;\r
TempString = NULL;\r
DirectoryName = NULL;\r
\r
- if ((FileSystem == NULL && Dir == NULL) || Dir == NULL) {\r
+ if (((FileSystem == NULL) && (Dir == NULL)) || (Dir == NULL)) {\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- if (IsListEmpty(&gShellMapList.Link)){\r
+ if (IsListEmpty (&gShellMapList.Link)) {\r
return (EFI_NOT_FOUND);\r
}\r
\r
- DirectoryName = StrnCatGrow(&DirectoryName, NULL, Dir, 0);\r
- ASSERT(DirectoryName != NULL);\r
+ DirectoryName = StrnCatGrow (&DirectoryName, NULL, Dir, 0);\r
+ ASSERT (DirectoryName != NULL);\r
\r
- PathCleanUpDirectories(DirectoryName);\r
+ PathCleanUpDirectories (DirectoryName);\r
\r
if (FileSystem == NULL) {\r
//\r
// determine the file system mapping to use\r
//\r
- if (StrStr(DirectoryName, L":") != NULL) {\r
- ASSERT(MapName == NULL);\r
- MapName = StrnCatGrow(&MapName, NULL, DirectoryName, (StrStr(DirectoryName, L":")-DirectoryName+1));\r
+ if (StrStr (DirectoryName, L":") != NULL) {\r
+ ASSERT (MapName == NULL);\r
+ MapName = StrnCatGrow (&MapName, NULL, DirectoryName, (StrStr (DirectoryName, L":")-DirectoryName+1));\r
}\r
+\r
//\r
// find the file system mapping's entry in the list\r
// or use current\r
//\r
if (MapName != NULL) {\r
- MapListItem = ShellCommandFindMapItem(MapName);\r
+ MapListItem = ShellCommandFindMapItem (MapName);\r
\r
//\r
// make that the current file system mapping\r
\r
if (MapListItem == NULL) {\r
FreePool (DirectoryName);\r
- SHELL_FREE_NON_NULL(MapName);\r
+ SHELL_FREE_NON_NULL (MapName);\r
return (EFI_NOT_FOUND);\r
}\r
\r
//\r
// now update the MapListItem's current directory\r
//\r
- if (MapListItem->CurrentDirectoryPath != NULL && DirectoryName[StrLen(DirectoryName) - 1] != L':') {\r
- FreePool(MapListItem->CurrentDirectoryPath);\r
+ if ((MapListItem->CurrentDirectoryPath != NULL) && (DirectoryName[StrLen (DirectoryName) - 1] != L':')) {\r
+ FreePool (MapListItem->CurrentDirectoryPath);\r
MapListItem->CurrentDirectoryPath = NULL;\r
}\r
+\r
if (MapName != NULL) {\r
- TempLen = StrLen(MapName);\r
- if (TempLen != StrLen(DirectoryName)) {\r
- ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
- MapListItem->CurrentDirectoryPath = StrnCatGrow(&MapListItem->CurrentDirectoryPath, &Size, DirectoryName+StrLen(MapName), 0);\r
+ TempLen = StrLen (MapName);\r
+ if (TempLen != StrLen (DirectoryName)) {\r
+ ASSERT ((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
+ MapListItem->CurrentDirectoryPath = StrnCatGrow (&MapListItem->CurrentDirectoryPath, &Size, DirectoryName+StrLen (MapName), 0);\r
}\r
+\r
FreePool (MapName);\r
} else {\r
- ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
- MapListItem->CurrentDirectoryPath = StrnCatGrow(&MapListItem->CurrentDirectoryPath, &Size, DirectoryName, 0);\r
+ ASSERT ((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
+ MapListItem->CurrentDirectoryPath = StrnCatGrow (&MapListItem->CurrentDirectoryPath, &Size, DirectoryName, 0);\r
}\r
- if ((MapListItem->CurrentDirectoryPath != NULL && MapListItem->CurrentDirectoryPath[StrLen(MapListItem->CurrentDirectoryPath)-1] == L'\\') || (MapListItem->CurrentDirectoryPath == NULL)) {\r
- ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
+\r
+ if (((MapListItem->CurrentDirectoryPath != NULL) && (MapListItem->CurrentDirectoryPath[StrLen (MapListItem->CurrentDirectoryPath)-1] == L'\\')) || (MapListItem->CurrentDirectoryPath == NULL)) {\r
+ ASSERT ((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
if (MapListItem->CurrentDirectoryPath != NULL) {\r
- MapListItem->CurrentDirectoryPath[StrLen(MapListItem->CurrentDirectoryPath)-1] = CHAR_NULL;\r
- }\r
+ MapListItem->CurrentDirectoryPath[StrLen (MapListItem->CurrentDirectoryPath)-1] = CHAR_NULL;\r
+ }\r
}\r
} else {\r
//\r
// cant have a mapping in the directory...\r
//\r
- if (StrStr(DirectoryName, L":") != NULL) {\r
+ if (StrStr (DirectoryName, L":") != NULL) {\r
FreePool (DirectoryName);\r
return (EFI_INVALID_PARAMETER);\r
}\r
+\r
//\r
// FileSystem != NULL\r
//\r
- MapListItem = ShellCommandFindMapItem(FileSystem);\r
+ MapListItem = ShellCommandFindMapItem (FileSystem);\r
if (MapListItem == NULL) {\r
FreePool (DirectoryName);\r
return (EFI_INVALID_PARAMETER);\r
}\r
-// gShellCurMapping = MapListItem;\r
+\r
+ // gShellCurMapping = MapListItem;\r
if (DirectoryName != NULL) {\r
//\r
// change current dir on that file system\r
//\r
\r
if (MapListItem->CurrentDirectoryPath != NULL) {\r
- FreePool(MapListItem->CurrentDirectoryPath);\r
- DEBUG_CODE(MapListItem->CurrentDirectoryPath = NULL;);\r
+ FreePool (MapListItem->CurrentDirectoryPath);\r
+ DEBUG_CODE (\r
+ MapListItem->CurrentDirectoryPath = NULL;\r
+ );\r
}\r
-// ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
-// MapListItem->CurrentDirectoryPath = StrnCatGrow(&MapListItem->CurrentDirectoryPath, &Size, FileSystem, 0);\r
- ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
- MapListItem->CurrentDirectoryPath = StrnCatGrow(&MapListItem->CurrentDirectoryPath, &Size, L"\\", 0);\r
- ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
- MapListItem->CurrentDirectoryPath = StrnCatGrow(&MapListItem->CurrentDirectoryPath, &Size, DirectoryName, 0);\r
- if (MapListItem->CurrentDirectoryPath != NULL && MapListItem->CurrentDirectoryPath[StrLen(MapListItem->CurrentDirectoryPath)-1] == L'\\') {\r
- ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
- MapListItem->CurrentDirectoryPath[StrLen(MapListItem->CurrentDirectoryPath)-1] = CHAR_NULL;\r
+\r
+ // ASSERT((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
+ // MapListItem->CurrentDirectoryPath = StrnCatGrow(&MapListItem->CurrentDirectoryPath, &Size, FileSystem, 0);\r
+ ASSERT ((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
+ MapListItem->CurrentDirectoryPath = StrnCatGrow (&MapListItem->CurrentDirectoryPath, &Size, L"\\", 0);\r
+ ASSERT ((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
+ MapListItem->CurrentDirectoryPath = StrnCatGrow (&MapListItem->CurrentDirectoryPath, &Size, DirectoryName, 0);\r
+ if ((MapListItem->CurrentDirectoryPath != NULL) && (MapListItem->CurrentDirectoryPath[StrLen (MapListItem->CurrentDirectoryPath)-1] == L'\\')) {\r
+ ASSERT ((MapListItem->CurrentDirectoryPath == NULL && Size == 0) || (MapListItem->CurrentDirectoryPath != NULL));\r
+ MapListItem->CurrentDirectoryPath[StrLen (MapListItem->CurrentDirectoryPath)-1] = CHAR_NULL;\r
}\r
}\r
}\r
+\r
FreePool (DirectoryName);\r
//\r
// if updated the current directory then update the environment variable\r
//\r
if (MapListItem == gShellCurMapping) {\r
Size = 0;\r
- ASSERT((TempString == NULL && Size == 0) || (TempString != NULL));\r
- StrnCatGrow(&TempString, &Size, MapListItem->MapName, 0);\r
- ASSERT((TempString == NULL && Size == 0) || (TempString != NULL));\r
- StrnCatGrow(&TempString, &Size, MapListItem->CurrentDirectoryPath, 0);\r
- Status = InternalEfiShellSetEnv(L"cwd", TempString, TRUE);\r
- FreePool(TempString);\r
+ ASSERT ((TempString == NULL && Size == 0) || (TempString != NULL));\r
+ StrnCatGrow (&TempString, &Size, MapListItem->MapName, 0);\r
+ ASSERT ((TempString == NULL && Size == 0) || (TempString != NULL));\r
+ StrnCatGrow (&TempString, &Size, MapListItem->CurrentDirectoryPath, 0);\r
+ Status = InternalEfiShellSetEnv (L"cwd", TempString, TRUE);\r
+ FreePool (TempString);\r
return (Status);\r
}\r
- return(EFI_SUCCESS);\r
+\r
+ return (EFI_SUCCESS);\r
}\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellGetHelpText(\r
- IN CONST CHAR16 *Command,\r
- IN CONST CHAR16 *Sections OPTIONAL,\r
- OUT CHAR16 **HelpText\r
+EfiShellGetHelpText (\r
+ IN CONST CHAR16 *Command,\r
+ IN CONST CHAR16 *Sections OPTIONAL,\r
+ OUT CHAR16 **HelpText\r
)\r
{\r
CONST CHAR16 *ManFileName;\r
CHAR16 *FixCommand;\r
EFI_STATUS Status;\r
\r
- ASSERT(HelpText != NULL);\r
+ ASSERT (HelpText != NULL);\r
FixCommand = NULL;\r
\r
- ManFileName = ShellCommandGetManFileNameHandler(Command);\r
+ ManFileName = ShellCommandGetManFileNameHandler (Command);\r
\r
if (ManFileName != NULL) {\r
- return (ProcessManFile(ManFileName, Command, Sections, NULL, HelpText));\r
+ return (ProcessManFile (ManFileName, Command, Sections, NULL, HelpText));\r
} else {\r
- if ((StrLen(Command)> 4)\r
- && (Command[StrLen(Command)-1] == L'i' || Command[StrLen(Command)-1] == L'I')\r
- && (Command[StrLen(Command)-2] == L'f' || Command[StrLen(Command)-2] == L'F')\r
- && (Command[StrLen(Command)-3] == L'e' || Command[StrLen(Command)-3] == L'E')\r
- && (Command[StrLen(Command)-4] == L'.')\r
- ) {\r
- FixCommand = AllocateZeroPool(StrSize(Command) - 4 * sizeof (CHAR16));\r
+ if ( (StrLen (Command) > 4)\r
+ && ((Command[StrLen (Command)-1] == L'i') || (Command[StrLen (Command)-1] == L'I'))\r
+ && ((Command[StrLen (Command)-2] == L'f') || (Command[StrLen (Command)-2] == L'F'))\r
+ && ((Command[StrLen (Command)-3] == L'e') || (Command[StrLen (Command)-3] == L'E'))\r
+ && (Command[StrLen (Command)-4] == L'.')\r
+ )\r
+ {\r
+ FixCommand = AllocateZeroPool (StrSize (Command) - 4 * sizeof (CHAR16));\r
if (FixCommand == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- StrnCpyS( FixCommand,\r
- (StrSize(Command) - 4 * sizeof (CHAR16))/sizeof(CHAR16),\r
- Command,\r
- StrLen(Command)-4\r
- );\r
- Status = ProcessManFile(FixCommand, FixCommand, Sections, NULL, HelpText);\r
- FreePool(FixCommand);\r
+ StrnCpyS (\r
+ FixCommand,\r
+ (StrSize (Command) - 4 * sizeof (CHAR16))/sizeof (CHAR16),\r
+ Command,\r
+ StrLen (Command)-4\r
+ );\r
+ Status = ProcessManFile (FixCommand, FixCommand, Sections, NULL, HelpText);\r
+ FreePool (FixCommand);\r
return Status;\r
} else {\r
- return (ProcessManFile(Command, Command, Sections, NULL, HelpText));\r
+ return (ProcessManFile (Command, Command, Sections, NULL, HelpText));\r
}\r
}\r
}\r
**/\r
BOOLEAN\r
EFIAPI\r
-EfiShellGetPageBreak(\r
+EfiShellGetPageBreak (\r
VOID\r
)\r
{\r
- return(ShellInfoObject.PageBreakEnabled);\r
+ return (ShellInfoObject.PageBreakEnabled);\r
}\r
\r
/**\r
**/\r
BOOLEAN\r
EFIAPI\r
-EfiShellIsRootShell(\r
+EfiShellIsRootShell (\r
VOID\r
)\r
{\r
- return(ShellInfoObject.RootShellInstance);\r
+ return (ShellInfoObject.RootShellInstance);\r
}\r
\r
/**\r
@return !NULL a list of all alias'\r
**/\r
CHAR16 *\r
-InternalEfiShellGetListAlias(\r
+InternalEfiShellGetListAlias (\r
VOID\r
)\r
{\r
-\r
- EFI_STATUS Status;\r
- EFI_GUID Guid;\r
- CHAR16 *VariableName;\r
- UINTN NameSize;\r
- UINTN NameBufferSize;\r
- CHAR16 *RetVal;\r
- UINTN RetSize;\r
+ EFI_STATUS Status;\r
+ EFI_GUID Guid;\r
+ CHAR16 *VariableName;\r
+ UINTN NameSize;\r
+ UINTN NameBufferSize;\r
+ CHAR16 *RetVal;\r
+ UINTN RetSize;\r
\r
NameBufferSize = INIT_NAME_BUFFER_SIZE;\r
- VariableName = AllocateZeroPool(NameBufferSize);\r
- RetSize = 0;\r
- RetVal = NULL;\r
+ VariableName = AllocateZeroPool (NameBufferSize);\r
+ RetSize = 0;\r
+ RetVal = NULL;\r
\r
if (VariableName == NULL) {\r
return (NULL);\r
\r
while (TRUE) {\r
NameSize = NameBufferSize;\r
- Status = gRT->GetNextVariableName(&NameSize, VariableName, &Guid);\r
- if (Status == EFI_NOT_FOUND){\r
+ Status = gRT->GetNextVariableName (&NameSize, VariableName, &Guid);\r
+ if (Status == EFI_NOT_FOUND) {\r
break;\r
} else if (Status == EFI_BUFFER_TOO_SMALL) {\r
NameBufferSize = NameSize > NameBufferSize * 2 ? NameSize : NameBufferSize * 2;\r
- SHELL_FREE_NON_NULL(VariableName);\r
- VariableName = AllocateZeroPool(NameBufferSize);\r
+ SHELL_FREE_NON_NULL (VariableName);\r
+ VariableName = AllocateZeroPool (NameBufferSize);\r
if (VariableName == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
- SHELL_FREE_NON_NULL(RetVal);\r
+ SHELL_FREE_NON_NULL (RetVal);\r
RetVal = NULL;\r
break;\r
}\r
\r
NameSize = NameBufferSize;\r
- Status = gRT->GetNextVariableName(&NameSize, VariableName, &Guid);\r
+ Status = gRT->GetNextVariableName (&NameSize, VariableName, &Guid);\r
}\r
\r
if (EFI_ERROR (Status)) {\r
- SHELL_FREE_NON_NULL(RetVal);\r
+ SHELL_FREE_NON_NULL (RetVal);\r
RetVal = NULL;\r
break;\r
}\r
\r
- if (CompareGuid(&Guid, &gShellAliasGuid)){\r
- ASSERT((RetVal == NULL && RetSize == 0) || (RetVal != NULL));\r
- RetVal = StrnCatGrow(&RetVal, &RetSize, VariableName, 0);\r
- RetVal = StrnCatGrow(&RetVal, &RetSize, L";", 0);\r
+ if (CompareGuid (&Guid, &gShellAliasGuid)) {\r
+ ASSERT ((RetVal == NULL && RetSize == 0) || (RetVal != NULL));\r
+ RetVal = StrnCatGrow (&RetVal, &RetSize, VariableName, 0);\r
+ RetVal = StrnCatGrow (&RetVal, &RetSize, L";", 0);\r
} // compare guid\r
} // while\r
- SHELL_FREE_NON_NULL(VariableName);\r
+\r
+ SHELL_FREE_NON_NULL (VariableName);\r
\r
return (RetVal);\r
}\r
**/\r
CHAR16 *\r
ToLower (\r
- CHAR16 *Str\r
+ CHAR16 *Str\r
)\r
{\r
- UINTN Index;\r
+ UINTN Index;\r
\r
for (Index = 0; Str[Index] != L'\0'; Index++) {\r
- if (Str[Index] >= L'A' && Str[Index] <= L'Z') {\r
+ if ((Str[Index] >= L'A') && (Str[Index] <= L'Z')) {\r
Str[Index] -= (CHAR16)(L'A' - L'a');\r
}\r
}\r
+\r
return Str;\r
}\r
\r
**/\r
CONST CHAR16 *\r
EFIAPI\r
-EfiShellGetAlias(\r
- IN CONST CHAR16 *Alias,\r
- OUT BOOLEAN *Volatile OPTIONAL\r
+EfiShellGetAlias (\r
+ IN CONST CHAR16 *Alias,\r
+ OUT BOOLEAN *Volatile OPTIONAL\r
)\r
{\r
CHAR16 *RetVal;\r
if (AliasLower == NULL) {\r
return NULL;\r
}\r
+\r
ToLower (AliasLower);\r
\r
if (Volatile == NULL) {\r
GetVariable2 (AliasLower, &gShellAliasGuid, (VOID **)&AliasVal, NULL);\r
- FreePool(AliasLower);\r
- return (AddBufferToFreeList(AliasVal));\r
+ FreePool (AliasLower);\r
+ return (AddBufferToFreeList (AliasVal));\r
}\r
+\r
RetSize = 0;\r
- RetVal = NULL;\r
- Status = gRT->GetVariable(AliasLower, &gShellAliasGuid, &Attribs, &RetSize, RetVal);\r
+ RetVal = NULL;\r
+ Status = gRT->GetVariable (AliasLower, &gShellAliasGuid, &Attribs, &RetSize, RetVal);\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- RetVal = AllocateZeroPool(RetSize);\r
- Status = gRT->GetVariable(AliasLower, &gShellAliasGuid, &Attribs, &RetSize, RetVal);\r
+ RetVal = AllocateZeroPool (RetSize);\r
+ Status = gRT->GetVariable (AliasLower, &gShellAliasGuid, &Attribs, &RetSize, RetVal);\r
}\r
- if (EFI_ERROR(Status)) {\r
+\r
+ if (EFI_ERROR (Status)) {\r
if (RetVal != NULL) {\r
- FreePool(RetVal);\r
+ FreePool (RetVal);\r
}\r
- FreePool(AliasLower);\r
+\r
+ FreePool (AliasLower);\r
return (NULL);\r
}\r
+\r
if ((EFI_VARIABLE_NON_VOLATILE & Attribs) == EFI_VARIABLE_NON_VOLATILE) {\r
*Volatile = FALSE;\r
} else {\r
}\r
\r
FreePool (AliasLower);\r
- return (AddBufferToFreeList(RetVal));\r
+ return (AddBufferToFreeList (RetVal));\r
}\r
- return (AddBufferToFreeList(InternalEfiShellGetListAlias()));\r
+\r
+ return (AddBufferToFreeList (InternalEfiShellGetListAlias ()));\r
}\r
\r
/**\r
@retval EFI_NOT_FOUND the Alias intended to be deleted was not found\r
**/\r
EFI_STATUS\r
-InternalSetAlias(\r
- IN CONST CHAR16 *Command,\r
- IN CONST CHAR16 *Alias,\r
- IN BOOLEAN Volatile\r
+InternalSetAlias (\r
+ IN CONST CHAR16 *Command,\r
+ IN CONST CHAR16 *Alias,\r
+ IN BOOLEAN Volatile\r
)\r
{\r
EFI_STATUS Status;\r
Alias = Command;\r
DeleteAlias = TRUE;\r
}\r
+\r
ASSERT (Alias != NULL);\r
\r
//\r
if (AliasLower == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
ToLower (AliasLower);\r
\r
if (DeleteAlias) {\r
Status = gRT->SetVariable (AliasLower, &gShellAliasGuid, 0, 0, NULL);\r
} else {\r
Status = gRT->SetVariable (\r
- AliasLower, &gShellAliasGuid,\r
+ AliasLower,\r
+ &gShellAliasGuid,\r
EFI_VARIABLE_BOOTSERVICE_ACCESS | (Volatile ? 0 : EFI_VARIABLE_NON_VOLATILE),\r
- StrSize (Command), (VOID *) Command\r
+ StrSize (Command),\r
+ (VOID *)Command\r
);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EfiShellSetAlias(\r
- IN CONST CHAR16 *Command,\r
- IN CONST CHAR16 *Alias,\r
- IN BOOLEAN Replace,\r
- IN BOOLEAN Volatile\r
+EfiShellSetAlias (\r
+ IN CONST CHAR16 *Command,\r
+ IN CONST CHAR16 *Alias,\r
+ IN BOOLEAN Replace,\r
+ IN BOOLEAN Volatile\r
)\r
{\r
- if (ShellCommandIsOnAliasList(Alias==NULL?Command:Alias)) {\r
+ if (ShellCommandIsOnAliasList ((Alias == NULL) ? Command : Alias)) {\r
//\r
// cant set over a built in alias\r
//\r
return (EFI_ACCESS_DENIED);\r
- } else if (Command == NULL || *Command == CHAR_NULL || StrLen(Command) == 0) {\r
+ } else if ((Command == NULL) || (*Command == CHAR_NULL) || (StrLen (Command) == 0)) {\r
//\r
// Command is null or empty\r
//\r
return (EFI_INVALID_PARAMETER);\r
- } else if (EfiShellGetAlias(Command, NULL) != NULL && !Replace) {\r
+ } else if ((EfiShellGetAlias (Command, NULL) != NULL) && !Replace) {\r
//\r
// Alias already exists, Replace not set\r
//\r
return (EFI_ACCESS_DENIED);\r
} else {\r
- return (InternalSetAlias(Command, Alias, Volatile));\r
+ return (InternalSetAlias (Command, Alias, Volatile));\r
}\r
}\r
\r
// Pure FILE_HANDLE operations are passed to FileHandleLib\r
// these functions are indicated by the *\r
-EFI_SHELL_PROTOCOL mShellProtocol = {\r
+EFI_SHELL_PROTOCOL mShellProtocol = {\r
EfiShellExecute,\r
EfiShellGetEnv,\r
EfiShellSetEnv,\r
EfiShellDisablePageBreak,\r
EfiShellGetPageBreak,\r
EfiShellGetDeviceName,\r
- (EFI_SHELL_GET_FILE_INFO)FileHandleGetInfo, //*\r
- (EFI_SHELL_SET_FILE_INFO)FileHandleSetInfo, //*\r
+ (EFI_SHELL_GET_FILE_INFO)FileHandleGetInfo, // *\r
+ (EFI_SHELL_SET_FILE_INFO)FileHandleSetInfo, // *\r
EfiShellOpenFileByName,\r
EfiShellClose,\r
EfiShellCreateFile,\r
- (EFI_SHELL_READ_FILE)FileHandleRead, //*\r
- (EFI_SHELL_WRITE_FILE)FileHandleWrite, //*\r
- (EFI_SHELL_DELETE_FILE)FileHandleDelete, //*\r
+ (EFI_SHELL_READ_FILE)FileHandleRead, // *\r
+ (EFI_SHELL_WRITE_FILE)FileHandleWrite, // *\r
+ (EFI_SHELL_DELETE_FILE)FileHandleDelete, // *\r
EfiShellDeleteFileByName,\r
- (EFI_SHELL_GET_FILE_POSITION)FileHandleGetPosition, //*\r
- (EFI_SHELL_SET_FILE_POSITION)FileHandleSetPosition, //*\r
- (EFI_SHELL_FLUSH_FILE)FileHandleFlush, //*\r
+ (EFI_SHELL_GET_FILE_POSITION)FileHandleGetPosition, // *\r
+ (EFI_SHELL_SET_FILE_POSITION)FileHandleSetPosition, // *\r
+ (EFI_SHELL_FLUSH_FILE)FileHandleFlush, // *\r
EfiShellFindFiles,\r
EfiShellFindFilesInDir,\r
- (EFI_SHELL_GET_FILE_SIZE)FileHandleGetSize, //*\r
+ (EFI_SHELL_GET_FILE_SIZE)FileHandleGetSize, // *\r
EfiShellOpenRoot,\r
EfiShellOpenRootByHandle,\r
NULL,\r
return (EFI_INVALID_PARAMETER);\r
}\r
\r
- BufferSize = 0;\r
- Buffer = NULL;\r
+ BufferSize = 0;\r
+ Buffer = NULL;\r
OldProtocolNode = NULL;\r
- InitializeListHead(&ShellInfoObject.OldShellList.Link);\r
+ InitializeListHead (&ShellInfoObject.OldShellList.Link);\r
\r
//\r
// Initialize EfiShellProtocol object...\r
//\r
- Status = gBS->CreateEvent(0,\r
- 0,\r
- NULL,\r
- NULL,\r
- &mShellProtocol.ExecutionBreak);\r
- if (EFI_ERROR(Status)) {\r
+ Status = gBS->CreateEvent (\r
+ 0,\r
+ 0,\r
+ NULL,\r
+ NULL,\r
+ &mShellProtocol.ExecutionBreak\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
return (Status);\r
}\r
\r
//\r
// Get the size of the buffer we need.\r
//\r
- Status = gBS->LocateHandle(ByProtocol,\r
- &gEfiShellProtocolGuid,\r
- NULL,\r
- &BufferSize,\r
- Buffer);\r
+ Status = gBS->LocateHandle (\r
+ ByProtocol,\r
+ &gEfiShellProtocolGuid,\r
+ NULL,\r
+ &BufferSize,\r
+ Buffer\r
+ );\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
//\r
// Allocate and recall with buffer of correct size\r
//\r
- Buffer = AllocateZeroPool(BufferSize);\r
+ Buffer = AllocateZeroPool (BufferSize);\r
if (Buffer == NULL) {\r
return (EFI_OUT_OF_RESOURCES);\r
}\r
- Status = gBS->LocateHandle(ByProtocol,\r
- &gEfiShellProtocolGuid,\r
- NULL,\r
- &BufferSize,\r
- Buffer);\r
- if (EFI_ERROR(Status)) {\r
- FreePool(Buffer);\r
+\r
+ Status = gBS->LocateHandle (\r
+ ByProtocol,\r
+ &gEfiShellProtocolGuid,\r
+ NULL,\r
+ &BufferSize,\r
+ Buffer\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ FreePool (Buffer);\r
return (Status);\r
}\r
+\r
//\r
// now overwrite each of them, but save the info to restore when we end.\r
//\r
- for (HandleCounter = 0 ; HandleCounter < (BufferSize/sizeof(EFI_HANDLE)) ; HandleCounter++) {\r
- Status = gBS->OpenProtocol(Buffer[HandleCounter],\r
- &gEfiShellProtocolGuid,\r
- (VOID **) &OldShell,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
- if (!EFI_ERROR(Status)) {\r
- OldProtocolNode = AllocateZeroPool(sizeof(SHELL_PROTOCOL_HANDLE_LIST));\r
+ for (HandleCounter = 0; HandleCounter < (BufferSize/sizeof (EFI_HANDLE)); HandleCounter++) {\r
+ Status = gBS->OpenProtocol (\r
+ Buffer[HandleCounter],\r
+ &gEfiShellProtocolGuid,\r
+ (VOID **)&OldShell,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (!EFI_ERROR (Status)) {\r
+ OldProtocolNode = AllocateZeroPool (sizeof (SHELL_PROTOCOL_HANDLE_LIST));\r
if (OldProtocolNode == NULL) {\r
if (!IsListEmpty (&ShellInfoObject.OldShellList.Link)) {\r
CleanUpShellProtocol (&mShellProtocol);\r
}\r
+\r
Status = EFI_OUT_OF_RESOURCES;\r
break;\r
}\r
+\r
//\r
// reinstall over the old one...\r
//\r
OldProtocolNode->Handle = Buffer[HandleCounter];\r
OldProtocolNode->Interface = OldShell;\r
- Status = gBS->ReinstallProtocolInterface(\r
- OldProtocolNode->Handle,\r
- &gEfiShellProtocolGuid,\r
- OldProtocolNode->Interface,\r
- (VOID*)(&mShellProtocol));\r
- if (!EFI_ERROR(Status)) {\r
+ Status = gBS->ReinstallProtocolInterface (\r
+ OldProtocolNode->Handle,\r
+ &gEfiShellProtocolGuid,\r
+ OldProtocolNode->Interface,\r
+ (VOID *)(&mShellProtocol)\r
+ );\r
+ if (!EFI_ERROR (Status)) {\r
//\r
// we reinstalled successfully. log this so we can reverse it later.\r
//\r
//\r
// add to the list for subsequent...\r
//\r
- InsertTailList(&ShellInfoObject.OldShellList.Link, &OldProtocolNode->Link);\r
+ InsertTailList (&ShellInfoObject.OldShellList.Link, &OldProtocolNode->Link);\r
}\r
}\r
}\r
- FreePool(Buffer);\r
+\r
+ FreePool (Buffer);\r
} else if (Status == EFI_NOT_FOUND) {\r
- ASSERT(IsListEmpty(&ShellInfoObject.OldShellList.Link));\r
+ ASSERT (IsListEmpty (&ShellInfoObject.OldShellList.Link));\r
//\r
// no one else published yet. just publish it ourselves.\r
//\r
Status = gBS->InstallProtocolInterface (\r
- &gImageHandle,\r
- &gEfiShellProtocolGuid,\r
- EFI_NATIVE_INTERFACE,\r
- (VOID*)(&mShellProtocol));\r
+ &gImageHandle,\r
+ &gEfiShellProtocolGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ (VOID *)(&mShellProtocol)\r
+ );\r
}\r
\r
- if (PcdGetBool(PcdShellSupportOldProtocols)){\r
- ///@todo support ShellEnvironment2\r
- ///@todo do we need to support ShellEnvironment (not ShellEnvironment2) also?\r
+ if (PcdGetBool (PcdShellSupportOldProtocols)) {\r
+ /// @todo support ShellEnvironment2\r
+ /// @todo do we need to support ShellEnvironment (not ShellEnvironment2) also?\r
}\r
\r
- if (!EFI_ERROR(Status)) {\r
+ if (!EFI_ERROR (Status)) {\r
*NewShell = &mShellProtocol;\r
}\r
+\r
return (Status);\r
}\r
\r
IN OUT EFI_SHELL_PROTOCOL *NewShell\r
)\r
{\r
- SHELL_PROTOCOL_HANDLE_LIST *Node2;\r
+ SHELL_PROTOCOL_HANDLE_LIST *Node2;\r
\r
//\r
// if we need to restore old protocols...\r
//\r
- if (!IsListEmpty(&ShellInfoObject.OldShellList.Link)) {\r
- for (Node2 = (SHELL_PROTOCOL_HANDLE_LIST *) GetFirstNode (&ShellInfoObject.OldShellList.Link)\r
+ if (!IsListEmpty (&ShellInfoObject.OldShellList.Link)) {\r
+ for (Node2 = (SHELL_PROTOCOL_HANDLE_LIST *)GetFirstNode (&ShellInfoObject.OldShellList.Link)\r
; !IsListEmpty (&ShellInfoObject.OldShellList.Link)\r
- ; Node2 = (SHELL_PROTOCOL_HANDLE_LIST *) GetFirstNode (&ShellInfoObject.OldShellList.Link)\r
- ) {\r
+ ; Node2 = (SHELL_PROTOCOL_HANDLE_LIST *)GetFirstNode (&ShellInfoObject.OldShellList.Link)\r
+ )\r
+ {\r
RemoveEntryList (&Node2->Link);\r
gBS->ReinstallProtocolInterface (Node2->Handle, &gEfiShellProtocolGuid, NewShell, Node2->Interface);\r
FreePool (Node2);\r
//\r
gBS->UninstallProtocolInterface (gImageHandle, &gEfiShellProtocolGuid, NewShell);\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
IN OUT EFI_SHELL_PROTOCOL *NewShell\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *SimpleEx;\r
+ EFI_STATUS Status;\r
+ EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *SimpleEx;\r
\r
CleanUpShellProtocol (NewShell);\r
\r
- Status = gBS->CloseEvent(NewShell->ExecutionBreak);\r
+ Status = gBS->CloseEvent (NewShell->ExecutionBreak);\r
NewShell->ExecutionBreak = NULL;\r
\r
- Status = gBS->OpenProtocol(\r
- gST->ConsoleInHandle,\r
- &gEfiSimpleTextInputExProtocolGuid,\r
- (VOID**)&SimpleEx,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ Status = gBS->OpenProtocol (\r
+ gST->ConsoleInHandle,\r
+ &gEfiSimpleTextInputExProtocolGuid,\r
+ (VOID **)&SimpleEx,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
\r
if (!EFI_ERROR (Status)) {\r
- Status = SimpleEx->UnregisterKeyNotify(SimpleEx, ShellInfoObject.CtrlCNotifyHandle1);\r
- Status = SimpleEx->UnregisterKeyNotify(SimpleEx, ShellInfoObject.CtrlCNotifyHandle2);\r
- Status = SimpleEx->UnregisterKeyNotify(SimpleEx, ShellInfoObject.CtrlCNotifyHandle3);\r
- Status = SimpleEx->UnregisterKeyNotify(SimpleEx, ShellInfoObject.CtrlCNotifyHandle4);\r
- Status = SimpleEx->UnregisterKeyNotify(SimpleEx, ShellInfoObject.CtrlSNotifyHandle1);\r
- Status = SimpleEx->UnregisterKeyNotify(SimpleEx, ShellInfoObject.CtrlSNotifyHandle2);\r
- Status = SimpleEx->UnregisterKeyNotify(SimpleEx, ShellInfoObject.CtrlSNotifyHandle3);\r
- Status = SimpleEx->UnregisterKeyNotify(SimpleEx, ShellInfoObject.CtrlSNotifyHandle4);\r
+ Status = SimpleEx->UnregisterKeyNotify (SimpleEx, ShellInfoObject.CtrlCNotifyHandle1);\r
+ Status = SimpleEx->UnregisterKeyNotify (SimpleEx, ShellInfoObject.CtrlCNotifyHandle2);\r
+ Status = SimpleEx->UnregisterKeyNotify (SimpleEx, ShellInfoObject.CtrlCNotifyHandle3);\r
+ Status = SimpleEx->UnregisterKeyNotify (SimpleEx, ShellInfoObject.CtrlCNotifyHandle4);\r
+ Status = SimpleEx->UnregisterKeyNotify (SimpleEx, ShellInfoObject.CtrlSNotifyHandle1);\r
+ Status = SimpleEx->UnregisterKeyNotify (SimpleEx, ShellInfoObject.CtrlSNotifyHandle2);\r
+ Status = SimpleEx->UnregisterKeyNotify (SimpleEx, ShellInfoObject.CtrlSNotifyHandle3);\r
+ Status = SimpleEx->UnregisterKeyNotify (SimpleEx, ShellInfoObject.CtrlSNotifyHandle4);\r
}\r
+\r
return (Status);\r
}\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-NotificationFunction(\r
- IN EFI_KEY_DATA *KeyData\r
+NotificationFunction (\r
+ IN EFI_KEY_DATA *KeyData\r
)\r
{\r
- if ( ((KeyData->Key.UnicodeChar == L'c') &&\r
- (KeyData->KeyState.KeyShiftState == (EFI_SHIFT_STATE_VALID|EFI_LEFT_CONTROL_PRESSED) || KeyData->KeyState.KeyShiftState == (EFI_SHIFT_STATE_VALID|EFI_RIGHT_CONTROL_PRESSED))) ||\r
+ if (((KeyData->Key.UnicodeChar == L'c') &&\r
+ ((KeyData->KeyState.KeyShiftState == (EFI_SHIFT_STATE_VALID|EFI_LEFT_CONTROL_PRESSED)) || (KeyData->KeyState.KeyShiftState == (EFI_SHIFT_STATE_VALID|EFI_RIGHT_CONTROL_PRESSED)))) ||\r
(KeyData->Key.UnicodeChar == 3)\r
- ){\r
+ )\r
+ {\r
if (ShellInfoObject.NewEfiShellProtocol->ExecutionBreak == NULL) {\r
return (EFI_UNSUPPORTED);\r
}\r
- return (gBS->SignalEvent(ShellInfoObject.NewEfiShellProtocol->ExecutionBreak));\r
- } else if ((KeyData->Key.UnicodeChar == L's') &&\r
- (KeyData->KeyState.KeyShiftState == (EFI_SHIFT_STATE_VALID|EFI_LEFT_CONTROL_PRESSED) || KeyData->KeyState.KeyShiftState == (EFI_SHIFT_STATE_VALID|EFI_RIGHT_CONTROL_PRESSED))\r
- ){\r
+\r
+ return (gBS->SignalEvent (ShellInfoObject.NewEfiShellProtocol->ExecutionBreak));\r
+ } else if ((KeyData->Key.UnicodeChar == L's') &&\r
+ ((KeyData->KeyState.KeyShiftState == (EFI_SHIFT_STATE_VALID|EFI_LEFT_CONTROL_PRESSED)) || (KeyData->KeyState.KeyShiftState == (EFI_SHIFT_STATE_VALID|EFI_RIGHT_CONTROL_PRESSED)))\r
+ )\r
+ {\r
ShellInfoObject.HaltOutput = TRUE;\r
}\r
+\r
return (EFI_SUCCESS);\r
}\r
\r
@retval EFI_OUT_OF_RESOURCES There is not enough memory available.\r
**/\r
EFI_STATUS\r
-InernalEfiShellStartMonitor(\r
+InernalEfiShellStartMonitor (\r
VOID\r
)\r
{\r
- EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *SimpleEx;\r
- EFI_KEY_DATA KeyData;\r
- EFI_STATUS Status;\r
-\r
- Status = gBS->OpenProtocol(\r
- gST->ConsoleInHandle,\r
- &gEfiSimpleTextInputExProtocolGuid,\r
- (VOID**)&SimpleEx,\r
- gImageHandle,\r
- NULL,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
- if (EFI_ERROR(Status)) {\r
- ShellPrintHiiEx(\r
+ EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *SimpleEx;\r
+ EFI_KEY_DATA KeyData;\r
+ EFI_STATUS Status;\r
+\r
+ Status = gBS->OpenProtocol (\r
+ gST->ConsoleInHandle,\r
+ &gEfiSimpleTextInputExProtocolGuid,\r
+ (VOID **)&SimpleEx,\r
+ gImageHandle,\r
+ NULL,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (\r
-1,\r
-1,\r
NULL,\r
STRING_TOKEN (STR_SHELL_NO_IN_EX),\r
- ShellInfoObject.HiiHandle);\r
+ ShellInfoObject.HiiHandle\r
+ );\r
return (EFI_SUCCESS);\r
}\r
\r
KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID|EFI_LEFT_CONTROL_PRESSED;\r
KeyData.Key.UnicodeChar = L'c';\r
\r
- Status = SimpleEx->RegisterKeyNotify(\r
- SimpleEx,\r
- &KeyData,\r
- NotificationFunction,\r
- &ShellInfoObject.CtrlCNotifyHandle1);\r
+ Status = SimpleEx->RegisterKeyNotify (\r
+ SimpleEx,\r
+ &KeyData,\r
+ NotificationFunction,\r
+ &ShellInfoObject.CtrlCNotifyHandle1\r
+ );\r
\r
- KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID|EFI_RIGHT_CONTROL_PRESSED;\r
- if (!EFI_ERROR(Status)) {\r
- Status = SimpleEx->RegisterKeyNotify(\r
- SimpleEx,\r
- &KeyData,\r
- NotificationFunction,\r
- &ShellInfoObject.CtrlCNotifyHandle2);\r
+ KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID|EFI_RIGHT_CONTROL_PRESSED;\r
+ if (!EFI_ERROR (Status)) {\r
+ Status = SimpleEx->RegisterKeyNotify (\r
+ SimpleEx,\r
+ &KeyData,\r
+ NotificationFunction,\r
+ &ShellInfoObject.CtrlCNotifyHandle2\r
+ );\r
}\r
- KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID|EFI_LEFT_CONTROL_PRESSED;\r
- KeyData.Key.UnicodeChar = 3;\r
- if (!EFI_ERROR(Status)) {\r
- Status = SimpleEx->RegisterKeyNotify(\r
- SimpleEx,\r
- &KeyData,\r
- NotificationFunction,\r
- &ShellInfoObject.CtrlCNotifyHandle3);\r
- }\r
- KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID|EFI_RIGHT_CONTROL_PRESSED;\r
- if (!EFI_ERROR(Status)) {\r
- Status = SimpleEx->RegisterKeyNotify(\r
- SimpleEx,\r
- &KeyData,\r
- NotificationFunction,\r
- &ShellInfoObject.CtrlCNotifyHandle4);\r
+\r
+ KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID|EFI_LEFT_CONTROL_PRESSED;\r
+ KeyData.Key.UnicodeChar = 3;\r
+ if (!EFI_ERROR (Status)) {\r
+ Status = SimpleEx->RegisterKeyNotify (\r
+ SimpleEx,\r
+ &KeyData,\r
+ NotificationFunction,\r
+ &ShellInfoObject.CtrlCNotifyHandle3\r
+ );\r
+ }\r
+\r
+ KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID|EFI_RIGHT_CONTROL_PRESSED;\r
+ if (!EFI_ERROR (Status)) {\r
+ Status = SimpleEx->RegisterKeyNotify (\r
+ SimpleEx,\r
+ &KeyData,\r
+ NotificationFunction,\r
+ &ShellInfoObject.CtrlCNotifyHandle4\r
+ );\r
}\r
+\r
return (Status);\r
}\r
-\r