r_efi/protocols/
hii_string.rs1pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
4 0xfd96974,
5 0x23aa,
6 0x4cdc,
7 0xb9,
8 0xcb,
9 &[0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a],
10);
11
12pub type ProtocolNewString = eficall! {fn(
13 *const Protocol,
14 crate::hii::Handle,
15 *mut crate::hii::StringId,
16 *const crate::base::Char8,
17 *const crate::base::Char16,
18 super::hii_font::String,
19 *const Info,
20) -> crate::base::Status};
21
22pub type ProtocolGetString = eficall! {fn(
23 *const Protocol,
24 *const crate::base::Char8,
25 crate::hii::Handle,
26 crate::hii::StringId,
27 super::hii_font::String,
28 *mut usize,
29 *mut *mut Info,
30) -> crate::base::Status};
31
32pub type ProtocolSetString = eficall! {fn(
33 *const Protocol,
34 crate::hii::Handle,
35 crate::hii::StringId,
36 *const crate::base::Char8,
37 super::hii_font::String,
38 *const Info,
39) -> crate::base::Status};
40
41pub type ProtocolGetLanguages = eficall! {fn(
42 *const Protocol,
43 crate::hii::Handle,
44 *mut crate::base::Char8,
45 *mut usize,
46) -> crate::base::Status};
47
48pub type ProtocolGetSecondaryLanguages = eficall! {fn(
49 *const Protocol,
50 crate::hii::Handle,
51 *const crate::base::Char8,
52 *mut crate::base::Char8,
53 *mut usize,
54) -> crate::base::Status};
55
56#[repr(C)]
57pub struct Protocol {
58 pub new_string: ProtocolNewString,
59 pub get_string: ProtocolGetString,
60 pub set_string: ProtocolSetString,
61 pub get_languages: ProtocolGetLanguages,
62 pub get_secondary_languages: ProtocolGetSecondaryLanguages,
63}
64
65#[repr(C)]
66#[derive(Clone, Copy, Debug)]
67pub struct Info<const N: usize = 0> {
68 pub font_style: crate::hii::FontStyle,
69 pub font_size: u16,
70 pub font_name: [crate::base::Char16; N],
71}