| /** @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.<BR> |
| 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 |
| |