]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/HiiDatabase.h
MdePkg: Add the missing spec version information for header files
[mirror_edk2.git] / MdePkg / Include / Protocol / HiiDatabase.h
index c31f971758194f1bba8504a4dcbf1dff7fd307b9..3c7e0072b1aefaa0705fbde4e725545435a9f485 100644 (file)
@@ -1,15 +1,18 @@
 /** @file\r
   The file provides Database manager for HII-related data\r
   structures.\r
-  \r
-  Copyright (c) 2006 - 2010, Intel Corporation\r
-  All rights reserved. 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
+Copyright (c) 2006 - 2018, 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
+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
+  @par Revision Reference:\r
+  This Protocol was introduced in UEFI Specification 2.1.\r
 \r
 **/\r
 \r
@@ -24,8 +27,8 @@ typedef struct _EFI_HII_DATABASE_PROTOCOL EFI_HII_DATABASE_PROTOCOL;
 \r
 \r
 ///\r
-/// EFI_HII_DATABASE_NOTIFY_TYPE\r
-/// \r
+/// EFI_HII_DATABASE_NOTIFY_TYPE.\r
+///\r
 typedef UINTN   EFI_HII_DATABASE_NOTIFY_TYPE;\r
 \r
 #define EFI_HII_DATABASE_NOTIFY_NEW_PACK    0x00000001\r
@@ -33,7 +36,7 @@ typedef UINTN   EFI_HII_DATABASE_NOTIFY_TYPE;
 #define EFI_HII_DATABASE_NOTIFY_EXPORT_PACK 0x00000004\r
 #define EFI_HII_DATABASE_NOTIFY_ADD_PACK    0x00000008\r
 /**\r
-   \r
+\r
   Functions which are registered to receive notification of\r
   database events have this prototype. The actual event is encoded\r
   in NotifyType. The following table describes how PackageType,\r
@@ -48,8 +51,8 @@ typedef UINTN   EFI_HII_DATABASE_NOTIFY_TYPE;
                       field of EFI_HII_PACKAGE_GUID_HEADER.\r
                       Otherwise, it must be NULL.\r
 \r
-  @param Package      Points to the package referred to by the notification. \r
-  \r
+  @param Package      Points to the package referred to by the notification.\r
+\r
   @param Handle       The handle of the package\r
                       list which contains the specified package.\r
 \r
@@ -81,9 +84,6 @@ EFI_STATUS
   corresponding call to\r
   EFI_HII_DATABASE_PROTOCOL.RemovePackageList().\r
 \r
-  Note: inconsistency with UEFI 2.3 spec that the parameter DriverHandle\r
-  is optional.\r
-  \r
   @param This           A pointer to the EFI_HII_DATABASE_PROTOCOL instance.\r
 \r
   @param PackageList    A pointer to an EFI_HII_PACKAGE_LIST_HEADER structure.\r
@@ -91,7 +91,7 @@ EFI_STATUS
   @param DriverHandle   Associate the package list with this EFI handle.\r
                         If a NULL is specified, this data will not be associate\r
                         with any drivers and cannot have a callback induced.\r
-  \r
+\r
   @param Handle         A pointer to the EFI_HII_HANDLE instance.\r
 \r
   @retval EFI_SUCCESS           The package list associated with the\r
@@ -101,7 +101,7 @@ EFI_STATUS
                                 resources for the new database\r
                                 contents.\r
 \r
-  @retval EFI_INVALID_PARAMETER PackageList is NULL or Handle is NULL.\r
+  @retval EFI_INVALID_PARAMETER PackageList is NULL, or Handle is NULL.\r
 \r
 **/\r
 typedef\r
@@ -124,10 +124,10 @@ EFI_STATUS
   be a corresponding call to RemovePackageList.\r
 \r
   @param This             A pointer to the EFI_HII_DATABASE_PROTOCOL instance.\r
-  \r
+\r
   @param Handle           The handle that was registered to the data\r
                           that is requested for removal.\r
-  \r
+\r
   @retval EFI_SUCCESS     The data associated with the Handle was\r
                           removed from the HII database.\r
   @retval EFI_NOT_FOUND   The specified Handle is not in database.\r
@@ -142,7 +142,7 @@ EFI_STATUS
 \r
 \r
 /**\r
-   \r
+\r
   This function updates the existing package list (which has the\r
   specified Handle) in the HII databases, using the new package\r
   list specified by PackageList. The update process has the\r
@@ -165,18 +165,18 @@ EFI_STATUS
   ADD_PACK.\r
 \r
   @param This         A pointer to the EFI_HII_DATABASE_PROTOCOL instance.\r
-  \r
+\r
   @param Handle       The handle that was registered to the data\r
                       that is requested for removal.\r
-  \r
+\r
   @param PackageList  A pointer to an EFI_HII_PACKAGE_LIST\r
                       package.\r
-  \r
+\r
   @retval EFI_SUCCESS            The HII database was successfully updated.\r
-  \r
+\r
   @retval EFI_OUT_OF_RESOURCES   Unable to allocate enough memory\r
                                  for the updated database.\r
-  \r
+\r
   @retval EFI_INVALID_PARAMETER  PackageList was NULL.\r
   @retval EFI_NOT_FOUND          The specified Handle is not in database.\r
 \r
@@ -191,33 +191,33 @@ EFI_STATUS
 \r
 \r
 /**\r
-  \r
-  This function returns a list of the package handles of the   \r
-  specified type that are currently active in the database. The   \r
-  pseudo-type EFI_HII_PACKAGE_TYPE_ALL will cause all package   \r
+\r
+  This function returns a list of the package handles of the\r
+  specified type that are currently active in the database. The\r
+  pseudo-type EFI_HII_PACKAGE_TYPE_ALL will cause all package\r
   handles to be listed.\r
-  \r
+\r
   @param This                 A pointer to the EFI_HII_DATABASE_PROTOCOL instance.\r
-  \r
+\r
   @param PackageType          Specifies the package type of the packages\r
                               to list or EFI_HII_PACKAGE_TYPE_ALL for\r
                               all packages to be listed.\r
-  \r
+\r
   @param PackageGuid          If PackageType is\r
                               EFI_HII_PACKAGE_TYPE_GUID, then this is\r
                               the pointer to the GUID which must match\r
                               the Guid field of\r
                               EFI_HII_PACKAGE_GUID_HEADER. Otherwise, it\r
                               must be NULL.\r
-  \r
+\r
   @param HandleBufferLength   On input, a pointer to the length\r
                               of the handle buffer. On output,\r
                               the length of the handle buffer\r
                               that is required for the handles found.\r
 \r
-  @param Handle               An array of EFI_HII_HANDLE  instances returned.\r
+  @param Handle               An array of EFI_HII_HANDLE instances returned.\r
 \r
-  @retval EFI_SUCCESS           The matching handles are outputed successfully.\r
+  @retval EFI_SUCCESS           The matching handles are outputted successfully.\r
                                 HandleBufferLength is updated with the actual length.\r
   @retval EFI_BUFFER_TOO_SMALL  The HandleBufferLength parameter\r
                                 indicates that Handle is too\r
@@ -225,8 +225,10 @@ EFI_STATUS
                                 handles. HandleBufferLength is\r
                                 updated with a value that will\r
                                 enable the data to fit.\r
-  @retval EFI_NOT_FOUND         No matching handle could not be found in database.\r
-  @retval EFI_INVALID_PARAMETER Handle or HandleBufferLength was NULL.\r
+  @retval EFI_NOT_FOUND         No matching handle could be found in database.\r
+  @retval EFI_INVALID_PARAMETER HandleBufferLength was NULL.\r
+  @retval EFI_INVALID_PARAMETER The value referenced by HandleBufferLength was not\r
+                                zero and Handle was NULL.\r
   @retval EFI_INVALID_PARAMETER PackageType is not a EFI_HII_PACKAGE_TYPE_GUID but\r
                                 PackageGuid is not NULL, PackageType is a EFI_HII_\r
                                 PACKAGE_TYPE_GUID but PackageGuid is NULL.\r
@@ -259,7 +261,7 @@ EFI_STATUS
   @param Handle       An EFI_HII_HANDLE  that corresponds to the\r
                       desired package list in the HII database to\r
                       export or NULL to indicate all package lists\r
-                      should be exported. \r
+                      should be exported.\r
 \r
   @param BufferSize   On input, a pointer to the length of the\r
                       buffer. On output, the length of the\r
@@ -268,12 +270,19 @@ EFI_STATUS
 \r
   @param Buffer       A pointer to a buffer that will contain the\r
                       results of the export function.\r
-  \r
-  \r
+\r
+\r
   @retval EFI_SUCCESS           Package exported.\r
-  \r
+\r
   @retval EFI_OUT_OF_RESOURCES  BufferSize is too small to hold the package.\r
 \r
+  @retval EFI_NOT_FOUND         The specified Handle could not be found in the\r
+                                current database.\r
+\r
+  @retval EFI_INVALID_PARAMETER BufferSize was NULL.\r
+\r
+  @retval EFI_INVALID_PARAMETER The value referenced by BufferSize was not zero\r
+                                and Buffer was NULL.\r
 **/\r
 typedef\r
 EFI_STATUS\r
@@ -286,8 +295,8 @@ EFI_STATUS
 \r
 \r
 /**\r
-   \r
-  \r
+\r
+\r
   This function registers a function which will be called when\r
   specified actions related to packages of the specified type\r
   occur in the HII database. By registering a function, other\r
@@ -296,12 +305,12 @@ EFI_STATUS
   or application which registers a notification should use\r
   EFI_HII_DATABASE_PROTOCOL.UnregisterPackageNotify() before\r
   exiting.\r
-  \r
-  \r
+\r
+\r
   @param This             A pointer to the EFI_HII_DATABASE_PROTOCOL instance.\r
 \r
   @param PackageType      The package type. See\r
-                          EFI_HII_PACKAGE_TYPE_x in EFI_HII_PACKAGE_HEADER. \r
+                          EFI_HII_PACKAGE_TYPE_x in EFI_HII_PACKAGE_HEADER.\r
 \r
   @param PackageGuid      If PackageType is\r
                           EFI_HII_PACKAGE_TYPE_GUID, then this is\r
@@ -317,7 +326,7 @@ EFI_STATUS
 \r
   @param NotifyType       Describes the types of notification which\r
                           this function will be receiving. See\r
-                          EFI_HII_DATABASE_NOTIFY_TYPE for more a\r
+                          EFI_HII_DATABASE_NOTIFY_TYPE for a\r
                           list of types.\r
 \r
   @param NotifyHandle     Points to the unique handle assigned to\r
@@ -349,19 +358,19 @@ EFI_STATUS
 \r
 \r
 /**\r
-   \r
+\r
   Removes the specified HII database package-related notification.\r
-  \r
+\r
   @param This                 A pointer to the EFI_HII_DATABASE_PROTOCOL instance.\r
 \r
   @param NotificationHandle   The handle of the notification\r
                               function being unregistered.\r
-  \r
-  @retval EFI_SUCCESS   Unregister the notification Successsfully\r
-  \r
-  @retval EFI_NOT_FOUND The incoming notification handle does not exist \r
+\r
+  @retval EFI_SUCCESS   Successsfully unregistered the notification.\r
+\r
+  @retval EFI_NOT_FOUND The incoming notification handle does not exist\r
                         in the current hii database.\r
-  \r
+\r
 **/\r
 typedef\r
 EFI_STATUS\r
@@ -372,7 +381,7 @@ EFI_STATUS
 \r
 \r
 /**\r
-   \r
+\r
   This routine retrieves an array of GUID values for each keyboard\r
   layout that was previously registered in the system.\r
 \r
@@ -382,13 +391,13 @@ EFI_STATUS
                               of the keyboard GUID buffer. On\r
                               output, the length of the handle\r
                               buffer that is required for the\r
-                              handles found. \r
-  \r
+                              handles found.\r
+\r
   @param KeyGuidBuffer        An array of keyboard layout GUID\r
                               instances returned.\r
 \r
   @retval EFI_SUCCESS           KeyGuidBuffer was updated successfully.\r
-  \r
+\r
   @retval EFI_BUFFER_TOO_SMALL  The KeyGuidBufferLength\r
                                 parameter indicates that\r
                                 KeyGuidBuffer is too small to\r
@@ -396,6 +405,11 @@ EFI_STATUS
                                 KeyGuidBufferLength is updated\r
                                 with a value that will enable\r
                                 the data to fit.\r
+  @retval EFI_INVALID_PARAMETER The KeyGuidBufferLength is NULL.\r
+  @retval EFI_INVALID_PARAMETER The value referenced by\r
+                                KeyGuidBufferLength is not\r
+                                zero and KeyGuidBuffer is NULL.\r
+  @retval EFI_NOT_FOUND         There was no keyboard layout.\r
 \r
 **/\r
 typedef\r
@@ -408,14 +422,14 @@ EFI_STATUS
 \r
 \r
 /**\r
-   \r
+\r
   This routine retrieves the requested keyboard layout. The layout\r
-  is a physical description of the keys on a keyboard and the\r
+  is a physical description of the keys on a keyboard, and the\r
   character(s) that are associated with a particular set of key\r
   strokes.\r
 \r
   @param This                   A pointer to the EFI_HII_PROTOCOL instance.\r
-  \r
+\r
   @param KeyGuid                A pointer to the unique ID associated with a\r
                                 given keyboard layout. If KeyGuid is NULL then\r
                                 the current layout will be retrieved.\r
@@ -423,13 +437,13 @@ EFI_STATUS
   @param KeyboardLayoutLength   On input, a pointer to the length of the\r
                                 KeyboardLayout buffer.  On output, the length of\r
                                 the data placed into KeyboardLayout.\r
-  \r
+\r
   @param KeyboardLayout         A pointer to a buffer containing the\r
                                 retrieved keyboard layout.\r
-  \r
+\r
   @retval EFI_SUCCESS   The keyboard layout was retrieved\r
                         successfully.\r
-  \r
+\r
   @retval EFI_NOT_FOUND The requested keyboard layout was not found.\r
 \r
 **/\r
@@ -443,7 +457,7 @@ EFI_STATUS
 );\r
 \r
 /**\r
-   \r
+\r
   This routine sets the default keyboard layout to the one\r
   referenced by KeyGuid. When this routine is called, an event\r
   will be signaled of the EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID\r
@@ -470,21 +484,21 @@ EFI_STATUS
 );\r
 \r
 /**\r
-   \r
+\r
   Return the EFI handle associated with a package list.\r
-  \r
+\r
   @param This               A pointer to the EFI_HII_PROTOCOL instance.\r
-  \r
+\r
   @param PackageListHandle  An EFI_HII_HANDLE  that corresponds\r
                             to the desired package list in the\r
                             HIIdatabase.\r
-  \r
+\r
   @param DriverHandle       On return, contains the EFI_HANDLE which\r
                             was registered with the package list in\r
                             NewPackageList().\r
-  \r
+\r
   @retval EFI_SUCCESS            The DriverHandle was returned successfully.\r
-  \r
+\r
   @retval EFI_INVALID_PARAMETER  The PackageListHandle was not valid.\r
 \r
 **/\r