/** @file This protocol provides services to display a popup window. The protocol is typically produced by the forms browser and consumed by a driver callback handler. Copyright (c) 2017-2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: This Protocol was introduced in UEFI Specification 2.7. **/ #ifndef __HII_POPUP_H__ #define __HII_POPUP_H__ #define EFI_HII_POPUP_PROTOCOL_GUID \ {0x4311edc0, 0x6054, 0x46d4, {0x9e, 0x40, 0x89, 0x3e, 0xa9, 0x52, 0xfc, 0xcc}} #define EFI_HII_POPUP_PROTOCOL_REVISION 1 typedef struct _EFI_HII_POPUP_PROTOCOL EFI_HII_POPUP_PROTOCOL; typedef enum { EfiHiiPopupStyleInfo, EfiHiiPopupStyleWarning, EfiHiiPopupStyleError } EFI_HII_POPUP_STYLE; typedef enum { EfiHiiPopupTypeOk, EfiHiiPopupTypeOkCancel, EfiHiiPopupTypeYesNo, EfiHiiPopupTypeYesNoCancel } EFI_HII_POPUP_TYPE; typedef enum { EfiHiiPopupSelectionOk, EfiHiiPopupSelectionCancel, EfiHiiPopupSelectionYes, EfiHiiPopupSelectionNo } EFI_HII_POPUP_SELECTION; /** Displays a popup window. @param This A pointer to the EFI_HII_POPUP_PROTOCOL instance. @param PopupStyle Popup style to use. @param PopupType Type of the popup to display. @param HiiHandle HII handle of the string pack containing Message @param Message A message to display in the popup box. @param UserSelection User selection. @retval EFI_SUCCESS The popup box was successfully displayed. @retval EFI_INVALID_PARAMETER HiiHandle and Message do not define a valid HII string. @retval EFI_INVALID_PARAMETER PopupType is not one of the values defined by this specification. @retval EFI_OUT_OF_RESOURCES There are not enough resources available to display the popup box. **/ typedef EFI_STATUS (EFIAPI * EFI_HII_CREATE_POPUP) ( IN EFI_HII_POPUP_PROTOCOL *This, IN EFI_HII_POPUP_STYLE PopupStyle, IN EFI_HII_POPUP_TYPE PopupType, IN EFI_HII_HANDLE HiiHandle, IN EFI_STRING_ID Message, OUT EFI_HII_POPUP_SELECTION *UserSelection OPTIONAL ); struct _EFI_HII_POPUP_PROTOCOL { UINT64 Revision; EFI_HII_CREATE_POPUP CreatePopup; }; extern EFI_GUID gEfiHiiPopupProtocolGuid; #endif