#[repr(i32)]
#[non_exhaustive]
pub enum AddressFamily {
Show 41 variants
Unix,
Inet,
Inet6,
Netlink,
Packet,
Ax25,
Ipx,
AppleTalk,
NetRom,
Bridge,
AtmPvc,
X25,
Rose,
Decnet,
NetBeui,
Security,
Key,
Ash,
Econet,
AtmSvc,
Rds,
Sna,
Irda,
Pppox,
Wanpipe,
Llc,
Ib,
Mpls,
Can,
Tipc,
Bluetooth,
Iucv,
RxRpc,
Isdn,
Phonet,
Ieee802154,
Caif,
Alg,
Nfc,
Vsock,
Unspec,
}
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
Local communication (see unix(7)
)
Inet
IPv4 Internet protocols (see ip(7)
)
Inet6
IPv6 Internet protocols (see ipv6(7)
)
Netlink
Kernel user interface device (see netlink(7)
)
Packet
Low level packet interface (see packet(7)
)
Ax25
Amateur radio AX.25 protocol
Ipx
IPX - Novell protocols
AppleTalk
AppleTalk
NetRom
AX.25 packet layer protocol. (see netrom(4))
Bridge
Can’t be used for creating sockets; mostly used for bridge links in rtnetlink(7) protocol commands.
AtmPvc
Access to raw ATM PVCs
X25
ITU-T X.25 / ISO-8208 protocol (see x25(7)
)
Rose
RATS (Radio Amateur Telecommunications Society) Open Systems environment (ROSE) AX.25 packet layer protocol. (see netrom(4))
Decnet
DECet protocol sockets.
NetBeui
Reserved for “802.2LLC project”; never used.
Security
This was a short-lived (between Linux 2.1.30 and 2.1.99pre2) protocol family for firewall upcalls.
Key
Key management protocol.
Ash
Econet
Acorn Econet protocol
AtmSvc
Access to ATM Switched Virtual Circuits
Rds
Reliable Datagram Sockets (RDS) protocol
Sna
IBM SNA
Irda
Socket interface over IrDA
Pppox
Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE)
Wanpipe
Legacy protocol for wide area network (WAN) connectivity that was used by Sangoma WAN cards
Llc
Logical link control (IEEE 802.2 LLC) protocol
Ib
InfiniBand native addressing
Mpls
Multiprotocol Label Switching
Can
Controller Area Network automotive bus protocol
Tipc
TIPC, “cluster domain sockets” protocol
Bluetooth
Bluetooth low-level socket protocol
Iucv
IUCV (inter-user communication vehicle) z/VM protocol for hypervisor-guest interaction
RxRpc
Rx, Andrew File System remote procedure call protocol
Isdn
New “modular ISDN” driver interface protocol
Phonet
Nokia cellular modem IPC/RPC interface
Ieee802154
IEEE 802.15.4 WPAN (wireless personal area network) raw packet protocol
Caif
Ericsson’s Communication CPU to Application CPU interface (CAIF) protocol.
Alg
Interface to kernel crypto API
Nfc
Near field communication
Vsock
VMWare VSockets protocol for hypervisor-guest interaction.
Unspec
Unspecified address family, (see getaddrinfo(3)
)
Implementations
sourceimpl 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
sourceimpl Clone for AddressFamily
impl Clone for AddressFamily
sourcefn clone(&self) -> AddressFamily
fn clone(&self) -> AddressFamily
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more