1 /** @file
2   Include file for platform variable cleanup HII.
3 
4 Copyright (c) 2015, 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 #ifndef _PLAT_VAR_CLEANUP_HII_
16 #define _PLAT_VAR_CLEANUP_HII_
17 
18 //
19 // {24F14D8A-D7A8-4991-91E0-96C3B7DB8456}
20 //
21 #define VARIABLE_CLEANUP_HII_GUID \
22   { \
23     0x24f14d8a, 0xd7a8, 0x4991, { 0x91, 0xe0, 0x96, 0xc3, 0xb7, 0xdb, 0x84, 0x56 } \
24   }
25 
26 #define MAX_USER_VARIABLE_COUNT         0x1000
27 
28 typedef struct {
29   UINT8   SelectAll;
30   //
31   // FALSE is to not delete, TRUE is to delete.
32   //
33   UINT8   UserVariable[MAX_USER_VARIABLE_COUNT];
34 } VARIABLE_CLEANUP_DATA;
35 
36 #define VARIABLE_CLEANUP_VARSTORE_ID    0x8000
37 
38 //
39 // Field offset of structure VARIABLE_CLEANUP_DATA
40 //
41 #define VAR_OFFSET(Field)               ((UINTN) &(((VARIABLE_CLEANUP_DATA *) 0)->Field))
42 #define USER_VARIABLE_VAR_OFFSET        (VAR_OFFSET (UserVariable))
43 
44 #define FORM_ID_VARIABLE_CLEANUP        0x8000
45 
46 #define LABEL_START                     0x0000
47 #define LABEL_END                       0xFFFF
48 
49 #define SELECT_ALL_QUESTION_ID          0x7FFD
50 #define SAVE_AND_EXIT_QUESTION_ID       0x7FFE
51 #define NO_SAVE_AND_EXIT_QUESTION_ID    0x7FFF
52 
53 //
54 // Tool automatic generated Question Id start from 1.
55 // In order to avoid to conflict them, the user variable QuestionID offset is defined from 0x8000.
56 //
57 #define USER_VARIABLE_QUESTION_ID       0x8000
58 
59 #endif
60