]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/DriverSampleDxe/DriverSample.h
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Universal / DriverSampleDxe / DriverSample.h
CommitLineData
0bb0f8b8 1/** @file\r
2\r
dfc55275 3Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
9d510e61 4SPDX-License-Identifier: BSD-2-Clause-Patent\r
0bb0f8b8 5\r
6Module Name:\r
7\r
8 DriverSample.h\r
9\r
10Abstract:\r
11\r
12\r
13Revision History\r
14\r
15\r
16**/\r
17\r
7064c0a5 18#ifndef _DRIVER_SAMPLE_H_\r
19#define _DRIVER_SAMPLE_H_\r
0bb0f8b8 20\r
21#include <Uefi.h>\r
22\r
23#include <Protocol/HiiConfigRouting.h>\r
24#include <Protocol/FormBrowser2.h>\r
25#include <Protocol/HiiConfigAccess.h>\r
26#include <Protocol/HiiDatabase.h>\r
27#include <Protocol/HiiString.h>\r
2b826e21 28#include <Protocol/FormBrowserEx.h>\r
34326197 29#include <Protocol/HiiConfigKeyword.h>\r
dfc55275 30#include <Protocol/HiiPopup.h>\r
0bb0f8b8 31\r
5c526736 32#include <Guid/MdeModuleHii.h>\r
0bb0f8b8 33#include <Library/DebugLib.h>\r
cb7d01c0 34#include <Library/BaseLib.h>\r
0bb0f8b8 35#include <Library/BaseMemoryLib.h>\r
36#include <Library/UefiRuntimeServicesTableLib.h>\r
37#include <Library/UefiDriverEntryPoint.h>\r
38#include <Library/UefiBootServicesTableLib.h>\r
39#include <Library/MemoryAllocationLib.h>\r
0bb0f8b8 40#include <Library/HiiLib.h>\r
f6f910dd 41#include <Library/DevicePathLib.h>\r
84f9a9ec 42#include <Library/PrintLib.h>\r
a6973cff 43#include <Library/UefiLib.h>\r
0bb0f8b8 44\r
0bb0f8b8 45#include "NVDataStruc.h"\r
46\r
0bb0f8b8 47//\r
48// This is the generated IFR binary data for each formset defined in VFR.\r
cb7d01c0 49// This data array is ready to be used as input of HiiAddPackages() to\r
0bb0f8b8 50// create a packagelist (which contains Form packages, String packages, etc).\r
51//\r
52extern UINT8 VfrBin[];\r
53extern UINT8 InventoryBin[];\r
54\r
55//\r
56// This is the generated String package data for all .UNI files.\r
cb7d01c0 57// This data array is ready to be used as input of HiiAddPackages() to\r
0bb0f8b8 58// create a packagelist (which contains Form packages, String packages, etc).\r
59//\r
60extern UINT8 DriverSampleStrings[];\r
61\r
36dadb8a 62#define DYNAMIC_ONE_OF_VAR_OFFSET OFFSET_OF (DRIVER_SAMPLE_CONFIGURATION, DynamicOneof)\r
63#define DYNAMIC_ORDERED_LIST_VAR_OFFSET OFFSET_OF (DRIVER_SAMPLE_CONFIGURATION, DynamicOrderedList)\r
0bb0f8b8 64\r
1436aea4
MK
65#define DEFAULT_CLASS_MANUFACTURING_VALUE 0xFF\r
66#define DEFAULT_CLASS_STANDARD_VALUE 0x0\r
ee31d1be 67\r
38ebfecb
LG
68//\r
69// Number of name in Name/Value storage\r
70//\r
1436aea4 71#define NAME_VALUE_NAME_NUMBER 3\r
38ebfecb 72\r
1436aea4 73#define DRIVER_SAMPLE_PRIVATE_SIGNATURE SIGNATURE_32 ('D', 'S', 'p', 's')\r
0bb0f8b8 74\r
75typedef struct {\r
1436aea4 76 UINTN Signature;\r
0bb0f8b8 77\r
1436aea4
MK
78 EFI_HANDLE DriverHandle[2];\r
79 EFI_HII_HANDLE HiiHandle[2];\r
80 DRIVER_SAMPLE_CONFIGURATION Configuration;\r
81 MY_EFI_VARSTORE_DATA VarStoreConfig;\r
82 MY_EFI_BITS_VARSTORE_DATA BitsVarStoreConfig;\r
83 MY_EFI_UNION_DATA UnionConfig;\r
0bb0f8b8 84\r
38ebfecb
LG
85 //\r
86 // Name/Value storage Name list\r
87 //\r
1436aea4
MK
88 EFI_STRING_ID NameStringId[NAME_VALUE_NAME_NUMBER];\r
89 EFI_STRING NameValueName[NAME_VALUE_NAME_NUMBER];\r
38ebfecb 90\r
0bb0f8b8 91 //\r
92 // Consumed protocol\r
93 //\r
1436aea4
MK
94 EFI_HII_DATABASE_PROTOCOL *HiiDatabase;\r
95 EFI_HII_STRING_PROTOCOL *HiiString;\r
96 EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;\r
97 EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *HiiKeywordHandler;\r
98 EFI_HII_POPUP_PROTOCOL *HiiPopup;\r
34326197 99\r
1436aea4 100 EFI_FORM_BROWSER2_PROTOCOL *FormBrowser2;\r
0bb0f8b8 101\r
102 //\r
103 // Produced protocol\r
104 //\r
1436aea4 105 EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;\r
0bb0f8b8 106} DRIVER_SAMPLE_PRIVATE_DATA;\r
107\r
108#define DRIVER_SAMPLE_PRIVATE_FROM_THIS(a) CR (a, DRIVER_SAMPLE_PRIVATE_DATA, ConfigAccess, DRIVER_SAMPLE_PRIVATE_SIGNATURE)\r
109\r
f6f910dd 110#pragma pack(1)\r
111\r
112///\r
113/// HII specific Vendor Device Path definition.\r
114///\r
115typedef struct {\r
1436aea4
MK
116 VENDOR_DEVICE_PATH VendorDevicePath;\r
117 EFI_DEVICE_PATH_PROTOCOL End;\r
f6f910dd 118} HII_VENDOR_DEVICE_PATH;\r
119\r
120#pragma pack()\r
121\r
0bb0f8b8 122#endif\r