Lines Matching full:bitfield
5 //! The [`bitfield!`](kernel::bitfield!) macro declares integer types that are split into distinct
12 //! use kernel::bitfield;
15 //! bitfield! {
50 //! bitfield! {
80 //! The macro generates the bitfield type, [`From`] and [`Into`] implementations for its storage
95 //! Field identifiers are used to generate methods and associated constants on the bitfield type.
101 //! any field in the same bitfield. The following prefixes are thus reserved for field identifiers:
119 //! use kernel::bitfield;
121 //! bitfield! {
140 //! use kernel::bitfield;
142 //! bitfield! {
166 //! use kernel::bitfield;
190 //! bitfield! {
205 //! use kernel::bitfield;
239 //! bitfield! {
259 //! use kernel::bitfield;
261 //! bitfield! {
280 //! Bitfield storage types are unsigned. Since field getter methods return a [`Bounded`] of the
288 /// Defines a bitfield struct with bounds-checked accessors for individual bit ranges.
290 /// See the [`mod@kernel::bitfield`] module for full documentation and examples.
292 macro_rules! bitfield { macro
293 // Entry point defining the bitfield struct, its implementations and its field accessors.
297 $crate::bitfield!(@core
301 $crate::bitfield!(@fields $vis $name $storage { $($fields)* });
317 /// Creates a bitfield from a raw value.
323 /// Turns this bitfield into its raw value.
364 $crate::bitfield!(@private_field_accessors $vis $name $storage : $hi:$lo $field);
365 $crate::bitfield!(
373 $crate::bitfield!(@debug $name { $($field;)* });
616 bitfield! {
628 bitfield! {
638 bitfield! {