pub struct Interface {
    pub index: u32,
    pub name: String,
    pub friendly_name: Option<String>,
    pub description: Option<String>,
    pub if_type: InterfaceType,
    pub mac_addr: Option<MacAddr>,
    pub ipv4: Vec<Ipv4Net>,
    pub ipv6: Vec<Ipv6Net>,
    pub flags: u32,
    pub transmit_speed: Option<u64>,
    pub receive_speed: Option<u64>,
    pub gateway: Option<Gateway>,
}
Expand description

Structure of Network Interface information

Fields§

§index: u32

Index of network interface

§name: String

Name of network interface

§friendly_name: Option<String>

Friendly Name of network interface

§description: Option<String>

Description of the network interface

§if_type: InterfaceType

Interface Type

§mac_addr: Option<MacAddr>

MAC address of network interface

§ipv4: Vec<Ipv4Net>

List of Ipv4Net for the network interface

§ipv6: Vec<Ipv6Net>

List of Ipv6Net for the network interface

§flags: u32

Flags for the network interface (OS Specific)

§transmit_speed: Option<u64>

Speed in bits per second of the transmit for the network interface

§receive_speed: Option<u64>

Speed in bits per second of the receive for the network interface

§gateway: Option<Gateway>

Default gateway for the network interface

Implementations§

source§

impl Interface

source

pub fn default() -> Result<Interface, String>

Construct a new default Interface instance

source

pub fn dummy() -> Interface

source

pub fn is_up(&self) -> bool

Check if the network interface is up

source

pub fn is_loopback(&self) -> bool

Check if the network interface is a Loopback interface

source

pub fn is_point_to_point(&self) -> bool

Check if the network interface is a Point-to-Point interface

source

pub fn is_multicast(&self) -> bool

Check if the network interface is a Multicast interface

source

pub fn is_broadcast(&self) -> bool

Check if the network interface is a Broadcast interface

source

pub fn is_tun(&self) -> bool

Check if the network interface is a TUN interface

Trait Implementations§

source§

impl Clone for Interface

source§

fn clone(&self) -> Interface

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 Interface

source§

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

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

impl Hash for Interface

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 PartialEq for Interface

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Interface

source§

impl StructuralPartialEq for Interface

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

§

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

§

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

§

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.