{
    "mode": "man",
    "parameter": "address_families",
    "section": "7",
    "url": "https://www.chedong.com/phpMan.php/man/address_families/7/json",
    "generated": "2026-10-08T09:09:45Z",
    "synopsis": "#include <sys/types.h>          /* See NOTES */",
    "sections": {
        "NAME": {
            "content": "addressfamilies - socket address families (domains)\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "#include <sys/types.h>          /* See NOTES */",
            "subsections": [
                {
                    "name": "#include <sys/socket.h>",
                    "content": "int socket(int domain, int type, int protocol);\n"
                }
            ]
        },
        "DESCRIPTION": {
            "content": "The  domain argument of the socket(2) specifies a communication domain; this selects the pro‐\ntocol  family  which  will  be  used  for  communication.   These  families  are  defined  in\n<sys/socket.h>.  The formats currently understood by the Linux kernel include:\n\nAFUNIX\nAFLOCAL\nLocal communication.  For further information, see unix(7).\n\nAFINET\nIPv4 Internet protocols.  For further information, see ip(7).\n\nAFAX25\nAmateur radio AX.25 protocol.  For further information, see ax25(4).\n\nAFIPX IPX - Novell protocols.\n\nAFAPPLETALK\nAppleTalk For further information, see ddp(7).\n\nAFNETROM\nAX.25 packet layer protocol.  For further information, see netrom(4), The Packet Radio\nProtocols and Linux  and  the AX.25, NET/ROM, and ROSE network programming chapters of\nthe Linux Amateur Radio AX.25 HOWTO.\n\nAFBRIDGE\nCan't be used for creating sockets; mostly used for bridge links in rtnetlink(7)  pro‐\ntocol commands.\n\nAFATMPVC\nAccess to raw ATM Permanent Virtual Circuits (PVCs).  For further information, see the\nATM on Linux HOWTO.\n\nAFX25 ITU-T X.25 / ISO/IEC 8208 protocol.  For further information, see x25(7).\n\nAFINET6\nIPv6 Internet protocols.  For further information, see ipv6(7).\n\nAFROSE\nRATS  (Radio  Amateur  Telecommunications  Society).   Open Systems environment (ROSE)\nAX.25 packet layer protocol.  For further information, see the  resources  listed  for\nAFNETROM.\n",
            "subsections": [
                {
                    "name": "AF_DECnet",
                    "content": "DECet  protocol  sockets.  See Documentation/networking/decnet.txt in the Linux kernel\nsource tree for details.\n\nAFNETBEUI\nReserved for \"802.2LLC project\"; never used.\n\nAFSECURITY\nThis was a short-lived (between Linux 2.1.30 and 2.1.99pre2) protocol family for fire‐\nwall upcalls.\n\nAFKEY Key management protocol, originally  developed  for  usage  with  IPsec  (since  Linux\n2.1.38).   This  has  no relation to keyctl(2) and the in-kernel key storage facility.\nSee RFC 2367 PFKEY Key Management API, Version 2 for details.\n\nAFNETLINK\nKernel user interface device.  For further information, see netlink(7).\n\nAFPACKET\nLow-level packet interface.  For further information, see packet(7).\n\nAFECONET\nAcorn Econet protocol (removed in Linux 3.5).  See the  Econet documentation  for  de‐\ntails.\n\nAFATMSVC\nAccess to ATM Switched Virtual Circuits (SVCs) See the ATM on Linux HOWTO for details.\n\nAFRDS Reliable  Datagram  Sockets (RDS) protocol (since Linux 2.6.30).  RDS over RDMA has no\nrelation to AFSMC or AFXDP.  For further information, see rds(7),  rds-rdma(7),  and\nDocumentation/networking/rds.txt in the Linux kernel source tree.\n\nAFIRDA\nSocket  interface  over  IrDA (moved to staging in Linux 4.14, removed in Linux 4.17).\nFor further information, see irda(7).\n\nAFPPPOX\nGeneric PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE).  See Documen‐\ntation/networking/l2tp.txt in the Linux kernel source tree for details.\n\nAFWANPIPE\nLegacy protocol for wide area network (WAN) connectivity that was used by Sangoma  WAN\ncards (called \"WANPIPE\"); removed in Linux 2.6.21.\n\nAFLLC Logical  link  control  (IEEE  802.2  LLC)  protocol, upper part of data link layer of\nISO/OSI networking protocol stack (since Linux 2.4); has  no  relation  to  AFPACKET.\nSee  chapter  13.5.3.  Logical  Link  Control  in Understanding Linux Kernel Internals\n(O'Reilly Media, 2006) and IEEE Standards for Local Area Networks: Logical  Link  Con‐\ntrol  (The  Institute  of  Electronics  and Electronics Engineers, Inc., New York, New\nYork, 1985) for details.  See also some historical notes regarding its development.\n\nAFIB  InfiniBand native addressing (since Linux 3.11).\n\nAFMPLS\nMultiprotocol Label Switching (since Linux 4.1);  mostly  used  for  configuring  MPLS\nrouting via netlink(7), as it doesn't expose ability to create sockets to user space.\n\nAFCAN Controller  Area Network automotive bus protocol (since Linux 2.6.25).  See Documenta‐\ntion/networking/can.rst in the Linux kernel source tree for details.\n\nAFTIPC\nTIPC, \"cluster domain sockets\" protocol (since Linux 2.6.16).   See  TIPC Programmer's\nGuide and the protocol description for details.\n\nAFBLUETOOTH\nBluetooth  low-level socket protocol (since Linux 3.11).  See Bluetooth Management API\noverview and An Introduction to Bluetooth Programming by Albert Huang for details.\n\nAFIUCV\nIUCV (inter-user communication vehicle) z/VM protocol for hypervisor-guest interaction\n(since Linux 2.6.21); has no relation to  AFVSOCK  and/or  AFSMC  See  IUCV protocol\noverview for details.\n\nAFRXRPC\nRx, Andrew File System remote procedure call protocol (since Linux 2.6.22).  See Docu‐\nmentation/networking/rxrpc.txt in the Linux kernel source tree for details.\n\nAFISDN\nNew \"modular ISDN\" driver interface protocol (since Linux 2.6.27).  See the mISDN wiki\nfor details.\n\nAFPHONET\nNokia  cellular  modem IPC/RPC interface (since Linux 2.6.31).  See Documentation/net‐\nworking/phonet.txt in the Linux kernel source tree for details.\n\nAFIEEE802154\nIEEE 802.15.4 WPAN (wireless personal area network) raw packet protocol  (since  Linux\n2.6.31).   See Documentation/networking/ieee802154.txt in the Linux kernel source tree\nfor details.\n\nAFCAIF\nEricsson's Communication CPU to Application CPU interface (CAIF) protocol (since Linux\n2.6.36).  See Documentation/networking/caif/Linux-CAIF.txt in the Linux kernel  source\ntree for details.\n\nAFALG Interface  to  kernel crypto API (since Linux 2.6.38).  See Documentation/crypto/user‐\nspace-if.rst in the Linux kernel source tree for details.\n\nAFVSOCK\nVMWare VSockets protocol for hypervisor-guest interaction (since Linux  3.9);  has  no\nrelation to AFIUCV and AFSMC.  For further information, see vsock(7).\n\nAFKCM KCM  (kernel  connection  multiplexer)  interface  (since  Linux 4.6).  See Documenta‐\ntion/networking/kcm.txt in the Linux kernel source tree for details.\n\nAFQIPCRTR\nQualcomm IPC router interface protocol (since Linux 4.7).\n\nAFSMC SMC-R (shared memory communications over RDMA) protocol (since Linux 4.11), and  SMC-D\n(shared  memory  communications,  direct  memory  access) protocol for intra-node z/VM\nquest interaction (since Linux 4.19); has no relation to AFRDS, AFIUCV or  AFVSOCK.\nSee RFC 7609 IBM's Shared Memory Communications over RDMA (SMC-R) Protocol for details\nregarding SMC-R.  See SMC-D Reference Information for details regarding SMC-D.\n\nAFXDP XDP  (express  data  path)  interface  (since Linux 4.18).  See Documentation/network‐\ning/afxdp.rst in the Linux kernel source tree for details.\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "socket(2), socket(7)\n\nLinux man-pages 6.7                          2024-01-28                          addressfamilies(7)",
            "subsections": []
        }
    },
    "summary": "addressfamilies - socket address families (domains)",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "socket",
            "section": "2",
            "url": "https://www.chedong.com/phpMan.php/man/socket/2/json"
        },
        {
            "name": "socket",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/socket/7/json"
        }
    ]
}