NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | COLOPHON |
|
|
address_families(7) Miscellaneous Information Manual address_families(7)
address_families - socket address families (domains)
#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protocol);
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'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/IEC 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 ⟨https://tools.ietf.org/html/rfc2367⟩ 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 ⟨http://www.8bs.com/othrdnld/manuals/econet.shtml⟩ 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 or AF_XDP. For further information, see rds(7), rds-rdma(7), and Documentation/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'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 ⟨https://wiki.linuxfoundation.org/networking/llc⟩ 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'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 TIPC, "cluster domain sockets" protocol (since Linux 2.6.16). See TIPC Programmer's Guide ⟨http://tipc.io/programming.html⟩ and the protocol description ⟨http://tipc.io/protocol.html⟩ 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 ⟨https://people.csail.mit.edu/albert/bluez-intro/⟩ 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/or AF_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 ⟨http://www.misdn.eu/wiki/Main_Page/⟩ 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'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 and AF_SMC. For further information, see vsock(7). AF_KCM KCM (kernel connection multiplexer) 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 or AF_VSOCK. See RFC 7609 IBM's Shared Memory Communications over RDMA (SMC-R) Protocol ⟨https://tools.ietf.org/html/rfc7609⟩ 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. AF_MCTP MCTP (Management Component Transport Protocol) interface (since Linux 5.15), as defined by the DMTF specification DSP0236. For further information, see mctp(7).
socket(2), socket(7)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.15.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2025-08-11. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
man-pages@man7.org
Linux man-pages 6.15 2025-05-17 address_families(7)
Pages that refer to this page: socket(2), systemd.exec(5), socket(7)