Enum BarInfo

Source
pub enum BarInfo {
    Memory {
        address_type: MemoryBarType,
        prefetchable: bool,
        address: u64,
        size: u32,
        virtaddress: u64,
    },
    IO {
        address: u32,
        size: u32,
    },
    Unused,
}
Expand description

Information about a PCI Base Address Register. BAR的三种类型 Memory/IO/Unused

Variants§

§

Memory

The BAR is for a memory region.

Fields

§address_type: MemoryBarType

The size of the BAR address and where it can be located.

§prefetchable: bool

If true, then reading from the region doesn’t have side effects. The CPU may cache reads and merge repeated stores.

§address: u64

The memory address, always 16-byte aligned.

§size: u32

The size of the BAR in bytes.

§virtaddress: u64

The virtaddress for a memory bar(mapped).

§

IO

The BAR is for an I/O region.

Fields

§address: u32

The I/O address, always 4-byte aligned.

§size: u32

The size of the BAR in bytes.

§

Unused

Implementations§

Source§

impl BarInfo

Source

pub fn memory_address_size(&self) -> Option<(u64, u32)>

Returns the address and size of this BAR if it is a memory bar, or None if it is an IO BAR. @brief 得到某个bar的memory_address与size(前提是他的类型为Memory Bar) @param self @return Option<(u64, u32) 是Memory Bar返回内存地址与大小,不是则返回None

Source

pub fn virtual_address(&self) -> Option<u64>

@brief 得到某个bar的virtaddress(前提是他的类型为Memory Bar) @param self @return Option<(u64) 是Memory Bar返回映射的虚拟地址,不是则返回None

Trait Implementations§

Source§

impl Clone for BarInfo

Source§

fn clone(&self) -> BarInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BarInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for BarInfo

实现BarInfo的Display trait,自定义输出

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for BarInfo

Source§

fn eq(&self, other: &BarInfo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for BarInfo

Source§

impl StructuralPartialEq for BarInfo

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Colorize for T
where T: ?Sized,

Source§

fn into_style(self) -> StyledValue<Self>
where Self: Sized,

Convert a value to a StyledValue with no styling yet Read more
Source§

fn style(&self) -> StyledValue<&Self>

Convert a value to a StyledValue with no styling yet Read more
Source§

fn into_style_with<F, B, U>( self, style: Style<F, B, U>, ) -> StyledValue<Self, F, B, U>
where Self: Sized,

Convert a value to a StyledValue and applies the given style Read more
Source§

fn style_with<F, B, U>( &self, style: Style<F, B, U>, ) -> StyledValue<&Self, F, B, U>

Convert a value to a StyledValue and applies the given style Read more
Source§

fn fg<C>(&self, color: C) -> StyledValue<&Self, C>

Changes the foreground color Read more
Source§

fn into_fg<C>(self, color: C) -> StyledValue<Self, C>
where Self: Sized,

Changes the foreground color Read more
Source§

fn bg<C>(&self, color: C) -> StyledValue<&Self, NoColor, C>

Changes the background color Read more
Source§

fn into_bg<C>(self, color: C) -> StyledValue<Self, NoColor, C>
where Self: Sized,

Changes the background color Read more
Source§

fn underline_color<C>( &self, color: C, ) -> StyledValue<&Self, NoColor, NoColor, C>

Changes the underline color Read more
Source§

fn into_underline_color<C>( self, color: C, ) -> StyledValue<Self, NoColor, NoColor, C>
where Self: Sized,

Changes the underline color Read more
Source§

fn black(&self) -> StyledValue<&Self, Black>

Changes the foreground to black
Source§

fn red(&self) -> StyledValue<&Self, Red>

Changes the foreground to red
Source§

fn green(&self) -> StyledValue<&Self, Green>

Changes the foreground to green
Source§

fn yellow(&self) -> StyledValue<&Self, Yellow>

Changes the foreground to yellow
Source§

fn blue(&self) -> StyledValue<&Self, Blue>

Changes the foreground to blue
Source§

fn magenta(&self) -> StyledValue<&Self, Magenta>

Changes the foreground to magenta
Source§

fn cyan(&self) -> StyledValue<&Self, Cyan>

Changes the foreground to cyan
Source§

fn white(&self) -> StyledValue<&Self, White>

Changes the foreground to white
Source§

fn bright_black(&self) -> StyledValue<&Self, BrightBlack>

Changes the foreground to bright black
Source§

fn bright_red(&self) -> StyledValue<&Self, BrightRed>

Changes the foreground to bright red
Source§

fn bright_green(&self) -> StyledValue<&Self, BrightGreen>

Changes the foreground to bright green
Source§

fn bright_yellow(&self) -> StyledValue<&Self, BrightYellow>

Changes the foreground to bright yellow
Source§

fn bright_blue(&self) -> StyledValue<&Self, BrightBlue>

Changes the foreground to bright blue
Source§

fn bright_magenta(&self) -> StyledValue<&Self, BrightMagenta>

Changes the foreground to bright magenta
Source§

fn bright_cyan(&self) -> StyledValue<&Self, BrightCyan>

Changes the foreground to bright cyan
Source§

fn bright_white(&self) -> StyledValue<&Self, BrightWhite>

Changes the foreground to bright white
Source§

fn on_black(&self) -> StyledValue<&Self, NoColor, Black>

Changes the background to black
Source§

fn on_red(&self) -> StyledValue<&Self, NoColor, Red>

Changes the background to red
Source§

fn on_green(&self) -> StyledValue<&Self, NoColor, Green>

Changes the background to green
Source§

fn on_yellow(&self) -> StyledValue<&Self, NoColor, Yellow>

Changes the background to yellow
Source§

fn on_blue(&self) -> StyledValue<&Self, NoColor, Blue>

Changes the background to blue
Source§

fn on_magenta(&self) -> StyledValue<&Self, NoColor, Magenta>

Changes the background to magenta
Source§

fn on_cyan(&self) -> StyledValue<&Self, NoColor, Cyan>

Changes the background to cyan
Source§

fn on_white(&self) -> StyledValue<&Self, NoColor, White>

Changes the background to white
Source§

fn on_bright_black(&self) -> StyledValue<&Self, NoColor, BrightBlack>

Changes the background to bright black
Source§

fn on_bright_red(&self) -> StyledValue<&Self, NoColor, BrightRed>

Changes the background to bright red
Source§

fn on_bright_green(&self) -> StyledValue<&Self, NoColor, BrightGreen>

Changes the background to bright green
Source§

fn on_bright_yellow(&self) -> StyledValue<&Self, NoColor, BrightYellow>

Changes the background to bright yellow
Source§

fn on_bright_blue(&self) -> StyledValue<&Self, NoColor, BrightBlue>

Changes the background to bright blue
Source§

fn on_bright_magenta(&self) -> StyledValue<&Self, NoColor, BrightMagenta>

Changes the background to bright magenta
Source§

fn on_bright_cyan(&self) -> StyledValue<&Self, NoColor, BrightCyan>

Changes the background to bright cyan
Source§

fn on_bright_white(&self) -> StyledValue<&Self, NoColor, BrightWhite>

Changes the background to bright white
Source§

fn into_black(self) -> StyledValue<Self, Black>
where Self: Sized,

Changes the foreground to black
Source§

fn into_red(self) -> StyledValue<Self, Red>
where Self: Sized,

Changes the foreground to red
Source§

fn into_green(self) -> StyledValue<Self, Green>
where Self: Sized,

Changes the foreground to green
Source§

fn into_yellow(self) -> StyledValue<Self, Yellow>
where Self: Sized,

Changes the foreground to yellow
Source§

fn into_blue(self) -> StyledValue<Self, Blue>
where Self: Sized,

Changes the foreground to blue
Source§

fn into_magenta(self) -> StyledValue<Self, Magenta>
where Self: Sized,

Changes the foreground to magenta
Source§

fn into_cyan(self) -> StyledValue<Self, Cyan>
where Self: Sized,

Changes the foreground to cyan
Source§

fn into_white(self) -> StyledValue<Self, White>
where Self: Sized,

Changes the foreground to white
Source§

fn into_bright_black(self) -> StyledValue<Self, BrightBlack>
where Self: Sized,

Changes the foreground to bright black
Source§

fn into_bright_red(self) -> StyledValue<Self, BrightRed>
where Self: Sized,

Changes the foreground to bright red
Source§

fn into_bright_green(self) -> StyledValue<Self, BrightGreen>
where Self: Sized,

Changes the foreground to bright green
Source§

fn into_bright_yellow(self) -> StyledValue<Self, BrightYellow>
where Self: Sized,

Changes the foreground to bright yellow
Source§

fn into_bright_blue(self) -> StyledValue<Self, BrightBlue>
where Self: Sized,

Changes the foreground to bright blue
Source§

fn into_bright_magenta(self) -> StyledValue<Self, BrightMagenta>
where Self: Sized,

Changes the foreground to bright magenta
Source§

fn into_bright_cyan(self) -> StyledValue<Self, BrightCyan>
where Self: Sized,

Changes the foreground to bright cyan
Source§

fn into_bright_white(self) -> StyledValue<Self, BrightWhite>
where Self: Sized,

Changes the foreground to bright white
Source§

fn into_on_black(self) -> StyledValue<Self, NoColor, Black>
where Self: Sized,

Changes the background to black
Source§

fn into_on_red(self) -> StyledValue<Self, NoColor, Red>
where Self: Sized,

Changes the background to red
Source§

fn into_on_green(self) -> StyledValue<Self, NoColor, Green>
where Self: Sized,

Changes the background to green
Source§

fn into_on_yellow(self) -> StyledValue<Self, NoColor, Yellow>
where Self: Sized,

Changes the background to yellow
Source§

fn into_on_blue(self) -> StyledValue<Self, NoColor, Blue>
where Self: Sized,

Changes the background to blue
Source§

fn into_on_magenta(self) -> StyledValue<Self, NoColor, Magenta>
where Self: Sized,

Changes the background to magenta
Source§

fn into_on_cyan(self) -> StyledValue<Self, NoColor, Cyan>
where Self: Sized,

Changes the background to cyan
Source§

fn into_on_white(self) -> StyledValue<Self, NoColor, White>
where Self: Sized,

Changes the background to white
Source§

fn into_on_bright_black(self) -> StyledValue<Self, NoColor, BrightBlack>
where Self: Sized,

Changes the background to bright black
Source§

fn into_on_bright_red(self) -> StyledValue<Self, NoColor, BrightRed>
where Self: Sized,

Changes the background to bright red
Source§

fn into_on_bright_green(self) -> StyledValue<Self, NoColor, BrightGreen>
where Self: Sized,

Changes the background to bright green
Source§

fn into_on_bright_yellow(self) -> StyledValue<Self, NoColor, BrightYellow>
where Self: Sized,

Changes the background to bright yellow
Source§

fn into_on_bright_blue(self) -> StyledValue<Self, NoColor, BrightBlue>
where Self: Sized,

Changes the background to bright blue
Source§

fn into_on_bright_magenta(self) -> StyledValue<Self, NoColor, BrightMagenta>
where Self: Sized,

Changes the background to bright magenta
Source§

fn into_on_bright_cyan(self) -> StyledValue<Self, NoColor, BrightCyan>
where Self: Sized,

Changes the background to bright cyan
Source§

fn into_on_bright_white(self) -> StyledValue<Self, NoColor, BrightWhite>
where Self: Sized,

Changes the background to bright white
Source§

fn bold(&self) -> StyledValue<&Self>

Applies the bold effect
Source§

fn dimmed(&self) -> StyledValue<&Self>

Applies the dimmed effect
Source§

fn italics(&self) -> StyledValue<&Self>

Applies the italics effect
Source§

fn underline(&self) -> StyledValue<&Self>

Applies the underline effect
Source§

fn double_underline(&self) -> StyledValue<&Self>

Applies the double underline effect
Applies the blink effect
Applies the blink fast effect
Source§

fn reverse(&self) -> StyledValue<&Self>

Applies the reverse effect
Source§

fn hide(&self) -> StyledValue<&Self>

Applies the hide effect
Source§

fn strikethrough(&self) -> StyledValue<&Self>

Applies the strikethrough effect
Source§

fn overline(&self) -> StyledValue<&Self>

Applies the overline effect
Source§

fn superscript(&self) -> StyledValue<&Self>

Applies the superscript effect
Source§

fn subscript(&self) -> StyledValue<&Self>

Applies the subscript effect
Source§

fn into_bold(self) -> StyledValue<Self>
where Self: Sized,

Applies the bold effect
Source§

fn into_dimmed(self) -> StyledValue<Self>
where Self: Sized,

Applies the dimmed effect
Source§

fn into_italics(self) -> StyledValue<Self>
where Self: Sized,

Applies the italics effect
Source§

fn into_underline(self) -> StyledValue<Self>
where Self: Sized,

Applies the underline effect
Source§

fn into_double_underline(self) -> StyledValue<Self>
where Self: Sized,

Applies the double underline effect
Applies the blink effect
Applies the blink fast effect
Source§

fn into_reverse(self) -> StyledValue<Self>
where Self: Sized,

Applies the reverse effect
Source§

fn into_hide(self) -> StyledValue<Self>
where Self: Sized,

Applies the hide effect
Source§

fn into_strikethrough(self) -> StyledValue<Self>
where Self: Sized,

Applies the strikethrough effect
Source§

fn into_overline(self) -> StyledValue<Self>
where Self: Sized,

Applies the overline effect
Source§

fn into_superscript(self) -> StyledValue<Self>
where Self: Sized,

Applies the superscript effect
Source§

fn into_subscript(self) -> StyledValue<Self>
where Self: Sized,

Applies the subscript effect
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.