| /** @file | |
| Defines Opal HII form ids, structures and values. | |
| Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #pragma once | |
| // ID's for various forms that will be used by HII | |
| #define FORMID_VALUE_MAIN_MENU 0x01 | |
| #define FORMID_VALUE_DISK_INFO_FORM_MAIN 0x02 | |
| #pragma pack(1) | |
| typedef struct { | |
| UINT16 Lock : 1; | |
| UINT16 Unlock : 1; | |
| UINT16 SetAdminPwd : 1; | |
| UINT16 SetUserPwd : 1; | |
| UINT16 SecureErase : 1; | |
| UINT16 Revert : 1; | |
| UINT16 PsidRevert : 1; | |
| UINT16 DisableUser : 1; | |
| UINT16 DisableFeature : 1; | |
| UINT16 EnableFeature : 1; | |
| UINT16 Reserved : 5; | |
| UINT16 KeepUserData : 1; | |
| } OPAL_REQUEST; | |
| typedef struct { | |
| UINT8 NumDisks; | |
| UINT8 SelectedDiskIndex; | |
| UINT16 SelectedDiskAvailableActions; | |
| UINT16 SupportedDisks; | |
| BOOLEAN KeepUserDataForced; | |
| OPAL_REQUEST OpalRequest; | |
| UINT8 EnableBlockSid; | |
| } OPAL_HII_CONFIGURATION; | |
| #pragma pack() | |
| /* Action Flags */ | |
| #define HII_ACTION_NONE 0x0000 | |
| #define HII_ACTION_LOCK 0x0001 | |
| #define HII_ACTION_UNLOCK 0x0002 | |
| #define HII_ACTION_SET_ADMIN_PWD 0x0004 | |
| #define HII_ACTION_SET_USER_PWD 0x0008 | |
| #define HII_ACTION_SECURE_ERASE 0x0010 | |
| #define HII_ACTION_REVERT 0x0020 | |
| #define HII_ACTION_PSID_REVERT 0x0040 | |
| #define HII_ACTION_DISABLE_USER 0x0080 | |
| #define HII_ACTION_DISABLE_FEATURE 0x0100 | |
| #define HII_ACTION_ENABLE_FEATURE 0x0200 | |
| /* Number of bits allocated for each part of a unique key for an HII_ITEM | |
| * all bits together must be <= 16 (EFI_QUESTION_ID is UINT16) | |
| * 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | |
| * | |-----------------------| |---------------------------| | |
| * FLG INDEX ID | |
| */ | |
| #define HII_KEY_ID_BITS 8 | |
| #define HII_KEY_INDEX_BITS 7 | |
| #define HII_KEY_FLAG_BITS 1 | |
| #define HII_KEY_FLAG 0x8000 // bit 15 (zero based) | |
| /***********/ | |
| /* Key IDs */ | |
| /***********/ | |
| #define HII_KEY_ID_GOTO_DISK_INFO 1 | |
| #define HII_KEY_ID_VAR_SUPPORTED_DISKS 2 | |
| #define HII_KEY_ID_VAR_SELECTED_DISK_AVAILABLE_ACTIONS 3 | |
| #define HII_KEY_ID_BLOCKSID 4 | |
| #define HII_KEY_ID_SET_ADMIN_PWD 5 | |
| #define HII_KEY_ID_SET_USER_PWD 6 | |
| #define HII_KEY_ID_SECURE_ERASE 7 | |
| #define HII_KEY_ID_REVERT 8 | |
| #define HII_KEY_ID_KEEP_USER_DATA 9 | |
| #define HII_KEY_ID_PSID_REVERT 0xA | |
| #define HII_KEY_ID_DISABLE_USER 0xB | |
| #define HII_KEY_ID_ENABLE_FEATURE 0xC | |
| #define HII_KEY_ID_MAX 0xC // !!Update each time a new ID is added!! | |
| #define HII_KEY_WITH_INDEX(id, index) \ | |
| ( \ | |
| HII_KEY_FLAG | \ | |
| (id) | \ | |
| ((index) << HII_KEY_ID_BITS) \ | |
| ) | |
| #define HII_KEY(id) HII_KEY_WITH_INDEX(id, 0) | |
| /* Label */ | |
| #define OPAL_MAIN_MENU_LABEL_START 0x6100 | |
| #define OPAL_MAIN_MENU_LABEL_END 0x6101 | |
| #define OPAL_DISK_INFO_LABEL_START 0x6200 | |
| #define OPAL_DISK_INFO_LABEL_END 0x6201 | |
| #define PACKAGE_LIST_GUID { 0xf0308176, 0x9058, 0x4153, { 0x93, 0x3d, 0xda, 0x2f, 0xdc, 0xc8, 0x3e, 0x44 } } | |
| /* {410483CF-F4F9-4ece-848A-1958FD31CEB7} */ | |
| #define SETUP_FORMSET_GUID { 0x410483cf, 0xf4f9, 0x4ece, { 0x84, 0x8a, 0x19, 0x58, 0xfd, 0x31, 0xce, 0xb7 } } | |
| // {BBF1ACD2-28D8-44ea-A291-58A237FEDF1A} | |
| #define SETUP_VARIABLE_GUID { 0xbbf1acd2, 0x28d8, 0x44ea, { 0xa2, 0x91, 0x58, 0xa2, 0x37, 0xfe, 0xdf, 0x1a } } |