pub trait Protocol: Identify { }
Expand description

Common trait implemented by all standard UEFI protocols

According to the UEFI’s specification, protocols are !Send (they expect to be run on the bootstrap processor) and !Sync (they are not thread-safe). You can derive the Protocol trait, add these bounds and specify the protocol’s GUID using the following syntax:

#![feature(negative_impls)]
use uefi::{proto::Protocol, unsafe_guid};
#[unsafe_guid("12345678-9abc-def0-1234-56789abcdef0")]
#[derive(Protocol)]
struct DummyProtocol {}

Implementors