126 lines · 1.9 KB · Rust
RawDownload
// SPDX-License-Identifier: GPL-2.0 //! The `kernel` prelude.//!//! These are the most common items used by Rust code in the kernel,//! intended to be imported by all Rust code, for convenience.//!//! # Examples//!//! ```//! use kernel::prelude::*;//! ``` #[doc(no_inline)]pub use core::{    mem::{        align_of,        align_of_val,        size_of,        size_of_val, //    },    pin::Pin, //}; #[doc(no_inline)]pub use ::ffi::{    c_char,    c_int,    c_long,    c_longlong,    c_schar,    c_short,    c_uchar,    c_uint,    c_ulong,    c_ulonglong,    c_ushort,    c_void,    CStr, //}; #[doc(no_inline)]pub use macros::{    export,    fmt,    kunit_tests,    module,    vtable, //}; #[doc(no_inline)]pub use pin_init::{    init,    pin_data,    pin_init,    pinned_drop,    InPlaceWrite,    Init,    PinInit,    Zeroable, //}; #[doc(no_inline)]pub use zerocopy::{    FromBytes,    IntoBytes, //}; #[doc(no_inline)]pub use zerocopy_derive::{    FromBytes,    IntoBytes, //}; #[doc(no_inline)]pub use super::{    alloc::{        flags::*,        Box,        KBox,        KVBox,        KVVec,        KVec,        VBox,        VVec,        Vec, //    },    build_assert::{        build_assert,        build_error,        const_assert,        static_assert, //    },    current,    dev_alert,    dev_crit,    dev_dbg,    dev_emerg,    dev_err,    dev_info,    dev_notice,    dev_warn,    error::{        code::*,        Error,        Result, //    },    init::InPlaceInit,    pr_alert,    pr_crit,    pr_debug,    pr_emerg,    pr_err,    pr_info,    pr_notice,    pr_warn,    str::CStrExt as _,    try_init,    try_pin_init,    uaccess::UserPtr,    ThisModule, //}; // `super::std_vendor` is hidden, which makes the macro inline for some reason.#[doc(no_inline)]pub use super::dbg;