]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskFileExplorer.c
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Universal / Disk / RamDiskDxe / RamDiskFileExplorer.c
index 2cfd4bbf6ce85c7711c08f22873f6da378d625ef..3a000389f033a6595d9b4d6b7d45c9e460bf6a47 100644 (file)
@@ -2,13 +2,7 @@
   Internal file explorer helper functions for RamDiskDxe driver.\r
 \r
   Copyright (c) 2016, 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
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
@@ -111,143 +105,3 @@ FileInfo (
 \r
   return Buffer;\r
 }\r
-\r
-\r
-/**\r
-  This function will open a file or directory referenced by DevicePath.\r
-\r
-  This function opens a file with the open mode according to the file path. The\r
-  Attributes is valid only for EFI_FILE_MODE_CREATE.\r
-\r
-  @param[in, out] FilePath   On input, the device path to the file.\r
-                             On output, the remaining device path.\r
-  @param[out]     FileHandle Pointer to the file handle.\r
-  @param[in]      OpenMode   The mode to open the file with.\r
-  @param[in]      Attributes The file's file attributes.\r
-\r
-  @retval EFI_SUCCESS             The information was set.\r
-  @retval EFI_INVALID_PARAMETER   One of the parameters has an invalid value.\r
-  @retval EFI_UNSUPPORTED         Could not open the file path.\r
-  @retval EFI_NOT_FOUND           The specified file could not be found on the\r
-                                  device or the file system could not be found\r
-                                  on the device.\r
-  @retval EFI_NO_MEDIA            The device has no medium.\r
-  @retval EFI_MEDIA_CHANGED       The device has a different medium in it or\r
-                                  the medium is no longer supported.\r
-  @retval EFI_DEVICE_ERROR        The device reported an error.\r
-  @retval EFI_VOLUME_CORRUPTED    The file system structures are corrupted.\r
-  @retval EFI_WRITE_PROTECTED     The file or medium is write protected.\r
-  @retval EFI_ACCESS_DENIED       The file was opened read only.\r
-  @retval EFI_OUT_OF_RESOURCES    Not enough resources were available to open\r
-                                  the file.\r
-  @retval EFI_VOLUME_FULL         The volume is full.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-OpenFileByDevicePath(\r
-  IN OUT EFI_DEVICE_PATH_PROTOCOL           **FilePath,\r
-  OUT EFI_FILE_HANDLE                       *FileHandle,\r
-  IN UINT64                                 OpenMode,\r
-  IN UINT64                                 Attributes\r
-  )\r
-{\r
-  EFI_STATUS                           Status;\r
-  EFI_SIMPLE_FILE_SYSTEM_PROTOCOL      *EfiSimpleFileSystemProtocol;\r
-  EFI_FILE_PROTOCOL                    *Handle1;\r
-  EFI_FILE_PROTOCOL                    *Handle2;\r
-  EFI_HANDLE                           DeviceHandle;\r
-\r
-  if ((FilePath == NULL || FileHandle == NULL)) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  Status = gBS->LocateDevicePath (\r
-                  &gEfiSimpleFileSystemProtocolGuid,\r
-                  FilePath,\r
-                  &DeviceHandle\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  Status = gBS->OpenProtocol(\r
-                  DeviceHandle,\r
-                  &gEfiSimpleFileSystemProtocolGuid,\r
-                  (VOID**)&EfiSimpleFileSystemProtocol,\r
-                  gImageHandle,\r
-                  NULL,\r
-                  EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  Status = EfiSimpleFileSystemProtocol->OpenVolume(EfiSimpleFileSystemProtocol, &Handle1);\r
-  if (EFI_ERROR (Status)) {\r
-    FileHandle = NULL;\r
-    return Status;\r
-  }\r
-\r
-  //\r
-  // go down directories one node at a time.\r
-  //\r
-  while (!IsDevicePathEnd (*FilePath)) {\r
-    //\r
-    // For file system access each node should be a file path component\r
-    //\r
-    if (DevicePathType    (*FilePath) != MEDIA_DEVICE_PATH ||\r
-        DevicePathSubType (*FilePath) != MEDIA_FILEPATH_DP\r
-       ) {\r
-      FileHandle = NULL;\r
-      return (EFI_INVALID_PARAMETER);\r
-    }\r
-    //\r
-    // Open this file path node\r
-    //\r
-    Handle2  = Handle1;\r
-    Handle1 = NULL;\r
-\r
-    //\r
-    // Try to test opening an existing file\r
-    //\r
-    Status = Handle2->Open (\r
-                          Handle2,\r
-                          &Handle1,\r
-                          ((FILEPATH_DEVICE_PATH*)*FilePath)->PathName,\r
-                          OpenMode &~EFI_FILE_MODE_CREATE,\r
-                          0\r
-                         );\r
-\r
-    //\r
-    // see if the error was that it needs to be created\r
-    //\r
-    if ((EFI_ERROR (Status)) && (OpenMode != (OpenMode &~EFI_FILE_MODE_CREATE))) {\r
-      Status = Handle2->Open (\r
-                            Handle2,\r
-                            &Handle1,\r
-                            ((FILEPATH_DEVICE_PATH*)*FilePath)->PathName,\r
-                            OpenMode,\r
-                            Attributes\r
-                           );\r
-    }\r
-    //\r
-    // Close the last node\r
-    //\r
-    Handle2->Close (Handle2);\r
-\r
-    if (EFI_ERROR(Status)) {\r
-      return (Status);\r
-    }\r
-\r
-    //\r
-    // Get the next node\r
-    //\r
-    *FilePath = NextDevicePathNode (*FilePath);\r
-  }\r
-\r
-  //\r
-  // This is a weak spot since if the undefined SHELL_FILE_HANDLE format changes this must change also!\r
-  //\r
-  *FileHandle = (VOID*)Handle1;\r
-  return EFI_SUCCESS;\r
-}\r