SystemSlots

Struct SystemSlots 

Source
pub struct SystemSlots<'a> {
Show 17 fields pub handle: u16, pub slot_designation: &'a str, pub slot_type: SlotType, pub slot_data_bus_width: SlotWidth, pub current_usage: CurrentUsage, pub slot_length: SlotLength, pub slot_id: u16, pub slot_characteristics_1: SlotCharacteristics1, pub slot_characteristics_2: Option<SlotCharacteristics2>, pub segment_group_number: Option<u16>, pub bus_number: Option<u8>, pub device_and_function_number: Option<DeviceAndFunctionNumber>, pub data_bus_width: Option<u8>, pub peer_devices: Option<PeerDevices<'a>>, pub slot_information: Option<u8>, pub slot_physical_width: Option<SlotWidth>, pub slot_pitch: Option<SlotPitch>,
}
Expand description

The System Slots table defined in the SMBIOS specification.

Optional fields will only be set if the version of the parsed SMBIOS table is high enough to have defined the field.

Fields§

§handle: u16

Specifies the structure’s handle

§slot_designation: &'a str

String number for reference designation
EXAMPLE: ‘PCI-1’,0

§slot_type: SlotType

Slot Type field

§slot_data_bus_width: SlotWidth

Slot Data Bus Width field

§current_usage: CurrentUsage

Current Usage field

§slot_length: SlotLength

Slot Length field

§slot_id: u16

The Slot ID field of the System Slot structure provides a mechanism to correlate the physical attributes of the slot to its logical access method (which varies based on the Slot Type field).

§slot_characteristics_1: SlotCharacteristics1

Slot Characteristics 1 field

§slot_characteristics_2: Option<SlotCharacteristics2>

Slot Characteristics 2 field

§segment_group_number: Option<u16>

Segment Group Number is defined in the PCI Firmware Specification. The value is 0 for a single-segment topology.

§bus_number: Option<u8>

For PCI Express slots, Bus Number refer to the endpoint in the slot, not the upstream switch.

§device_and_function_number: Option<DeviceAndFunctionNumber>

For PCI Express slots, Device/Function Number refer to the endpoint in the slot, not the upstream switch.

§data_bus_width: Option<u8>

Indicate electrical bus width of base Segment/Bus/Device/Function/Width

§peer_devices: Option<PeerDevices<'a>>

Because some slots can be partitioned into smaller electrical widths, additional peer device Segment/Bus/Device/Function are defined.
This definition does not cover children devices i.e., devices behind a PCIe bridge in the slot.

§slot_information: Option<u8>

The contents of this field depend on what is contained in the Slot Type field. For Slot Type of C4h this field must contain the numeric value of the PCI Express Generation (e.g., Gen6 would be 06h). For other PCI Express Slot Types, this field may be used but it is not required (if not used it should be set to 00h). For all other Slot Types, this field should be set to 00h.

§slot_physical_width: Option<SlotWidth>

This field indicates the physical width of the slot whereas Slot Data Bus Width indicates the electrical width of the slot

§slot_pitch: Option<SlotPitch>

The Slot Pitch field contains a numeric value that indicates the pitch of the slot in units of 1/100 millimeter.

Trait Implementations§

Source§

impl<'a> Clone for SystemSlots<'a>

Source§

fn clone(&self) -> SystemSlots<'a>

Returns a duplicate 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<'a> Debug for SystemSlots<'a>

Source§

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

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

impl<'a> Hash for SystemSlots<'a>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'a> PartialEq for SystemSlots<'a>

Source§

fn eq(&self, other: &SystemSlots<'a>) -> 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<'a> Eq for SystemSlots<'a>

Source§

impl<'a> StructuralPartialEq for SystemSlots<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for SystemSlots<'a>

§

impl<'a> RefUnwindSafe for SystemSlots<'a>

§

impl<'a> Send for SystemSlots<'a>

§

impl<'a> Sync for SystemSlots<'a>

§

impl<'a> Unpin for SystemSlots<'a>

§

impl<'a> UnwindSafe for SystemSlots<'a>

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> 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> 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, 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.