dyspxkrypt_libuefi/
types.rs1use core::ffi::c_void;
20use core::ptr::null_mut;
21
22pub const NULL: *mut VOID = null_mut();
23
24pub type BOOLEAN = u8;
25
26pub type INTN = isize;
27
28pub type UINTN = usize;
29
30pub type INT8 = i8;
31
32pub type UINT8 = u8;
33
34pub type INT16 = i16;
35
36pub type UINT16 = u16;
37
38pub type INT32 = i32;
39
40pub type UINT32 = u32;
41
42pub type INT64 = i64;
43
44pub type UINT64 = u64;
45
46pub type INT128 = i64;
47
48pub type UINT128 = u64;
49
50pub type CHAR8 = u8;
51
52pub type CHAR16 = u16;
53
54pub type VOID = c_void;
55
56#[derive(Clone, Copy)]
57#[repr(C)]
58pub struct EFI_GUID {
59 pub Data1: UINT32,
60 pub Data2: UINT16,
61 pub Data3: UINT16,
62 pub Data4: [UINT8; 8],
63}
64
65impl EFI_GUID {
66 pub const unsafe fn from_raw_parts(
67 Data1: UINT32,
68 Data2: UINT16,
69 Data3: UINT16,
70 Data4: [UINT8; 8],
71 ) -> Self {
72 Self {
73 Data1,
74 Data2,
75 Data3,
76 Data4,
77 }
78 }
79}
80
81pub type EFI_STATUS = UINTN;
82
83pub type EFI_HANDLE = *mut VOID;
84
85pub type EFI_EVENT = *mut VOID;
86
87pub type EFI_LBA = UINT64;
88
89pub type EFI_TPL = UINTN;
90
91#[derive(Clone, Copy)]
92#[repr(C)]
93pub struct EFI_MAC_ADDRESS(pub [UINT8; 32]);
94
95#[derive(Clone, Copy)]
96#[repr(C)]
97pub struct EFI_IPv4_ADDRESS(pub [UINT8; 4]);
98
99#[derive(Clone, Copy)]
100#[repr(C)]
101pub struct EFI_IPv6_ADDRESS(pub [UINT8; 16]);
102
103#[derive(Clone, Copy)]
104#[repr(C)]
105pub union EFI_IP_ADDRESS {
106 __: [UINT32; 4],
107
108 pub v4: EFI_IPv4_ADDRESS,
109
110 pub v6: EFI_IPv6_ADDRESS,
111}