mirror of
https://github.com/justinian/j6-uefi-headers.git
synced 2025-12-10 00:24:32 -08:00
Add runtime_services
This commit is contained in:
51
include/uefi/runtime_services.h
Normal file
51
include/uefi/runtime_services.h
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
#pragma once
|
||||||
|
#ifndef _uefi_runtime_services_h_
|
||||||
|
#define _uefi_runtime_services_h_
|
||||||
|
|
||||||
|
// This Source Code Form is part of the j6-uefi-headers project and is subject
|
||||||
|
// to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was
|
||||||
|
// not distributed with this file, You can obtain one at
|
||||||
|
// http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <uefi/tables.h>
|
||||||
|
|
||||||
|
namespace uefi {
|
||||||
|
namespace rs_impl {
|
||||||
|
using convert_pointer = uefi::status (*)(uint64_t, void **);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct runtime_services {
|
||||||
|
static constexpr uint64_t signature = 0x56524553544e5552ull;
|
||||||
|
|
||||||
|
table_header header;
|
||||||
|
|
||||||
|
// Time Services
|
||||||
|
void *get_time;
|
||||||
|
void *set_time;
|
||||||
|
void *get_wakeup_time;
|
||||||
|
void *set_wakeup_time;
|
||||||
|
|
||||||
|
// Virtual Memory Services
|
||||||
|
void *set_virtual_address_map;
|
||||||
|
rs_impl::convert_pointer convert_pointer;
|
||||||
|
|
||||||
|
// Variable Services
|
||||||
|
void *get_variable;
|
||||||
|
void *get_next_variable_name;
|
||||||
|
void *set_variable;
|
||||||
|
|
||||||
|
// Miscellaneous Services
|
||||||
|
void *get_next_high_monotonic_count;
|
||||||
|
void *reset_system;
|
||||||
|
|
||||||
|
// UEFI 2.0 Capsule Services
|
||||||
|
void *update_capsule;
|
||||||
|
void *query_capsule_capabilities;
|
||||||
|
|
||||||
|
// Miscellaneous UEFI 2.0 Service
|
||||||
|
void *query_variable_info;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace uefi
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user