mirror of
https://github.com/justinian/j6-uefi-headers.git
synced 2025-12-09 16:14:31 -08:00
Add create_event to boot services
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
namespace uefi {
|
namespace uefi {
|
||||||
namespace bs_impl {
|
namespace bs_impl {
|
||||||
using allocate_pages = status (*)(allocate_type, memory_type, uint64_t, uintptr_t*);
|
using allocate_pages = status (*)(allocate_type, memory_type, uint64_t, uintptr_t*);
|
||||||
|
using create_event = status (*)(evt, tpl, event_notify, void*, event*);
|
||||||
using locate_protocol = status (*)(const guid *, void *, void **);
|
using locate_protocol = status (*)(const guid *, void *, void **);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,7 +35,7 @@ struct boot_services {
|
|||||||
void *free_pool;
|
void *free_pool;
|
||||||
|
|
||||||
// Event & Timer Services
|
// Event & Timer Services
|
||||||
void *create_event;
|
bs_impl::create_event create_event;
|
||||||
void *set_timer;
|
void *set_timer;
|
||||||
void *wait_for_event;
|
void *wait_for_event;
|
||||||
void *signal_event;
|
void *signal_event;
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
namespace uefi {
|
namespace uefi {
|
||||||
|
|
||||||
using handle = void *;
|
using handle = void *;
|
||||||
|
using event = void *;
|
||||||
|
|
||||||
constexpr uint64_t error_bit = 0x8000000000000000ull;
|
constexpr uint64_t error_bit = 0x8000000000000000ull;
|
||||||
constexpr uint64_t make_error(uint64_t e) { return e|error_bit; }
|
constexpr uint64_t make_error(uint64_t e) { return e|error_bit; }
|
||||||
@@ -57,6 +58,28 @@ enum class allocate_type : uint32_t
|
|||||||
address
|
address
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class evt : uint32_t
|
||||||
|
{
|
||||||
|
notify_wait = 0x00000100,
|
||||||
|
notify_signal = 0x00000200,
|
||||||
|
|
||||||
|
signal_exit_boot_services = 0x00000201,
|
||||||
|
signal_virtual_address_change = 0x60000201,
|
||||||
|
|
||||||
|
runtime = 0x40000000,
|
||||||
|
timer = 0x80000000
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class tpl : uint64_t
|
||||||
|
{
|
||||||
|
application = 4,
|
||||||
|
callback = 8,
|
||||||
|
notify = 16,
|
||||||
|
high_level = 31
|
||||||
|
};
|
||||||
|
|
||||||
|
using event_notify = status (*)(event, void*);
|
||||||
|
|
||||||
} // namespace uefi
|
} // namespace uefi
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user