]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Guid/RtPropertiesTable.h
MdePkg: 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 #pragma pack(1)
26
27 typedef struct {
28 ///
29 /// Version of the structure, must be 0x1.
30 ///
31 UINT16 Version;
32
33 ///
34 /// Size in bytes of the entire EFI_RT_PROPERTIES_TABLE, must be 8.
35 ///
36 UINT16 Length;
37
38 ///
39 /// Bitmask of which calls are or are not supported, where a bit set to 1 indicates
40 /// that the call is supported, and 0 indicates that it is not.
41 ///
42 UINT32 RuntimeServicesSupported;
43 } EFI_RT_PROPERTIES_TABLE;
44
45 #pragma pack()
46
47 #define EFI_RT_PROPERTIES_TABLE_VERSION 0x1
48
49 #define EFI_RT_SUPPORTED_GET_TIME 0x0001
50 #define EFI_RT_SUPPORTED_SET_TIME 0x0002
51 #define EFI_RT_SUPPORTED_GET_WAKEUP_TIME 0x0004
52 #define EFI_RT_SUPPORTED_SET_WAKEUP_TIME 0x0008
53 #define EFI_RT_SUPPORTED_GET_VARIABLE 0x0010
54 #define EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME 0x0020
55 #define EFI_RT_SUPPORTED_SET_VARIABLE 0x0040
56 #define EFI_RT_SUPPORTED_SET_VIRTUAL_ADDRESS_MAP 0x0080
57 #define EFI_RT_SUPPORTED_CONVERT_POINTER 0x0100
58 #define EFI_RT_SUPPORTED_GET_NEXT_HIGH_MONOTONIC_COUNT 0x0200
59 #define EFI_RT_SUPPORTED_RESET_SYSTEM 0x0400
60 #define EFI_RT_SUPPORTED_UPDATE_CAPSULE 0x0800
61 #define EFI_RT_SUPPORTED_QUERY_CAPSULE_CAPABILITIES 0x1000
62 #define EFI_RT_SUPPORTED_QUERY_VARIABLE_INFO 0x2000
63
64 extern EFI_GUID gEfiRtPropertiesTableGuid;
65
66 #endif