#[non_exhaustive]#[repr(i32)]pub enum AddressFamily {
Show 41 variants
Unix = 1,
Inet = 2,
Inet6 = 10,
Netlink = 16,
Packet = 17,
Ax25 = 3,
Ipx = 4,
AppleTalk = 5,
NetRom = 6,
Bridge = 7,
AtmPvc = 8,
X25 = 9,
Rose = 11,
Decnet = 12,
NetBeui = 13,
Security = 14,
Key = 15,
Ash = 18,
Econet = 19,
AtmSvc = 20,
Rds = 21,
Sna = 22,
Irda = 23,
Pppox = 24,
Wanpipe = 25,
Llc = 26,
Ib = 27,
Mpls = 28,
Can = 29,
Tipc = 30,
Bluetooth = 31,
Iucv = 32,
RxRpc = 33,
Isdn = 34,
Phonet = 35,
Ieee802154 = 36,
Caif = 37,
Alg = 38,
Nfc = 39,
Vsock = 40,
Unspec = 0,
}
Expand description
These constants specify the protocol family to be used
in socket
and socketpair
§References
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unix = 1
Local communication (see unix(7)
)
Inet = 2
IPv4 Internet protocols (see ip(7)
)
Inet6 = 10
IPv6 Internet protocols (see ipv6(7)
)
Netlink = 16
Kernel user interface device (see netlink(7)
)
Packet = 17
Low level packet interface (see packet(7)
)
Ax25 = 3
Amateur radio AX.25 protocol
Ipx = 4
IPX - Novell protocols
AppleTalk = 5
AppleTalk
NetRom = 6
AX.25 packet layer protocol. (see netrom(4))
Bridge = 7
Can’t be used for creating sockets; mostly used for bridge links in rtnetlink(7) protocol commands.
AtmPvc = 8
Access to raw ATM PVCs
X25 = 9
ITU-T X.25 / ISO-8208 protocol (see x25(7)
)
Rose = 11
RATS (Radio Amateur Telecommunications Society) Open Systems environment (ROSE) AX.25 packet layer protocol. (see netrom(4))
Decnet = 12
DECet protocol sockets.
NetBeui = 13
Reserved for “802.2LLC project”; never used.
Security = 14
This was a short-lived (between Linux 2.1.30 and 2.1.99pre2) protocol family for firewall upcalls.
Key = 15
Key management protocol.
Ash = 18
Econet = 19
Acorn Econet protocol
AtmSvc = 20
Access to ATM Switched Virtual Circuits
Rds = 21
Reliable Datagram Sockets (RDS) protocol
Sna = 22
IBM SNA
Irda = 23
Socket interface over IrDA
Pppox = 24
Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE)
Wanpipe = 25
Legacy protocol for wide area network (WAN) connectivity that was used by Sangoma WAN cards
Llc = 26
Logical link control (IEEE 802.2 LLC) protocol
Ib = 27
InfiniBand native addressing
Mpls = 28
Multiprotocol Label Switching
Can = 29
Controller Area Network automotive bus protocol
Tipc = 30
TIPC, “cluster domain sockets” protocol
Bluetooth = 31
Bluetooth low-level socket protocol
Iucv = 32
IUCV (inter-user communication vehicle) z/VM protocol for hypervisor-guest interaction
RxRpc = 33
Rx, Andrew File System remote procedure call protocol
Isdn = 34
New “modular ISDN” driver interface protocol
Phonet = 35
Nokia cellular modem IPC/RPC interface
Ieee802154 = 36
IEEE 802.15.4 WPAN (wireless personal area network) raw packet protocol
Caif = 37
Ericsson’s Communication CPU to Application CPU interface (CAIF) protocol.
Alg = 38
Interface to kernel crypto API
Nfc = 39
Near field communication
Vsock = 40
VMWare VSockets protocol for hypervisor-guest interaction.
Unspec = 0
Unspecified address family, (see getaddrinfo(3)
)
Implementations§
Source§impl AddressFamily
impl AddressFamily
Sourcepub const fn from_i32(family: i32) -> Option<AddressFamily>
pub const fn from_i32(family: i32) -> Option<AddressFamily>
Create a new AddressFamily
from an integer value retrieved from libc
, usually from
the sa_family
field of a sockaddr
.
Currently only supports these address families: Unix, Inet (v4 & v6), Netlink, Link/Packet and System. Returns None for unsupported or unknown address families.
Trait Implementations§
Source§impl Clone for AddressFamily
impl Clone for AddressFamily
Source§fn clone(&self) -> AddressFamily
fn clone(&self) -> AddressFamily
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more