OvmfPkg/PlatformDxe: list "Platform.h" in the INF file
[mirror_edk2.git] / OvmfPkg / PlatformDxe / PlatformConfig.h
1 /** @file
2
3 Utility functions for serializing (persistently storing) and deserializing
4 OVMF's platform configuration.
5
6 Copyright (C) 2014, Red Hat, Inc.
7
8 This program and the accompanying materials are licensed and made available
9 under the terms and conditions of the BSD License which accompanies this
10 distribution. The full text of the license may be found at
11 http://opensource.org/licenses/bsd-license.php
12
13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
14 WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15
16 **/
17
18 #ifndef _PLATFORM_CONFIG_H_
19 #define _PLATFORM_CONFIG_H_
20
21 #include <Base.h>
22
23 //
24 // This structure participates in driver configuration. It does not
25 // (necessarily) reflect the wire format in the persistent store.
26 //
27 #pragma pack(1)
28 typedef struct {
29 //
30 // preferred graphics console resolution when booting
31 //
32 UINT32 HorizontalResolution;
33 UINT32 VerticalResolution;
34 } PLATFORM_CONFIG;
35 #pragma pack()
36
37 //
38 // Please see the API documentation near the function definitions.
39 //
40 EFI_STATUS
41 EFIAPI
42 PlatformConfigSave (
43 IN PLATFORM_CONFIG *PlatformConfig
44 );
45
46 EFI_STATUS
47 EFIAPI
48 PlatformConfigLoad (
49 OUT PLATFORM_CONFIG *PlatformConfig,
50 OUT UINT64 *OptionalElements
51 );
52
53 //
54 // Feature flags for OptionalElements.
55 //
56 #define PLATFORM_CONFIG_F_GRAPHICS_RESOLUTION BIT0
57 #define PLATFORM_CONFIG_F_DOWNGRADE BIT63
58
59 #endif // _PLATFORM_CONFIG_H_