pub enum InterfaceType {
Show 28 variants Unknown, Ethernet, TokenRing, Fddi, BasicIsdn, PrimaryIsdn, Ppp, Loopback, Ethernet3Megabit, Slip, Atm, GenericModem, FastEthernetT, Isdn, FastEthernetFx, Wireless80211, AsymmetricDsl, RateAdaptDsl, SymmetricDsl, VeryHighSpeedDsl, IPOverAtm, GigabitEthernet, Tunnel, MultiRateSymmetricDsl, HighPerformanceSerialBus, Wman, Wwanpp, Wwanpp2,
}
Expand description

Type of Network Interface

Variants§

§

Unknown

Unknown interface type

§

Ethernet

The network interface using an Ethernet connection

§

TokenRing

The network interface using a Token-Ring connection

§

Fddi

The network interface using a Fiber Distributed Data Interface (FDDI) connection

§

BasicIsdn

The network interface using a basic rate interface Integrated Services Digital Network (ISDN) connection

§

PrimaryIsdn

The network interface using a primary rate interface Integrated Services Digital Network (ISDN) connection

§

Ppp

The network interface using a Point-To-Point protocol (PPP) connection

§

Loopback

The loopback interface (often used for testing)

§

Ethernet3Megabit

The network interface using an Ethernet 3 megabit/second connection

§

Slip

The network interface using a Serial Line Internet Protocol (SLIP) connection

§

Atm

The network interface using asynchronous transfer mode (ATM) for data transmission

§

GenericModem

The network interface using a modem

§

FastEthernetT

The network interface using a Fast Ethernet connection over twisted pair and provides a data rate of 100 megabits per second (100BASE-T)

§

Isdn

The network interface using a connection configured for ISDN and the X.25 protocol.

§

FastEthernetFx

The network interface using a Fast Ethernet connection over optical fiber and provides a data rate of 100 megabits per second (100Base-FX)

§

Wireless80211

The network interface using a wireless LAN connection (IEEE 802.11)

§

AsymmetricDsl

The network interface using an Asymmetric Digital Subscriber Line (ADSL)

§

RateAdaptDsl

The network interface using a Rate Adaptive Digital Subscriber Line (RADSL)

§

SymmetricDsl

The network interface using a Symmetric Digital Subscriber Line (SDSL)

§

VeryHighSpeedDsl

The network interface using a Very High Data Rate Digital Subscriber Line (VDSL)

§

IPOverAtm

The network interface using the Internet Protocol (IP) in combination with asynchronous transfer mode (ATM) for data transmission

§

GigabitEthernet

The network interface using a gigabit Ethernet connection and provides a data rate of 1,000 megabits per second (1 gigabit per second)

§

Tunnel

The network interface using a tunnel connection

§

MultiRateSymmetricDsl

The network interface using a Multirate Digital Subscriber Line

§

HighPerformanceSerialBus

The network interface using a High Performance Serial Bus

§

Wman

The network interface using a mobile broadband interface for WiMax devices

§

Wwanpp

The network interface using a mobile broadband interface for GSM-based devices

§

Wwanpp2

The network interface using a mobile broadband interface for CDMA-based devices

Implementations§

Returns OS-specific value of InterfaceType

Returns name of InterfaceType

Examples found in repository?
examples/list_interfaces.rs (line 11)
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
fn main(){
    let interfaces = default_net::get_interfaces();
    for interface in interfaces {
        println!("Interface");
        println!("\tIndex: {}", interface.index);
        println!("\tName: {}", interface.name);
        println!("\tFriendly Name: {:?}", interface.friendly_name);
        println!("\tDescription: {:?}", interface.description);
        println!("\tType: {}", interface.if_type.name());
        if let Some(mac_addr) = interface.mac_addr {
            println!("\tMAC: {}", mac_addr);
        }else{
            println!("\tMAC: (Failed to get mac address)");
        }
        println!("\tIPv4: {:?}", interface.ipv4);
        println!("\tIPv6: {:?}", interface.ipv6);
        println!("\tFlags: {:?}", interface.flags);
        println!("\tTransmit Speed: {:?}", interface.transmit_speed);
        println!("\tReceive Speed: {:?}", interface.receive_speed);
        if let Some(gateway) = interface.gateway {
            println!("Gateway");
            println!("\tMAC: {}", gateway.mac_addr);
            println!("\tIP: {}", gateway.ip_addr);
        }else {
            println!("Gateway: (Not found)");
        }
        println!();
    }
}
More examples
Hide additional examples
examples/default_interface.rs (line 11)
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
fn main(){
    match default_net::get_default_interface() {
        Ok(default_interface) => {
            println!("Default Interface");
            println!("\tIndex: {}", default_interface.index);
            println!("\tName: {}", default_interface.name);
            println!("\tFriendly Name: {:?}", default_interface.friendly_name);
            println!("\tDescription: {:?}", default_interface.description);
            println!("\tType: {}", default_interface.if_type.name());
            if let Some(mac_addr) = default_interface.mac_addr {
                println!("\tMAC: {}", mac_addr);
            }else{
                println!("\tMAC: (Failed to get mac address)");
            }
            println!("\tIPv4: {:?}", default_interface.ipv4);
            println!("\tIPv6: {:?}", default_interface.ipv6);
            println!("\tFlags: {:?}", default_interface.flags);
            println!("\tTransmit Speed: {:?}", default_interface.transmit_speed);
            println!("\tReceive Speed: {:?}", default_interface.receive_speed);
            if let Some(gateway) = default_interface.gateway {
                println!("Default Gateway");
                println!("\tMAC: {}", gateway.mac_addr);
                println!("\tIP: {}", gateway.ip_addr);
            }else {
                println!("Default Gateway: (Not found)");
            }
        },
        Err(e) => {
            println!("{}", e);
        },
    }
}

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.