]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHiiFormValues.h
SecurityPkg OpalPasswordDxe: Change BlockSid position.
[mirror_edk2.git] / SecurityPkg / Tcg / Opal / OpalPasswordDxe / OpalHiiFormValues.h
1 /** @file
2 Defines Opal HII form ids, structures and values.
3
4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15
16 #ifndef _OPAL_HII_FORM_VALUES_H_
17 #define _OPAL_HII_FORM_VALUES_H_
18
19 // Maximum Opal password Length
20 #define MAX_PASSWORD_CHARACTER_LENGTH 0x14
21
22 // PSID Length
23 #define PSID_CHARACTER_LENGTH 0x20
24
25 // ID's for various forms that will be used by HII
26 #define FORMID_VALUE_MAIN_MENU 0x01
27 #define FORMID_VALUE_DISK_INFO_FORM_MAIN 0x02
28 #define FORMID_VALUE_DISK_ACTION_FORM 0x03
29
30 // Structure defining the OPAL_HII_CONFIGURATION
31 #pragma pack(1)
32 typedef struct {
33 UINT8 NumDisks;
34 UINT8 SelectedDiskIndex;
35 UINT8 SelectedAction;
36 UINT16 SelectedDiskAvailableActions;
37 UINT16 SupportedDisks;
38 UINT8 KeepUserData;
39 UINT16 AvailableFields;
40 UINT16 Password[MAX_PASSWORD_CHARACTER_LENGTH];
41 UINT16 Psid[PSID_CHARACTER_LENGTH];
42 UINT8 EnableBlockSid;
43 } OPAL_HII_CONFIGURATION;
44 #pragma pack()
45
46 /* Action Flags */
47 #define HII_ACTION_NONE 0x0000
48 #define HII_ACTION_LOCK 0x0001
49 #define HII_ACTION_UNLOCK 0x0002
50 #define HII_ACTION_SET_ADMIN_PWD 0x0004
51 #define HII_ACTION_SET_USER_PWD 0x0008
52 #define HII_ACTION_SECURE_ERASE 0x0010
53 #define HII_ACTION_PSID_REVERT 0x0020
54 #define HII_ACTION_DISABLE_USER 0x0040
55 #define HII_ACTION_REVERT 0x0080
56 #define HII_ACTION_DISABLE_FEATURE 0x0100
57 #define HII_ACTION_ENABLE_FEATURE 0x0200
58
59 /* Flags for diskActionAvailableFields */
60 #define HII_FIELD_PASSWORD 0x0001
61 #define HII_FIELD_PSID 0x0002
62 #define HII_FIELD_KEEP_USER_DATA 0x0004
63 #define HII_FIELD_KEEP_USER_DATA_FORCED 0x0008
64
65 /* Number of bits allocated for each part of a unique key for an HII_ITEM
66 * all bits together must be <= 16 (EFI_QUESTION_ID is UINT16)
67 * 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
68 * | |-----------------------| |---------------------------|
69 * FLG INDEX ID
70 */
71 #define HII_KEY_ID_BITS 8
72 #define HII_KEY_INDEX_BITS 7
73 #define HII_KEY_FLAG_BITS 1
74
75 #define HII_KEY_FLAG 0x8000 // bit 15 (zero based)
76
77 /***********/
78 /* Key IDs */
79 /***********/
80
81 #define HII_KEY_ID_GOTO_MAIN_MENU 0
82 #define HII_KEY_ID_GOTO_DISK_INFO 1
83 #define HII_KEY_ID_GOTO_LOCK 2
84 #define HII_KEY_ID_GOTO_UNLOCK 3
85 #define HII_KEY_ID_GOTO_SET_ADMIN_PWD 4
86 #define HII_KEY_ID_GOTO_SET_USER_PWD 5
87 #define HII_KEY_ID_GOTO_SECURE_ERASE 6
88 #define HII_KEY_ID_GOTO_PSID_REVERT 7
89 #define HII_KEY_ID_GOTO_REVERT 8
90 #define HII_KEY_ID_GOTO_DISABLE_USER 9
91 #define HII_KEY_ID_GOTO_ENABLE_FEATURE 0xA //10
92 #define HII_KEY_ID_GOTO_CONFIRM_TO_MAIN_MENU 0xB //11
93 #define HII_KEY_ID_ENTER_PASSWORD 0xC //12
94 #define HII_KEY_ID_ENTER_PSID 0xD //13
95 #define HII_KEY_ID_VAR_SUPPORTED_DISKS 0xE //14
96 #define HII_KEY_ID_VAR_SELECTED_DISK_AVAILABLE_ACTIONS 0xF //15
97
98 #define HII_KEY_ID_BLOCKSID 0x17 //23
99 #define HII_KEY_ID_MAX 0x17 //23 // !!Update each time a new ID is added!!
100
101 #define HII_KEY_WITH_INDEX(id, index) \
102 ( \
103 HII_KEY_FLAG | \
104 (id) | \
105 ((index) << HII_KEY_ID_BITS) \
106 )
107
108 #define HII_KEY(id) HII_KEY_WITH_INDEX(id, 0)
109
110 #define PACKAGE_LIST_GUID { 0xf0308176, 0x9058, 0x4153, { 0x93, 0x3d, 0xda, 0x2f, 0xdc, 0xc8, 0x3e, 0x44 } }
111
112 /* {410483CF-F4F9-4ece-848A-1958FD31CEB7} */
113 #define SETUP_FORMSET_GUID { 0x410483cf, 0xf4f9, 0x4ece, { 0x84, 0x8a, 0x19, 0x58, 0xfd, 0x31, 0xce, 0xb7 } }
114
115 // {BBF1ACD2-28D8-44ea-A291-58A237FEDF1A}
116 #define SETUP_VARIABLE_GUID { 0xbbf1acd2, 0x28d8, 0x44ea, { 0xa2, 0x91, 0x58, 0xa2, 0x37, 0xfe, 0xdf, 0x1a } }
117
118 #endif //_HII_FORM_VALUES_H_
119