]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Guid/RtPropertiesTable.h
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Include / Guid / RtPropertiesTable.h
1 /** @file
2 Guid & data structure for EFI_RT _PROPERTIES_TABLE, designed to be published by a
3 platform if it no longer supports all EFI runtime services once ExitBootServices()
4 has been called by the OS. Introduced in UEFI 2.8a.
5
6
7 Copyright (c) 2020, American Megatrends International LLC. All rights reserved.<BR>
8 SPDX-License-Identifier: BSD-2-Clause-Patent
9
10 **/
11
12 #ifndef __RT_PROPERTIES_TABLE_GUID_H__
13 #define __RT_PROPERTIES_TABLE_GUID_H__
14
15 //
16 // Table, defined here, should be published by a platform if it no longer supports all EFI runtime
17 // services once ExitBootServices() has been called by the OS. Note that this is merely a hint
18 // to the OS, which it is free to ignore, and so the platform is still required to provide callable
19 // implementations of unsupported runtime services that simply return EFI_UNSUPPORTED.
20 //
21 #define EFI_RT_PROPERTIES_TABLE_GUID \
22 { 0xeb66918a, 0x7eef, 0x402a, \
23 { 0x84, 0x2e, 0x93, 0x1d, 0x21, 0xc3, 0x8a, 0xe9 }}
24
25
26
27
28 #pragma pack(1)
29
30 typedef struct {
31 ///
32 /// Version of the structure, must be 0x1.
33 ///
34 UINT16 Version;
35
36 ///
37 /// Size in bytes of the entire EFI_RT_PROPERTIES_TABLE, must be 8.
38 ///
39 UINT16 Length;
40
41 ///
42 /// Bitmask of which calls are or are not supported, where a bit set to 1 indicates
43 /// that the call is supported, and 0 indicates that it is not.
44 ///
45 UINT32 RuntimeServicesSupported;
46 } EFI_RT_PROPERTIES_TABLE;
47
48 #pragma pack()
49
50 #define EFI_RT_PROPERTIES_TABLE_VERSION 0x1
51
52 #define EFI_RT_SUPPORTED_GET_TIME 0x0001
53 #define EFI_RT_SUPPORTED_SET_TIME 0x0002
54 #define EFI_RT_SUPPORTED_GET_WAKEUP_TIME 0x0004
55 #define EFI_RT_SUPPORTED_SET_WAKEUP_TIME 0x0008
56 #define EFI_RT_SUPPORTED_GET_VARIABLE 0x0010
57 #define EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME 0x0020
58 #define EFI_RT_SUPPORTED_SET_VARIABLE 0x0040
59 #define EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP 0x0080
60 #define EFI_RT_SUPPORTED_CONVERT_POINTER 0x0100
61 #define EFI_RT_SUPPORTED_GET_NEXT_HIGH_MONOTONIC_COUNT 0x0200
62 #define EFI_RT_SUPPORTED_RESET_SYSTEM 0x0400
63 #define EFI_RT_SUPPORTED_UPDATE_CAPSULE 0x0800
64 #define EFI_RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES 0x1000
65 #define EFI_RT_SUPPORTED_QUERY_VARIABLE_INFO 0x2000
66
67 extern EFI_GUID gEfiRtPropertiesTableGuid;
68
69 #endif