]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellDriver1CommandsLib/OpenInfo.c
removing incorrect files.
[mirror_edk2.git] / ShellPkg / Library / UefiShellDriver1CommandsLib / OpenInfo.c
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/OpenInfo.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/OpenInfo.c
deleted file mode 100644 (file)
index 80683b5..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/** @file\r
-  Main file for OpenInfo shell Driver1 function.\r
-\r
-  Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "UefiShellDriver1CommandsLib.h"\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-TraverseHandleDatabase (\r
-  IN CONST EFI_HANDLE DriverBindingHandle OPTIONAL,\r
-  IN CONST EFI_HANDLE ControllerHandle OPTIONAL,\r
-  IN UINTN            *HandleCount,\r
-  OUT EFI_HANDLE      **HandleBuffer,\r
-  OUT UINTN           **HandleType\r
-  ){\r
-  EFI_STATUS                          Status;\r
-  UINTN                               HandleIndex;\r
-  EFI_GUID                            **ProtocolGuidArray;\r
-  UINTN                               ArrayCount;\r
-  UINTN                               ProtocolIndex;\r
-  EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfo;\r
-  UINTN                               OpenInfoCount;\r
-  UINTN                               OpenInfoIndex;\r
-  UINTN                               ChildIndex;\r
-\r
-  ASSERT(HandleCount  != NULL);\r
-  ASSERT(HandleBuffer != NULL);\r
-  ASSERT(HandleType   != NULL);\r
-  ASSERT(DriverBindingHandle != NULL || ControllerHandle != NULL);\r
-\r
-  *HandleCount                  = 0;\r
-  *HandleBuffer                 = NULL;\r
-  *HandleType                   = NULL;\r
-\r
-  //\r
-  // Retrieve the list of all handles from the handle database\r
-  //\r
-  Status = gBS->LocateHandleBuffer (\r
-                AllHandles,\r
-                NULL,\r
-                NULL,\r
-                HandleCount,\r
-                HandleBuffer\r
-                );\r
-  if (EFI_ERROR (Status)) {\r
-    return (Status);\r
-  }\r
-\r
-  *HandleType = AllocateZeroPool (*HandleCount * sizeof (UINTN));\r
-  ASSERT(*HandleType != NULL);\r
-\r
-  for (HandleIndex = 0; HandleIndex < *HandleCount; HandleIndex++) {\r
-    //\r
-    // Retrieve the list of all the protocols on each handle\r
-    //\r
-    Status = gBS->ProtocolsPerHandle (\r
-                  (*HandleBuffer)[HandleIndex],\r
-                  &ProtocolGuidArray,\r
-                  &ArrayCount\r
-                  );\r
-    if (!EFI_ERROR (Status)) {\r
-\r
-      for (ProtocolIndex = 0; ProtocolIndex < ArrayCount; ProtocolIndex++) {\r
-\r
-        //\r
-        // Set the bit describing what this handle has\r
-        //\r
-        if        (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiLoadedImageProtocolGuid)           != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_IMAGE_HANDLE;\r
-        } else if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverBindingProtocolGuid)         != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_DRIVER_BINDING_HANDLE;\r
-        } else if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverConfiguration2ProtocolGuid)  != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_DRIVER_CONFIGURATION_HANDLE;\r
-        } else if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverConfigurationProtocolGuid)   != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_DRIVER_CONFIGURATION_HANDLE;\r
-        } else if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverDiagnostics2ProtocolGuid)    != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_DRIVER_DIAGNOSTICS_HANDLE;\r
-        } else if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDriverDiagnosticsProtocolGuid)     != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_DRIVER_DIAGNOSTICS_HANDLE;\r
-        } else if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiComponentName2ProtocolGuid)        != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_COMPONENT_NAME_HANDLE;\r
-        } else if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiComponentNameProtocolGuid)         != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_COMPONENT_NAME_HANDLE;\r
-        } else if (CompareGuid (ProtocolGuidArray[ProtocolIndex], &gEfiDevicePathProtocolGuid)            != FALSE) {\r
-          (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_DEVICE_HANDLE;\r
-        } else {\r
-          DEBUG_CODE_BEGIN();\r
-          ASSERT((*HandleType)[HandleIndex] == (*HandleType)[HandleIndex]);\r
-          DEBUG_CODE_END();\r
-        }\r
-        //\r
-        // Retrieve the list of agents that have opened each protocol\r
-        //\r
-        Status = gBS->OpenProtocolInformation (\r
-                      (*HandleBuffer)[HandleIndex],\r
-                      ProtocolGuidArray[ProtocolIndex],\r
-                      &OpenInfo,\r
-                      &OpenInfoCount\r
-                      );\r
-        if (!EFI_ERROR (Status)) {\r
-          for (OpenInfoIndex = 0; OpenInfoIndex < OpenInfoCount; OpenInfoIndex++) {\r
-            if (DriverBindingHandle != NULL && OpenInfo[OpenInfoIndex].AgentHandle == DriverBindingHandle) {\r
-              if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_DRIVER) == EFI_OPEN_PROTOCOL_BY_DRIVER) {\r
-                //\r
-                // Mark the device handle as being managed by the driver specified by DriverBindingHandle\r
-                //\r
-                (*HandleType)[HandleIndex] |= (HANDLE_RELATIONSHIP_DEVICE_HANDLE | HANDLE_RELATIONSHIP_CONTROLLER_HANDLE);\r
-              }\r
-              if (ControllerHandle != NULL && (*HandleBuffer)[HandleIndex] == ControllerHandle) {\r
-                if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) == EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) {\r
-                  for (ChildIndex = 0; ChildIndex < *HandleCount; ChildIndex++) {\r
-                    if ((*HandleBuffer)[ChildIndex] == OpenInfo[OpenInfoIndex].ControllerHandle) {\r
-                      (*HandleType)[ChildIndex] |= (HANDLE_RELATIONSHIP_DEVICE_HANDLE | HANDLE_RELATIONSHIP_CHILD_HANDLE);\r
-                    }\r
-                  }\r
-                }\r
-              }\r
-            } else if (DriverBindingHandle == NULL && OpenInfo[OpenInfoIndex].ControllerHandle == ControllerHandle) {\r
-              if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_DRIVER) == EFI_OPEN_PROTOCOL_BY_DRIVER) {\r
-                for (ChildIndex = 0; ChildIndex < *HandleCount; ChildIndex++) {\r
-                  if ((*HandleBuffer)[ChildIndex] == OpenInfo[OpenInfoIndex].AgentHandle) {\r
-                    //\r
-                    // mark the handle who opened this as a device driver\r
-                    //\r
-                    (*HandleType)[ChildIndex] |= HANDLE_RELATIONSHIP_DEVICE_DRIVER;\r
-                  }\r
-                }\r
-              }\r
-              if ((OpenInfo[OpenInfoIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) == EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) {\r
-                //\r
-                // this handle has people opening by child so it must be a parent\r
-                //\r
-                (*HandleType)[HandleIndex] |= HANDLE_RELATIONSHIP_PARENT_HANDLE;\r
-                for (ChildIndex = 0; ChildIndex < *HandleCount; ChildIndex++) {\r
-                  if ((*HandleBuffer)[ChildIndex] == OpenInfo[OpenInfoIndex].AgentHandle) {\r
-                    (*HandleType)[ChildIndex] |= HANDLE_RELATIONSHIP_BUS_DRIVER;\r
-                  }\r
-                }\r
-              }\r
-            }\r
-          }\r
-\r
-          FreePool (OpenInfo);\r
-        }\r
-      }\r
-\r
-      FreePool (ProtocolGuidArray);\r
-    }\r
-  }\r
-\r
-  if (EFI_ERROR(Status)) {\r
-    if (*HandleType != NULL) {\r
-      FreePool (*HandleType);\r
-    }\r
-    if (*HandleBuffer != NULL) {\r
-      FreePool (*HandleBuffer);\r
-    }\r
-\r
-    *HandleCount  = 0;\r
-    *HandleBuffer = NULL;\r
-    *HandleType   = NULL;\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
-\r
-SHELL_STATUS\r
-EFIAPI\r
-ShellCommandRunOpenInfo (\r
-  VOID                *RESERVED\r
-  ) {\r
-  EFI_STATUS          Status;\r
-  LIST_ENTRY          *Package;\r
-  CHAR16              *ProblemParam;\r
-  SHELL_STATUS        ShellStatus;\r
-  EFI_HANDLE          theHandle;\r
-  EFI_HANDLE          *HandleList;\r
-  UINTN               Count;\r
-  UINTN               *Type;\r
-\r
-  ShellStatus         = SHELL_SUCCESS;\r
-\r
-  //\r
-  // initialize the shell lib (we must be in non-auto-init...)\r
-  //\r
-  Status = ShellInitialize();\r
-  ASSERT_EFI_ERROR(Status);\r
-\r
-  Status = CommandInit();\r
-  ASSERT_EFI_ERROR(Status);\r
-\r
-  //\r
-  // parse the command line\r
-  //\r
-  Status = ShellCommandLineParse (EmptyParamList, &Package, &ProblemParam, TRUE);\r
-  if EFI_ERROR(Status) {\r
-    if (Status == EFI_VOLUME_CORRUPTED && ProblemParam != NULL) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDriver1HiiHandle, ProblemParam);\r
-      FreePool(ProblemParam);\r
-      ShellStatus = SHELL_INVALID_PARAMETER;\r
-    } else {\r
-      ASSERT(FALSE);\r
-    }\r
-  } else {\r
-    if (ShellCommandLineGetCount() > 2){\r
-      //\r
-      // error for too many parameters\r
-      //\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDriver1HiiHandle);\r
-      ShellStatus = SHELL_INVALID_PARAMETER;\r
-    } else if (ShellCommandLineGetCount() == 0) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellDriver1HiiHandle);\r
-      ShellStatus = SHELL_INVALID_PARAMETER;\r
-    } else {\r
-      if (ShellCommandLineGetRawValue(Package, 1) != NULL && CommandLibGetHandleValue(StrHexToUintn(ShellCommandLineGetRawValue(Package, 1))) == NULL){\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, ShellCommandLineGetRawValue(Package, 1));\r
-        ShellStatus = SHELL_INVALID_PARAMETER;\r
-      } else {\r
-        theHandle = CommandLibGetHandleValue(StrHexToUintn(ShellCommandLineGetRawValue(Package, 1)));\r
-        ASSERT(theHandle != NULL);\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_OPENINFO_HEADER_LINE), gShellDriver1HiiHandle, StrHexToUintn(ShellCommandLineGetRawValue(Package, 1)), theHandle);\r
-        Status = TraverseHandleDatabase (NULL, theHandle, &Count, &HandleList, &Type);\r
-        if (EFI_ERROR(Status) == FALSE && Count > 0) {\r
-        } else {\r
-          ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_INV_HANDLE), gShellDriver1HiiHandle, ShellCommandLineGetRawValue(Package, 1));\r
-          ShellStatus = SHELL_NOT_FOUND;\r
-        }\r
-      }\r
-    }\r
-  }\r
-  return (ShellStatus);\r
-}\r