{"id":4111,"date":"2022-12-20T17:39:25","date_gmt":"2022-12-20T20:39:25","guid":{"rendered":"http:\/\/lode.uno\/linux-man\/index.php\/2022\/12\/20\/address_families-man7\/"},"modified":"2022-12-20T17:39:25","modified_gmt":"2022-12-20T20:39:25","slug":"address_families-man7","status":"publish","type":"post","link":"https:\/\/lode.uno\/linux-man\/2022\/12\/20\/address_families-man7\/","title":{"rendered":"ADDRESS_FAMILIES (man7)"},"content":{"rendered":"<h1 align=\"center\">ADDRESS_FAMILIES<\/h1>\n<p> <a href=\"#NAME\">NAME<\/a><br \/> <a href=\"#SYNOPSIS\">SYNOPSIS<\/a><br \/> <a href=\"#DESCRIPTION\">DESCRIPTION<\/a><br \/> <a href=\"#SEE ALSO\">SEE ALSO<\/a><br \/> <a href=\"#COLOPHON\">COLOPHON<\/a> <\/p>\n<hr>\n<h2>NAME <a name=\"NAME\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">address_families \u2212 socket address families (domains)<\/p>\n<h2>SYNOPSIS <a name=\"SYNOPSIS\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>#include <sys\/types.h><\/b> \/bin \/boot \/dead.letter \/dev \/etc \/home \/initrd \/lib \/lib64 \/lost+found \/media \/mnt \/opt \/proc \/release-notes.html \/release-notes.txt \/root \/run \/sbin \/srv \/sys \/tmp \/usr \/var See NOTES bodies\/ usr\/ <b><br \/> #include <sys\/socket.h><\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>int socket(int<\/b> <i>domain<\/i><b>, int<\/b> <i>type<\/i><b>, int<\/b> <i>protocol<\/i><b>);<\/b><\/p>\n<h2>DESCRIPTION <a name=\"DESCRIPTION\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">The <i>domain<\/i> argument of the <b>socket<\/b>(2) specifies a communication domain; this selects the protocol family which will be used for communication. These families are defined in <i><sys\/socket.h><\/i>. The formats currently understood by the Linux kernel include: <b><br \/> AF_UNIX<\/b>, <b>AF_LOCAL<\/b><\/p>\n<p style=\"margin-left:22%;\">Local communication For further information, see <b>unix<\/b>(7).<\/p>\n<p style=\"margin-left:11%;\"><b>AF_INET<\/b><\/p>\n<p style=\"margin-left:22%;\">IPv4 Internet protocols. For further information, see <b>ip<\/b>(7).<\/p>\n<p style=\"margin-left:11%;\"><b>AF_AX25<\/b><\/p>\n<p style=\"margin-left:22%;\">Amateur radio AX.25 protocol. For further information, see <b>ax25<\/b>(4).<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_IPX<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"35%\">\n<p>IPX \u2212 Novell protocols.<\/p>\n<\/td>\n<td width=\"43%\"> <\/td>\n<\/tr>\n<\/table>\n<p style=\"margin-left:11%;\"><b>AF_APPLETALK<\/b><\/p>\n<p style=\"margin-left:22%;\">AppleTalk For further information, see <b>ddp<\/b>(7).<\/p>\n<p style=\"margin-left:11%;\"><b>AF_NETROM<\/b><\/p>\n<p style=\"margin-left:22%;\">AX.25 packet layer protocol. For further information, see <b>netrom<\/b>(4), <a href=\"https:\/\/www.tldp.org\/HOWTO\/AX25-HOWTO\/x61.html\"><i>The Packet Radio Protocols and Linux<\/i><\/a> and the <i>AX.25<\/i>, <i>NET\/ROM<\/i>, and <i>ROSE network programming<\/i> chapters of the <a href=\"https:\/\/www.tldp.org\/HOWTO\/AX25-HOWTO\/x2107.html\"><i>Linux Amateur Radio AX.25 HOWTO<\/i><\/a>.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_BRIDGE<\/b><\/p>\n<p style=\"margin-left:22%;\">Can\u2019t be used for creating sockets; mostly used for bridge links in <b>rtnetlink<\/b>(7) protocol commands.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_ATMPVC<\/b><\/p>\n<p style=\"margin-left:22%;\">Access to raw ATM Permanent Virtual Circuits (PVCs). For further information, see the <a href=\"https:\/\/www.tldp.org\/HOWTO\/text\/ATM-Linux-HOWTO\"><i>ATM on Linux HOWTO<\/i><\/a>.<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_X25<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>ITU-T X.25 \/ ISO-8208 protocol. For further information, see <b>x25<\/b>(7).<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin-left:11%;\"><b>AF_INET6<\/b><\/p>\n<p style=\"margin-left:22%;\">IPv6 Internet protocols. For further information, see <b>ipv6<\/b>(7).<\/p>\n<p style=\"margin-left:11%;\"><b>AF_ROSE<\/b><\/p>\n<p style=\"margin-left:22%;\">RATS (Radio Amateur Telecommunications Society) Open Systems environment (ROSE) AX.25 packet layer protocol. For further information, see the resources listed for <b>AF_NETROM<\/b>.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_DECnet<\/b><\/p>\n<p style=\"margin-left:22%;\">DECet protocol sockets. See <i>Documentation\/networking\/decnet.txt<\/i> in the Linux kernel source tree for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_NETBEUI<\/b><\/p>\n<p style=\"margin-left:22%;\">Reserved for &#8220;802.2LLC project&#8221;; never used.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_SECURITY<\/b><\/p>\n<p style=\"margin-left:22%;\">This was a short-lived (between Linux 2.1.30 and 2.1.99pre2) protocol family for firewall upcalls.<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_KEY<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>Key management protocol, originally developed for usage with IPsec (since Linux 2.1.38). This has no relation to <b>keyctl<\/b>(2) and the in-kernel key storage facility. See <a href=\"https:\/\/tools.ietf.org\/html\/rfc2367\">RFC 2367 <i>PF_KEY Key Management API, Version 2<\/i><\/a> for details.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin-left:11%;\"><b>AF_NETLINK<\/b><\/p>\n<p style=\"margin-left:22%;\">Kernel user interface device For further information, see <b>netlink<\/b>(7).<\/p>\n<p style=\"margin-left:11%;\"><b>AF_PACKET<\/b><\/p>\n<p style=\"margin-left:22%;\">Low-level packet interface. For further information, see <b>packet<\/b>(7).<\/p>\n<p style=\"margin-left:11%;\"><b>AF_ECONET<\/b><\/p>\n<p style=\"margin-left:22%;\">Acorn Econet protocol (removed in Linux 3.5). See the <a href=\"http:\/\/www.8bs.com\/othrdnld\/manuals\/econet.shtml\">Econet documentation<\/a> for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_ATMSVC<\/b><\/p>\n<p style=\"margin-left:22%;\">Access to ATM Switched Virtual Circuits (SVCs) See the <a href=\"https:\/\/www.tldp.org\/HOWTO\/text\/ATM-Linux-HOWTO\"><i>ATM on Linux HOWTO<\/i><\/a> for details.<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_RDS<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>Reliable Datagram Sockets (RDS) protocol (since Linux 2.6.30). RDS over RDMA has no relation to <b>AF_SMC<\/b> or <b>AF_XDP<\/b>. For further information see <b>rds<\/b>(7), <b>rds\u2212rdma<\/b>(7), and <i>Documentation\/networking\/rds.txt<\/i> in the Linux kernel source tree.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin-left:11%;\"><b>AF_IRDA<\/b><\/p>\n<p style=\"margin-left:22%;\">Socket interface over IrDA (moved to staging in Linux 4.14, removed in Linux 4.17). For further information see <b>irda<\/b>(7).<\/p>\n<p style=\"margin-left:11%;\"><b>AF_PPPOX<\/b><\/p>\n<p style=\"margin-left:22%;\">Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE). See <i>Documentation\/networking\/l2tp.txt<\/i> in the Linux kernel source tree for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_WANPIPE<\/b><\/p>\n<p style=\"margin-left:22%;\">Legacy protocol for wide area network (WAN) connectivity that was used by Sangoma WAN cards (called &#8220;WANPIPE&#8221;); removed in Linux 2.6.21.<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_LLC<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>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 <b>AF_PACKET<\/b>. See chapter <i>13.5.3. Logical Link Control<\/i> in <i>Understanding Linux Kernel Internals<\/i> (O\u2019Reilly Media, 2006) and <i>IEEE Standards for Local Area Networks: Logical Link Control<\/i> (The Institute of Electronics and Electronics Engineers, Inc., New York, New York, 1985) for details. See also <a href=\"https:\/\/wiki.linuxfoundation.org\/networking\/llc\">some historical notes<\/a> regarding its development.<\/p>\n<\/td>\n<\/tr>\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_IB<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>InfiniBand native addressing (since Linux 3.11).<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin-left:11%;\"><b>AF_MPLS<\/b><\/p>\n<p style=\"margin-left:22%;\">Multiprotocol Label Switching (since Linux 4.1); mostly used for configuring MPLS routing via <b>netlink<\/b>(7), as it doesn\u2019t expose ability to create sockets to user space.<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_CAN<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>Controller Area Network automotive bus protocol (since Linux 2.6.25). See <i>Documentation\/networking\/can.rst<\/i> in the Linux kernel source tree for details.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin-left:11%;\"><b>AF_TIPC<\/b><\/p>\n<p style=\"margin-left:22%;\">TIPC, &#8220;cluster domain sockets&#8221; protocol (since Linux 2.6.16). See <a href=\"http:\/\/tipc.io\/programming.html\"><i>TIPC Programmer\u2019s Guide<\/i><\/a> and the <a href=\"http:\/\/tipc.io\/protocol.html\">protocol description<\/a> for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_BLUETOOTH<\/b><\/p>\n<p style=\"margin-left:22%;\">Bluetooth low-level socket protocol (since Linux 3.11). See <a href=\"https:\/\/git.kernel.org\/pub\/scm\/bluetooth\/bluez.git\/tree\/doc\/mgmt-api.txt\"><i>Bluetooth Management API overview<\/i><\/a> and <a href=\"https:\/\/people.csail.mit.edu\/albert\/bluez-intro\/\"><i>An Introduction to Bluetooth Programming<\/i> by Albert Huang<\/a> for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_IUCV<\/b><\/p>\n<p style=\"margin-left:22%;\">IUCV (inter-user communication vehicle) z\/VM protocol for hypervisor-guest interaction (since Linux 2.6.21); has no relation to <b>AF_VSOCK<\/b> and\/or <b>AF_SMC<\/b> See <a href=\"https:\/\/www.ibm.com\/support\/knowledgecenter\/en\/SSB27U_6.4.0\/com.ibm.zvm.v640.hcpb4\/iucv.htm\"><i>IUCV protocol overview<\/i><\/a> for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_RXRPC<\/b><\/p>\n<p style=\"margin-left:22%;\">Rx, Andrew File System remote procedure call protocol (since Linux 2.6.22). See <i>Documentation\/networking\/rxrpc.txt<\/i> in the Linux kernel source tree for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_ISDN<\/b><\/p>\n<p style=\"margin-left:22%;\">New &#8220;modular ISDN&#8221; driver interface protocol (since Linux 2.6.27). See the <a href=\"http:\/\/www.misdn.eu\/wiki\/Main_Page\/\">mISDN wiki<\/a> for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_PHONET<\/b><\/p>\n<p style=\"margin-left:22%;\">Nokia cellular modem IPC\/RPC interface (since Linux 2.6.31). See <i>Documentation\/networking\/phonet.txt<\/i> in the Linux kernel source tree for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_IEEE802154<\/b><\/p>\n<p style=\"margin-left:22%;\">IEEE 802.15.4 WPAN (wireless personal area network) raw packet protocol (since Linux 2.6.31). See <i>Documentation\/networking\/ieee802154.txt<\/i> in the Linux kernel source tree for details.<\/p>\n<p style=\"margin-left:11%;\"><b>AF_CAIF<\/b><\/p>\n<p style=\"margin-left:22%;\">Ericsson\u2019s Communication CPU to Application CPU interface (CAIF) protocol (since Linux 2.6.36). See <i>Documentation\/networking\/caif\/Linux-CAIF.txt<\/i> in the Linux kernel source tree for details.<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_ALG<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>Interface to kernel crypto API (since Linux 2.6.38). See <i>Documentation\/crypto\/userspace-if.rst<\/i> in the Linux kernel source tree for details.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin-left:11%;\"><b>AF_VSOCK<\/b><\/p>\n<p style=\"margin-left:22%;\">VMWare VSockets protocol for hypervisor-guest interaction (since Linux 3.9); has no relation to <b>AF_IUCV<\/b> and <b>AF_SMC<\/b>. For further information, see <b>vsock<\/b>(7).<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_KCM<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>KCM (kernel connection multiplexer) interface (since Linux 4.6). See <i>Documentation\/networking\/kcm.txt<\/i> in the Linux kernel source tree for details.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p style=\"margin-left:11%;\"><b>AF_QIPCRTR<\/b><\/p>\n<p style=\"margin-left:22%;\">Qualcomm IPC router interface protocol (since Linux 4.7).<\/p>\n<table width=\"100%\" border=\"0\" rules=\"none\" frame=\"void\" cellspacing=\"0\" cellpadding=\"0\">\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_SMC<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>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 <b>AF_RDS<\/b>, <b>AF_IUCV<\/b> or <b>AF_VSOCK<\/b>. See <a href=\"https:\/\/tools.ietf.org\/html\/rfc7609\">RFC 7609 <i>IBM\u2019s Shared Memory Communications over RDMA (SMC-R) Protocol<\/i><\/a> for details regarding SMC-R. See <a href=\"https:\/\/www-01.ibm.com\/software\/network\/commserver\/SMC-D\/index.html\"><i>SMC-D Reference Information<\/i><\/a> for details regarding SMC-D.<\/p>\n<\/td>\n<\/tr>\n<tr valign=\"top\" align=\"left\">\n<td width=\"11%\"><\/td>\n<td width=\"9%\">\n<p><b>AF_XDP<\/b><\/p>\n<\/td>\n<td width=\"2%\"><\/td>\n<td width=\"78%\">\n<p>XDP (express data path) interface (since Linux 4.18). See <i>Documentation\/networking\/af_xdp.rst<\/i> in the Linux kernel source tree for details.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<h2>SEE ALSO <a name=\"SEE ALSO\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>socket<\/b>(2), <b>socket<\/b>(7)<\/p>\n<h2>COLOPHON <a name=\"COLOPHON\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">This page is part of release 5.10 of the Linux <i>man-pages<\/i> 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\u2212pages\/.<\/p>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>  address_families \u2212 socket address families (domains) <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[971],"tags":[973,1190,972],"class_list":["post-4111","post","type-post","status-publish","format-standard","hentry","category-7-miscelanea","tag-973","tag-address_families","tag-man7"],"gutentor_comment":0,"_links":{"self":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/comments?post=4111"}],"version-history":[{"count":0,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4111\/revisions"}],"wp:attachment":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/media?parent=4111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/categories?post=4111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/tags?post=4111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}