uefi_raw/protocol/
string.rs

1// SPDX-License-Identifier: MIT OR Apache-2.0
2
3use crate::{guid, Char16, Char8, Guid};
4
5#[derive(Debug)]
6#[repr(C)]
7pub struct UnicodeCollationProtocol {
8    pub stri_coll:
9        unsafe extern "efiapi" fn(this: *const Self, s1: *const Char16, s2: *const Char16) -> isize,
10    pub metai_match: unsafe extern "efiapi" fn(
11        this: *const Self,
12        string: *const Char16,
13        pattern: *const Char16,
14    ) -> bool,
15    pub str_lwr: unsafe extern "efiapi" fn(this: *const Self, s: *mut Char16),
16    pub str_upr: unsafe extern "efiapi" fn(this: *const Self, s: *mut Char16),
17    pub fat_to_str: unsafe extern "efiapi" fn(
18        this: *const Self,
19        fat_size: usize,
20        fat: *const Char8,
21        s: *mut Char16,
22    ),
23    pub str_to_fat: unsafe extern "efiapi" fn(
24        this: *const Self,
25        s: *const Char16,
26        fat_size: usize,
27        fat: *mut Char8,
28    ) -> bool,
29    pub supported_languages: *const Char8,
30}
31
32impl UnicodeCollationProtocol {
33    pub const GUID: Guid = guid!("a4c751fc-23ae-4c3e-92e9-4964cf63f349");
34}