]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/FileHandleLib.h
MdePkg: Clean up source files
[mirror_edk2.git] / MdePkg / Include / Library / FileHandleLib.h
index 123cc8c58f61ab7ea25fad3f2c6f4af4af6547d1..055177348186a3a27549f4c135ef1373934f1534 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Provides interface to EFI_FILE_HANDLE functionality.\r
 \r
-  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2018, 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
@@ -16,6 +16,7 @@
 #define _FILE_HANDLE_LIBRARY_HEADER_\r
 \r
 #include <Protocol/SimpleFileSystem.h>\r
+#include <Guid/FileInfo.h>\r
 \r
 /// The tag for use in identifying UNICODE files.\r
 /// If the file is UNICODE, the first 16 bits of the file will equal this value.\r
@@ -184,9 +185,9 @@ FileHandleDelete (
   has the effect of starting the read process of the directory entries over again.\r
 \r
   @param[in] FileHandle         The file handle on which the position is being set.\r
-  @param[in] Position           The byte position from the begining of the file.\r
+  @param[in] Position           The byte position from the beginning of the file.\r
 \r
-  @retval EFI_SUCCESS           The operation completed sucessfully.\r
+  @retval EFI_SUCCESS           The operation completed successfully.\r
   @retval EFI_UNSUPPORTED       The request for non-zero is not valid on\r
                                 directories.\r
   @retval INVALID_PARAMETER     One of the parameters has an invalid value.\r
@@ -207,7 +208,7 @@ FileHandleSetPosition (
   if FileHandle is a directory.\r
 \r
   @param[in] FileHandle         The open file handle on which to get the position.\r
-  @param[out] Position          The byte position from begining of file.\r
+  @param[out] Position          The byte position from beginning of file.\r
 \r
   @retval EFI_SUCCESS           The operation completed successfully.\r
   @retval INVALID_PARAMETER     One of the parameters has an invalid value.\r
@@ -242,15 +243,14 @@ FileHandleFlush (
 /**\r
   Function to determine if a given handle is a directory handle.\r
 \r
-  If DirHandle is NULL, then ASSERT().\r
-\r
-  Open the file information on the DirHandle, and verify that the Attribute\r
+  Open the file information on the DirHandle and verify that the Attribute\r
   includes EFI_FILE_DIRECTORY bit set.\r
 \r
-  @param[in] DirHandle          The handle to open the file.\r
+  @param[in] DirHandle          Handle to open file.\r
 \r
   @retval EFI_SUCCESS           DirHandle is a directory.\r
-  @retval EFI_INVALID_PARAMETER DirHandle did not have EFI_FILE_INFO available.\r
+  @retval EFI_INVALID_PARAMETER DirHandle is NULL.\r
+                                The file information returns from FileHandleGetInfo is NULL.\r
   @retval EFI_NOT_FOUND         DirHandle is not a directory.\r
 **/\r
 EFI_STATUS\r
@@ -317,17 +317,16 @@ FileHandleFindNextFile(
 /**\r
   Retrieve the size of a file.\r
 \r
-  If FileHandle is NULL then ASSERT().\r
-  If Size is NULL then ASSERT().\r
-\r
   This function extracts the file size info from the FileHandle's EFI_FILE_INFO\r
   data.\r
 \r
   @param[in] FileHandle         The file handle from which size is retrieved.\r
   @param[out] Size              The pointer to size.\r
 \r
-  @retval EFI_SUCCESS           The operation completed successfully.\r
+  @retval EFI_SUCCESS           Operation was completed successfully.\r
   @retval EFI_DEVICE_ERROR      Cannot access the file.\r
+  @retval EFI_INVALID_PARAMETER FileHandle is NULL.\r
+                                Size is NULL.\r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
@@ -339,8 +338,6 @@ FileHandleGetSize (
 /**\r
   Set the size of a file.\r
 \r
-  If FileHandle is NULL then ASSERT().\r
-\r
   This function changes the file size info from the FileHandle's EFI_FILE_INFO\r
   data.\r
 \r
@@ -349,6 +346,7 @@ FileHandleGetSize (
 \r
   @retval EFI_SUCCESS           The operation completed successfully.\r
   @retval EFI_DEVICE_ERROR      Cannot access the file.\r
+  @retval EFI_INVALID_PARAMETER FileHandle is NULL.\r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
@@ -359,7 +357,9 @@ FileHandleSetSize (
 \r
 /**\r
   Function to get a full filename given a EFI_FILE_HANDLE somewhere lower on the\r
-  directory 'stack'.\r
+  directory 'stack'. If the file is a directory, then append the '\' char at the\r
+  end of name string. If it's not a directory, then the last '\' should not be\r
+  added.\r
 \r
   @param[in] Handle             Handle to the Directory or File to create path to.\r
   @param[out] FullFileName      Pointer to pointer to generated full file name.  It\r
@@ -382,6 +382,8 @@ FileHandleGetFileName (
 \r
   If the position upon start is 0, then the Ascii Boolean will be set.  This should be\r
   maintained and not changed for all operations with the same file.\r
+  The function will not return the \r and \n character in buffer. When an empty line is\r
+  read a CHAR_NULL character will be returned in buffer.\r
 \r
   @param[in]       Handle        FileHandle to read from.\r
   @param[in, out]  Buffer        The pointer to buffer to read into.\r
@@ -436,16 +438,23 @@ FileHandleReturnLine(
   );\r
 \r
 /**\r
-  Function to write a line of unicode text to a file.\r
+  Function to write a line of text to a file.\r
 \r
-  If Handle is NULL, ASSERT.\r
+  If the file is a Unicode file (with UNICODE file tag) then write the unicode\r
+  text.\r
+  If the file is an ASCII file then write the ASCII text.\r
+  If the size of file is zero (without file tag at the beginning) then write\r
+  ASCII text as default.\r
 \r
   @param[in]     Handle         FileHandle to write to.\r
   @param[in]     Buffer         Buffer to write, if NULL the function will\r
                                 take no action and return EFI_SUCCESS.\r
 \r
-  @retval  EFI_SUCCESS          The data was written.\r
-  @retval  other                Failure.\r
+  @retval  EFI_SUCCESS            The data was written.\r
+                                  Buffer is NULL.\r
+  @retval  EFI_INVALID_PARAMETER  Handle is NULL.\r
+  @retval  EFI_OUT_OF_RESOURCES   Unable to allocate temporary space for ASCII\r
+                                  string due to out of resources.\r
 \r
   @sa FileHandleWrite\r
 **/\r