Section (7) address_families
Name
address_families — socket address families (domains)
Synopsis
#include <sys/types.h> /* See NOTES */ #include <sys/socket.h>
int
socket( |
int domain, |
int type, | |
int protocol) ; |
DESCRIPTION
The domain
argument of the socket(2) specifies a
communication domain; this selects the protocol family which
will be used for communication. These families are defined in
<
sys/socket.h
>
The formats currently understood by the
Linux kernel include:
AF_UNIX
,AF_LOCAL
-
Local communication For further information, see unix(7).
AF_INET
-
IPv4 Internet protocols. For further information, see ip(7).
AF_AX25
-
Amateur radio AX.25 protocol. For further information, see ax25(4).
AF_IPX
-
IPX − Novell protocols.
AF_APPLETALK
-
AppleTalk For further information, see ddp(7).
AF_NETROM
-
AX.25 packet layer protocol. For further information, see netrom(4), The Packet Radio Protocols and Linux https://www.tldp.org/HOWTO/AX25-HOWTO/x61.html and the
AX.25
,NET/ROM
, and ROSE network programming chapters of the Linux Amateur Radio AX.25 HOWTO https://www.tldp.org/HOWTO/AX25-HOWTO/x2107.html AF_BRIDGE
-
Can_zsingle_quotesz_t be used for creating sockets; mostly used for bridge links in rtnetlink(7) protocol commands.
AF_ATMPVC
-
Access to raw ATM Permanent Virtual Circuits (PVCs). For further information, see the ATM on Linux HOWTO https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO
AF_X25
-
ITU-T X.25 / ISO-8208 protocol. For further information, see x25(7).
AF_INET6
-
IPv6 Internet protocols. For further information, see ipv6(7).
AF_ROSE
-
RATS (Radio Amateur Telecommunications Society) Open Systems environment (ROSE) AX.25 packet layer protocol. For further information, see the resources listed for
AF_NETROM
. - AF_DECnet
-
DECet protocol sockets. See
Documentation/networking/decnet.txt
in the Linux kernel source tree for details. AF_NETBEUI
-
Reserved for 802.2LLC project; never used.
AF_SECURITY
-
This was a short-lived (between Linux 2.1.30 and 2.1.99pre2) protocol family for firewall upcalls.
AF_KEY
-
Key management protocol, originally developed for usage with IPsec (since Linux 2.1.38). This has no relation to keyctl(2) and the in-kernel key storage facility. See RFC 2367 PF_KEY Key Management API, Version 2 for details.
AF_NETLINK
-
Kernel user interface device For further information, see netlink(7).
AF_PACKET
-
Low-level packet interface. For further information, see packet(7).
AF_ECONET
-
Acorn Econet protocol (removed in Linux 3.5). See the Econet documentation for details.
AF_ATMSVC
-
Access to ATM Switched Virtual Circuits (SVCs) See the ATM on Linux HOWTO https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO for details.
AF_RDS
-
Reliable Datagram Sockets (RDS) protocol (since Linux 2.6.30). RDS over RDMA has no relation to
AF_SMC
orAF_XDP
. For further information see rds(7), rds-rdma(7), andDocumentation/networking/rds.txt
in the Linux kernel source tree. AF_IRDA
-
Socket interface over IrDA (moved to staging in Linux 4.14, removed in Linux 4.17). For further information see irda(7).
AF_PPPOX
-
Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE). See
Documentation/networking/l2tp.txt
in the Linux kernel source tree for details. AF_WANPIPE
-
Legacy protocol for wide area network (WAN) connectivity that was used by Sangoma WAN cards (called WANPIPE); removed in Linux 2.6.21.
AF_LLC
-
Logical link control (IEEE 802.2 LLC) protocol, upper part of data link layer of ISO/OSI networking protocol stack (since Linux 2.4); has no relation to
AF_PACKET
. See chapter 13.5.3. Logical Link Control in Understanding Linux Kernel Internals (O_zsingle_quotesz_Reilly Media, 2006) and IEEE Standards for Local Area Networks: Logical Link Control (The Institute of Electronics and Electronics Engineers, Inc., New York, New York, 1985) for details. See also some historical notes regarding its development. AF_IB
-
InfiniBand native addressing (since Linux 3.11).
AF_MPLS
-
Multiprotocol Label Switching (since Linux 4.1); mostly used for configuring MPLS routing via netlink(7), as it doesn_zsingle_quotesz_t expose ability to create sockets to user space.
AF_CAN
-
Controller Area Network automotive bus protocol (since Linux 2.6.25). See
Documentation/networking/can.rst
in the Linux kernel source tree for details. AF_TIPC
-
See TIPC Programmer_zsingle_quotesz_s Guide http://tipc.io/programming.html and the protocol description for details.
AF_BLUETOOTH
-
Bluetooth low-level socket protocol (since Linux 3.11). See Bluetooth Management API overview https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/mgmt-api.txt and An Introduction to Bluetooth Programming by Albert Huang for details.
AF_IUCV
-
IUCV (inter-user communication vehicle) z/VM protocol for hypervisor-guest interaction (since Linux 2.6.21); has no relation to
AF_VSOCK
and/orAF_SMC
See IUCV protocol overview https://www.ibm.com/support/knowledgecenter/en/SSB27U_6.4.0/com.ibm.zvm.v640.hcpb4/iucv.htm for details. AF_RXRPC
-
Rx, Andrew File System remote procedure call protocol (since Linux 2.6.22). See
Documentation/networking/rxrpc.txt
in the Linux kernel source tree for details. AF_ISDN
-
New modular ISDN driver interface protocol (since Linux 2.6.27). See the mISDN wiki for details.
AF_PHONET
-
Nokia cellular modem IPC/RPC interface (since Linux 2.6.31). See
Documentation/networking/phonet.txt
in the Linux kernel source tree for details. AF_IEEE802154
-
IEEE 802.15.4 WPAN (wireless personal area network) raw packet protocol (since Linux 2.6.31). See
Documentation/networking/ieee802154.txt
in the Linux kernel source tree for details. AF_CAIF
-
Ericsson_zsingle_quotesz_s Communication CPU to Application CPU interface (CAIF) protocol (since Linux 2.6.36). See
Documentation/networking/caif/Linux-CAIF.txt
in the Linux kernel source tree for details. AF_ALG
-
Interface to kernel crypto API (since Linux 2.6.38). See
Documentation/crypto/userspace-if.rst
in the Linux kernel source tree for details. AF_VSOCK
-
VMWare VSockets protocol for hypervisor-guest interaction (since Linux 3.9); has no relation to
AF_IUCV
andAF_SMC
. For further information, see vsock(7). AF_KCM
-
KCM (kernel connection multiplexor) interface (since Linux 4.6). See
Documentation/networking/kcm.txt
in the Linux kernel source tree for details. AF_QIPCRTR
-
Qualcomm IPC router interface protocol (since Linux 4.7).
AF_SMC
-
SMC-R (shared memory communications over RDMA) protocol (since Linux 4.11), and SMC-D (shared memory communications, direct memory access) protocol for intra-node z/VM quest interaction (since Linux 4.19); has no relation to
AF_RDS
,AF_IUCV
orAF_VSOCK
. See RFC 7609 IBM_zsingle_quotesz_s Shared Memory Communications over RDMA (SMC-R) Protocol for details regarding SMC-R. See SMC-D Reference Information https://www-01.ibm.com/software/network/commserver/SMC-D/index.html for details regarding SMC-D. AF_XDP
-
XDP (express data path) interface (since Linux 4.18). See
Documentation/networking/af_xdp.rst
in the Linux kernel source tree for details.
COLOPHON
This page is part of release 5.04 of the Linux man-pages
project. A
description of the project, information about reporting bugs,
and the latest version of this page, can be found at
https://www.kernel.org/doc/man−pages/.
Copyright (c) 2018 by Eugene Syromyatnikov <evgsyrgmail.com>, and Copyright (c) 2018 Michael Kerrisk <mtk.manpagesgmail.com> %%%LICENSE_START(VERBATIM) Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Since the Linux kernel and libraries are constantly changing, this manual page may be incorrect or out-of-date. The author(s) assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. The author(s) may not have taken the same level of care in the production of this manual, which is licensed free of charge, as they might when working professionally. Formatted or processed versions of this manual, if unaccompanied by the source, must acknowledge the copyright and authors of this work. %%%LICENSE_END |