--- /dev/null
+/** @file\r
+ Public Header file of HII library used by Opal UEFI Driver.\r
+ Defines required callbacks of Opal HII library.\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
+\r
+**/\r
+\r
+#ifndef _OPAL_HII_H_\r
+#define _OPAL_HII_H_\r
+\r
+#include <Library/OpalPasswordSupportLib.h>\r
+#include <OpalDriverPrivate.h>\r
+\r
+#define DEFAULT_RESPONSE_SIZE 200\r
+\r
+/**\r
+ Get the driver image handle.\r
+\r
+ @retval the driver image handle.\r
+\r
+**/\r
+EFI_HANDLE\r
+HiiGetDriverImageHandleCB(\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Install the HII form and string packages.\r
+\r
+ @retval EFI_SUCCESS Install all the resources success.\r
+ @retval EFI_OUT_OF_RESOURCES Out of resource error.\r
+**/\r
+EFI_STATUS\r
+OpalHiiAddPackages(\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Check whether enable feature or not.\r
+\r
+ @retval Return the disk number.\r
+\r
+**/\r
+UINT8\r
+HiiGetNumConfigRequiredOpalDisksCB(\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Returns the driver name.\r
+\r
+ @retval Returns the driver name.\r
+\r
+**/\r
+CHAR16*\r
+HiiGetDriverNameCB(\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Returns the opaque pointer to a physical disk context.\r
+\r
+ @param DiskIndex Input the disk index.\r
+\r
+ @retval The device pointer.\r
+\r
+**/\r
+OPAL_DISK*\r
+HiiGetOpalDiskCB(\r
+ UINT8 DiskIndex\r
+ );\r
+\r
+/**\r
+ Returns the disk name.\r
+\r
+ @param DiskIndex Input the disk index.\r
+\r
+ @retval Returns the disk name.\r
+\r
+**/\r
+CHAR8*\r
+HiiDiskGetNameCB(\r
+ UINT8 DiskIndex\r
+ );\r
+\r
+/**\r
+ Set a string Value in a form.\r
+\r
+ @param DestStringId The stringid which need to update.\r
+ @param SrcAsciiStr The string nned to update.\r
+\r
+ @retval EFI_SUCCESS Do the required action success.\r
+ @retval Others Other error occur.\r
+\r
+**/\r
+EFI_STATUS\r
+HiiSetFormString(\r
+ EFI_STRING_ID DestStringId,\r
+ CHAR8 *SrcAsciiStr\r
+ );\r
+\r
+/**\r
+ Install the HII related resources.\r
+\r
+ @retval EFI_SUCCESS Install all the resources success.\r
+ @retval other Error occur when install the resources.\r
+**/\r
+EFI_STATUS\r
+HiiInstall(\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Uninstall the HII capability.\r
+\r
+ @retval EFI_SUCCESS Uninstall all the resources success.\r
+ @retval others Other errors occur when unistall the hii resource.\r
+**/\r
+EFI_STATUS\r
+HiiUninstall(\r
+ VOID\r
+ );\r
+\r
+/**\r
+ Initialize the Opal disk base on the hardware info get from device.\r
+\r
+ @param Dev The Opal device.\r
+\r
+ @retval EFI_SUCESS Initialize the device success.\r
+ @retval EFI_DEVICE_ERROR Get info from device failed.\r
+\r
+**/\r
+EFI_STATUS\r
+OpalDiskInitialize (\r
+ IN OPAL_DRIVER_DEVICE *Dev\r
+ );\r
+\r
+#endif // _HII_H_\r