]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiSpec.h
MdePkg: Update comments for GetNextVariableName to follow UEFI 2.7
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiSpec.h
index 57cb4e804f703e7e21c1cf6ca1b23b3aa65386ab..d39412748258520db69f8a4f028ac9c0f96a8c51 100644 (file)
@@ -5,7 +5,7 @@
   If a code construct is defined in the UEFI 2.6 specification it must be included\r
   by this include file.\r
 \r
-Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials are licensed and made available under \r
 the terms and conditions of the BSD License that accompanies this distribution.  \r
 The full text of the license may be found at\r
@@ -103,21 +103,28 @@ typedef enum {
 ///\r
 typedef struct {\r
   ///\r
-  /// Type of the memory region.  See EFI_MEMORY_TYPE.\r
+  /// Type of the memory region.\r
+  /// Type EFI_MEMORY_TYPE is defined in the\r
+  /// AllocatePages() function description.\r
   ///\r
   UINT32                Type;\r
   ///\r
-  /// Physical address of the first byte of the memory region.  Must aligned \r
-  /// on a 4 KB boundary.\r
+  /// Physical address of the first byte in the memory region. PhysicalStart must be\r
+  /// aligned on a 4 KiB boundary, and must not be above 0xfffffffffffff000. Type\r
+  /// EFI_PHYSICAL_ADDRESS is defined in the AllocatePages() function description\r
   ///\r
   EFI_PHYSICAL_ADDRESS  PhysicalStart;\r
   ///\r
-  /// Virtual address of the first byte of the memory region.  Must aligned \r
-  /// on a 4 KB boundary.\r
+  /// Virtual address of the first byte in the memory region.\r
+  /// VirtualStart must be aligned on a 4 KiB boundary,\r
+  /// and must not be above 0xfffffffffffff000.\r
   ///\r
   EFI_VIRTUAL_ADDRESS   VirtualStart;\r
   ///\r
-  /// Number of 4KB pages in the memory region.\r
+  /// NumberOfPagesNumber of 4 KiB pages in the memory region.\r
+  /// NumberOfPages must not be 0, and must not be any value\r
+  /// that would represent a memory page with a start address,\r
+  /// either physical or virtual, above 0xfffffffffffff000.\r
   ///\r
   UINT64                NumberOfPages;\r
   ///\r
@@ -654,7 +661,8 @@ EFI_STATUS
 /**\r
   Enumerates the current variable names.\r
 \r
-  @param[in, out]  VariableNameSize The size of the VariableName buffer.\r
+  @param[in, out]  VariableNameSize The size of the VariableName buffer. The size must be large\r
+                                    enough to fit input string supplied in VariableName buffer.\r
   @param[in, out]  VariableName     On input, supplies the last VariableName that was returned\r
                                     by GetNextVariableName(). On output, returns the Nullterminated\r
                                     string of the current variable.\r
@@ -665,9 +673,14 @@ EFI_STATUS
   @retval EFI_SUCCESS           The function completed successfully.\r
   @retval EFI_NOT_FOUND         The next variable was not found.\r
   @retval EFI_BUFFER_TOO_SMALL  The VariableNameSize is too small for the result.\r
+                                VariableNameSize has been updated with the size needed to complete the request.\r
   @retval EFI_INVALID_PARAMETER VariableNameSize is NULL.\r
   @retval EFI_INVALID_PARAMETER VariableName is NULL.\r
   @retval EFI_INVALID_PARAMETER VendorGuid is NULL.\r
+  @retval EFI_INVALID_PARAMETER The input values of VariableName and VendorGuid are not a name and\r
+                                GUID of an existing variable.\r
+  @retval EFI_INVALID_PARAMETER Null-terminator is not found in the first VariableNameSize bytes of\r
+                                the input VariableName buffer.\r
   @retval EFI_DEVICE_ERROR      The variable could not be retrieved due to a hardware error.\r
 \r
 **/\r
@@ -1013,6 +1026,9 @@ EFI_STATUS
                                 valid if ResetStatus is something other than EFI_SUCCESS\r
                                 unless the ResetType is EfiResetPlatformSpecific\r
                                 where a minimum amount of ResetData is always required.\r
+                                For a ResetType of EfiResetPlatformSpecific the data buffer\r
+                                also starts with a Null-terminated string that is followed\r
+                                by an EFI_GUID that describes the specific type of reset to perform.\r
 **/\r
 typedef\r
 VOID\r
@@ -1565,6 +1581,7 @@ EFI_STATUS
   @retval EFI_NOT_FOUND         No protocol instances were found that match Protocol and\r
                                 Registration.\r
   @retval EFI_INVALID_PARAMETER Interface is NULL.\r
+                                Protocol is NULL.\r
 \r
 **/\r
 typedef\r