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