120 lines
3.5 KiB
C
120 lines
3.5 KiB
C
/** @file
|
|
The H2O_DIALOG_PROTOCOL is the interface to the EFI Configuration Driver.
|
|
|
|
;******************************************************************************
|
|
;* Copyright (c) 2014, Insyde Software Corp. All Rights Reserved.
|
|
;*
|
|
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
|
|
;* transmit, broadcast, present, recite, release, license or otherwise exploit
|
|
;* any part of this publication in any form, by any means, without the prior
|
|
;* written permission of Insyde Software Corporation.
|
|
;*
|
|
;******************************************************************************
|
|
*/
|
|
|
|
#ifndef _H2O_DIALOG_H_
|
|
#define _H2O_DIALOG_H_
|
|
|
|
#define H2O_DIALOG_PROTOCOL_GUID \
|
|
{ \
|
|
0x3634b8f9, 0xd032, 0x4f21, 0xa9, 0x89, 0x31, 0xad, 0xf0, 0x5f, 0x00, 0x12 \
|
|
}
|
|
|
|
typedef struct _H2O_DIALOG_PROTOCOL H2O_DIALOG_PROTOCOL;
|
|
|
|
typedef enum {
|
|
DlgYesNo,
|
|
DlgYesNoCancel,
|
|
DlgOk,
|
|
DlgOkCancel
|
|
} UI_DIALOG_OPERATION;
|
|
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *H2O_CONFIRM_DIALOG) (
|
|
IN UINT32 NumberOfLines,
|
|
IN BOOLEAN HotKey,
|
|
IN UINT32 MaximumStringSize,
|
|
OUT CHAR16 *StringBuffer,
|
|
OUT EFI_INPUT_KEY *KeyValue,
|
|
IN CHAR16 *String,
|
|
...
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *H2O_PASSWORD_DIALOG) (
|
|
IN UINT32 NumberOfLines,
|
|
IN BOOLEAN HotKey,
|
|
IN UINT32 MaximumStringSize,
|
|
OUT CHAR16 *UserInputStringBuffer,
|
|
OUT EFI_INPUT_KEY *KeyValue,
|
|
IN CHAR16 *TitleString,
|
|
...
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *H2O_ONE_OF_OPTION_DIALOG) (
|
|
IN UINT32 NumberOfLines,
|
|
IN BOOLEAN HotKey,
|
|
IN CONST EFI_INPUT_KEY *KeyList,
|
|
OUT EFI_INPUT_KEY *EventKey,
|
|
IN UINT32 MaximumStringSize,
|
|
OUT CHAR16 *TitleString,
|
|
OUT UINT32 *SelectIndex,
|
|
IN CHAR16 **String,
|
|
IN UINT32 Color
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *H2O_CREATE_MSG_POP_UP) (
|
|
IN UINT32 RequestedWidth,
|
|
IN UINT32 NumberOfLines,
|
|
IN CHAR16 *ArrayOfStrings,
|
|
...
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *H2O_SHOW_PAGE_INFORMATION) (
|
|
IN CHAR16 *TitleString,
|
|
IN CHAR16 *InfoStrings
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *H2O_NUMERIC_DIALOG) (
|
|
IN CHAR16 *TitleString,
|
|
IN UINT64 Minimum,
|
|
IN UINT64 Maximum,
|
|
IN UINT64 Step,
|
|
IN BOOLEAN IsHex,
|
|
OUT UINT64 *NumericValue
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *H2O_CONFIRM_PAGE_DIALOG) (
|
|
IN UINT32 DialogOperation,
|
|
IN CHAR16 *TitleString,
|
|
IN CHAR16 *ConfirmStrings,
|
|
IN CHAR16 *ShowStringBuffer,
|
|
OUT EFI_INPUT_KEY *KeyValue
|
|
);
|
|
|
|
struct _H2O_DIALOG_PROTOCOL {
|
|
H2O_CONFIRM_DIALOG ConfirmDialog;
|
|
H2O_PASSWORD_DIALOG PasswordDialog;
|
|
H2O_ONE_OF_OPTION_DIALOG OneOfOptionDialog;
|
|
H2O_CREATE_MSG_POP_UP CreateMsgPopUp;
|
|
H2O_SHOW_PAGE_INFORMATION ShowPageInfo;
|
|
H2O_NUMERIC_DIALOG NumericDialog;
|
|
H2O_CONFIRM_PAGE_DIALOG ConfirmPageDialog;
|
|
};
|
|
|
|
extern EFI_GUID gH2ODialogProtocolGuid;
|
|
|
|
#endif |