limine_protocol_for_rust/requests/
executable_address.rs1use crate::requests::LimineRequest;
4use core::mem::MaybeUninit;
5use crate::{impl_limine_req, LimineReqId};
6
7#[repr(C, align(8))]
8pub struct ExecutableAddressRequest {
9 id: LimineReqId,
10 revision: u64,
11 resp: MaybeUninit<usize>
12}
13
14impl ExecutableAddressRequest {
15 pub const fn new(revision: u64) -> Self {
16 Self {
17 id: LimineReqId::new([0x71ba76863cc55f63, 0xb2644a48c516a487]),
18 revision,
19 resp: MaybeUninit::uninit()
20 }
21 }
22}
23
24impl_limine_req!(ExecutableAddressRequest, ExecutableAddressResponse);
25
26#[repr(C, align(8))]
27#[derive(Copy, Clone)]
28pub struct ExecutableAddressResponse {
29 revision: u64,
30 pub physical_base: usize,
31 pub virtual_base: usize
32}