File tree 1 file changed +20
-3
lines changed
1 file changed +20
-3
lines changed Original file line number Diff line number Diff line change 2
2
3
3
//! Protocol definitions.
4
4
//!
5
- //! Protocols are sets of related functionality identified by a unique
6
- //! ID. They can be implemented by a UEFI driver or occasionally by a
7
- //! UEFI application.
5
+ //! # TL;DR
6
+ //! Technically, a protocol is a `C` struct holding functions and/or data, with
7
+ //! an associated [`GUID`].
8
+ //!
9
+ //! # About
10
+ //! UEFI protocols are a structured collection of functions and/or data,
11
+ //! identified by a [`GUID`], which defines an interface between components in
12
+ //! the UEFI environment, such as between drivers, applications, or firmware
13
+ //! services.
14
+ //!
15
+ //! Protocols are central to UEFI’s handle-based object model, and they provide
16
+ //! a clean, extensible way for components to discover and use services from one
17
+ //! another.
18
+ //!
19
+ //! Implementation-wise, a protocol is a `C` struct holding function pointers
20
+ //! and/or data. Please note that some protocols may use [`core::ptr::null`] as
21
+ //! interface. For example, the device path protocol can be implemented but
22
+ //! return `null`.
23
+ //!
24
+ //! [`GUID`]: crate::Guid
8
25
9
26
pub mod ata;
10
27
pub mod block;
You can’t perform that action at this time.
0 commit comments