|
69 | 69 | //! The minimum supported Rust version is currently 1.70.
|
70 | 70 | //! Our policy is to support at least the past two stable releases.
|
71 | 71 | //!
|
72 |
| -//! # Crate organisation |
| 72 | +//! # API/User Documentation, Documentation Structure, and other Resources |
| 73 | +//! |
| 74 | +//! Down below, you find typical technical documentation of all types, modules, |
| 75 | +//! and functions exported by `uefi`. |
| 76 | +//! |
| 77 | +//! For a TL;DR quick start with an example on how to create your own EFI |
| 78 | +//! application, please check out [the UEFI application template][template]. The |
| 79 | +//! [Rust UEFI Book] is a more beginner-friendly tutorial with How-Tos, and |
| 80 | +//! overviews of some important UEFI concepts and the abstractions provided by |
| 81 | +//! this library. |
| 82 | +//! |
| 83 | +//! For more details of UEFI itself, see the latest [UEFI Specification][spec]. |
| 84 | +//! |
| 85 | +//! # Library Structure & Tips |
73 | 86 | //!
|
74 | 87 | //! The top-level module contains some of the most used types and macros,
|
75 | 88 | //! including the [`Handle`] and [`Result`] types, the [`CStr16`] and
|
76 | 89 | //! [`CString16`] types for working with UCS-2 strings, and the [`entry`] and
|
77 | 90 | //! [`guid`] macros.
|
78 | 91 | //!
|
| 92 | +//! ## UEFI Strings |
| 93 | +//! |
| 94 | +//! Rust string literals are UTF-8 encoded and thus, not compatible with most |
| 95 | +//! UEFI interfaces. We provide [`CStr16`] and [`CString16`] for proper working |
| 96 | +//! with UCS-2 strings, including various transformation functions from standard |
| 97 | +//! Rust strings. You can use [`ctr16!`] to create UCS-2 string literals at |
| 98 | +//! compile time. |
| 99 | +//! |
79 | 100 | //! ## Tables
|
80 | 101 | //!
|
81 | 102 | //! The [`SystemTable`] provides access to almost everything in UEFI. It comes
|
|
186 | 207 | //! [`SystemTable`]: table::SystemTable
|
187 | 208 | //! [`r-efi`]: https://crates.io/crates/r-efi
|
188 | 209 | //! [`entry-macro`]: uefi_macros::entry
|
| 210 | +//! [`ctr16!`]: crate::cstr16 |
189 | 211 | //! [`unsafe_protocol`]: proto::unsafe_protocol
|
190 | 212 | //! [contributing]: https://github.com/rust-osdev/uefi-rs/blob/main/CONTRIBUTING.md
|
191 | 213 | //! [issue tracker]: https://github.com/rust-osdev/uefi-rs/issues
|
192 | 214 | //! [spec]: https://uefi.org/specifications
|
| 215 | +//! [template]: https://github.com/rust-osdev/uefi-rs/tree/main/template |
193 | 216 | //! [unstable features]: https://doc.rust-lang.org/unstable-book/
|
194 | 217 | //! [rustc-uefi-std]: https://doc.rust-lang.org/nightly/rustc/platform-support/unknown-uefi.html
|
195 | 218 | //! [uefi-std-tr-issue]: https://github.com/rust-lang/rust/issues/100499
|
|
0 commit comments