VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/DriverSampleDxe/DriverSample.h

Last change on this file was 99404, checked in by vboxsync, 14 months ago

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

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

© 2023 Oracle
ContactPrivacy policyTerms of Use