uefi_raw/protocol/network/
tls.rs

1use crate::{guid, Guid, Status};
2use core::ffi::c_void;
3
4newtype_enum! {
5    pub enum TlsConfigDataType: i32 => {
6        HOST_PUBLIC_CERT     = 0,
7        HOST_PRIVATE_KEY     = 1,
8        CA_CERTIFICATE       = 2,
9        CERT_REVOCATION_LIST = 3,
10        MAXIMUM              = 4,
11    }
12}
13
14#[derive(Debug)]
15#[repr(C)]
16pub struct TlsConfigurationProtocol {
17    pub set_data: unsafe extern "efiapi" fn(
18        this: *mut Self,
19        typ: TlsConfigDataType,
20        data: *const c_void,
21        size: usize,
22    ) -> Status,
23
24    pub get_data: unsafe extern "efiapi" fn(
25        this: *const Self,
26        typ: TlsConfigDataType,
27        data: *mut c_void,
28        size: *mut usize,
29    ) -> Status,
30}
31
32impl TlsConfigurationProtocol {
33    pub const GUID: Guid = guid!("1682fe44-bd7a-4407-b7c7-dca37ca3922d");
34    pub const SERVICE_BINDING_GUID: Guid = guid!("952cb795-ff36-48cf-a249-4df486d6ab8d");
35}