1 /** @file 2 Defines Opal HII form ids, structures and values. 3 4 Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR> 5 SPDX-License-Identifier: BSD-2-Clause-Patent 6 7 **/ 8 9 10 #ifndef _OPAL_HII_FORM_VALUES_H_ 11 #define _OPAL_HII_FORM_VALUES_H_ 12 13 // ID's for various forms that will be used by HII 14 #define FORMID_VALUE_MAIN_MENU 0x01 15 #define FORMID_VALUE_DISK_INFO_FORM_MAIN 0x02 16 17 #pragma pack(1) 18 typedef struct { 19 UINT16 Lock:1; 20 UINT16 Unlock:1; 21 UINT16 SetAdminPwd:1; 22 UINT16 SetUserPwd:1; 23 UINT16 SecureErase:1; 24 UINT16 Revert:1; 25 UINT16 PsidRevert:1; 26 UINT16 DisableUser:1; 27 UINT16 DisableFeature:1; 28 UINT16 EnableFeature:1; 29 UINT16 Reserved:5; 30 UINT16 KeepUserData:1; 31 } OPAL_REQUEST; 32 33 typedef struct { 34 UINT8 NumDisks; 35 UINT8 SelectedDiskIndex; 36 UINT16 SelectedDiskAvailableActions; 37 UINT16 SupportedDisks; 38 BOOLEAN KeepUserDataForced; 39 OPAL_REQUEST OpalRequest; 40 UINT8 EnableBlockSid; 41 } OPAL_HII_CONFIGURATION; 42 43 #pragma pack() 44 45 /* Action Flags */ 46 #define HII_ACTION_NONE 0x0000 47 #define HII_ACTION_LOCK 0x0001 48 #define HII_ACTION_UNLOCK 0x0002 49 #define HII_ACTION_SET_ADMIN_PWD 0x0004 50 #define HII_ACTION_SET_USER_PWD 0x0008 51 #define HII_ACTION_SECURE_ERASE 0x0010 52 #define HII_ACTION_REVERT 0x0020 53 #define HII_ACTION_PSID_REVERT 0x0040 54 #define HII_ACTION_DISABLE_USER 0x0080 55 #define HII_ACTION_DISABLE_FEATURE 0x0100 56 #define HII_ACTION_ENABLE_FEATURE 0x0200 57 58 /* Number of bits allocated for each part of a unique key for an HII_ITEM 59 * all bits together must be <= 16 (EFI_QUESTION_ID is UINT16) 60 * 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 61 * | |-----------------------| |---------------------------| 62 * FLG INDEX ID 63 */ 64 #define HII_KEY_ID_BITS 8 65 #define HII_KEY_INDEX_BITS 7 66 #define HII_KEY_FLAG_BITS 1 67 68 #define HII_KEY_FLAG 0x8000 // bit 15 (zero based) 69 70 /***********/ 71 /* Key IDs */ 72 /***********/ 73 74 #define HII_KEY_ID_GOTO_DISK_INFO 1 75 76 #define HII_KEY_ID_VAR_SUPPORTED_DISKS 2 77 #define HII_KEY_ID_VAR_SELECTED_DISK_AVAILABLE_ACTIONS 3 78 79 #define HII_KEY_ID_BLOCKSID 4 80 #define HII_KEY_ID_SET_ADMIN_PWD 5 81 #define HII_KEY_ID_SET_USER_PWD 6 82 #define HII_KEY_ID_SECURE_ERASE 7 83 #define HII_KEY_ID_REVERT 8 84 #define HII_KEY_ID_KEEP_USER_DATA 9 85 #define HII_KEY_ID_PSID_REVERT 0xA 86 #define HII_KEY_ID_DISABLE_USER 0xB 87 #define HII_KEY_ID_ENABLE_FEATURE 0xC 88 89 #define HII_KEY_ID_MAX 0xC // !!Update each time a new ID is added!! 90 91 #define HII_KEY_WITH_INDEX(id, index) \ 92 ( \ 93 HII_KEY_FLAG | \ 94 (id) | \ 95 ((index) << HII_KEY_ID_BITS) \ 96 ) 97 98 #define HII_KEY(id) HII_KEY_WITH_INDEX(id, 0) 99 100 #define PACKAGE_LIST_GUID { 0xf0308176, 0x9058, 0x4153, { 0x93, 0x3d, 0xda, 0x2f, 0xdc, 0xc8, 0x3e, 0x44 } } 101 102 /* {410483CF-F4F9-4ece-848A-1958FD31CEB7} */ 103 #define SETUP_FORMSET_GUID { 0x410483cf, 0xf4f9, 0x4ece, { 0x84, 0x8a, 0x19, 0x58, 0xfd, 0x31, 0xce, 0xb7 } } 104 105 // {BBF1ACD2-28D8-44ea-A291-58A237FEDF1A} 106 #define SETUP_VARIABLE_GUID { 0xbbf1acd2, 0x28d8, 0x44ea, { 0xa2, 0x91, 0x58, 0xa2, 0x37, 0xfe, 0xdf, 0x1a } } 107 108 #endif //_HII_FORM_VALUES_H_ 109 110