|
55 | 55 | //!
|
56 | 56 | //! For more details of UEFI itself, see the latest [UEFI Specification][spec].
|
57 | 57 | //!
|
58 |
| -//! #Crate organisation |
| 58 | +//! #Library Structure & Tips |
59 | 59 | //!
|
60 | 60 | //! The top-level module contains some of the most used types and macros,
|
61 | 61 | //! including the [`Handle`] and [`Result`] types, the [`CStr16`] and
|
62 | 62 | //! [`CString16`] types for working with UCS-2 strings, and the [`entry`] and
|
63 | 63 | //! [`guid`] macros.
|
64 | 64 | //!
|
| 65 | +//! ## UEFI Strings |
| 66 | +//! |
| 67 | +//! Rust string literals are UTF-8 encoded and thus, not compatible with most |
| 68 | +//! UEFI interfaces. We provide [`CStr16`] and [`CString16`] for proper working |
| 69 | +//! with UCS-2 strings, including various transformation functions from standard |
| 70 | +//! Rust strings. You can use [`ctr16!`] to create UCS-2 string literals at |
| 71 | +//! compile time. |
| 72 | +//! |
65 | 73 | //! ## Tables
|
66 | 74 | //!
|
67 | 75 | //! The [`SystemTable`] provides access to almost everything in UEFI. It comes
|
|
177 | 185 | //! [`BootServices`]: table::boot::BootServices
|
178 | 186 | //! [`GlobalAlloc`]: alloc::alloc::GlobalAlloc
|
179 | 187 | //! [`SystemTable`]: table::SystemTable
|
| 188 | +//! [`ctr16!`]: crate::cstr16 |
180 | 189 | //! [`unsafe_protocol`]: proto::unsafe_protocol
|
181 | 190 | //! [contributing]: https://github.com/rust-osdev/uefi-rs/blob/main/CONTRIBUTING.md
|
182 | 191 | //! [issue tracker]: https://github.com/rust-osdev/uefi-rs/issues
|
|