{
    "mode": "man",
    "parameter": "address_families",
    "section": "7",
    "url": "https://www.chedong.com/phpMan.php/man/address_families/7/json",
    "generated": "2026-06-03T02:35:48Z",
    "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, AFLOCAL\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 ⟨https://www.tldp.org/HOWTO/AX25-HOWTO/x61.html⟩  and  the  AX.25,\nNET/ROM,  and ROSE network programming chapters of the Linux Amateur Radio AX.25 HOWTO\n⟨https://www.tldp.org/HOWTO/AX25-HOWTO/x2107.html⟩.\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 ⟨https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO⟩.\n\nAFX25 ITU-T X.25 / ISO-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)  AX.25\npacket  layer  protocol.   For  further  information,  see  the  resources  listed for\nAFNETROM.\n\nAFDECnet\nDECet 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\n⟨https://tools.ietf.org/html/rfc2367⟩ 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\n⟨http://www.8bs.com/othrdnld/manuals/econet.shtml⟩ for details.\n\nAFATMSVC\nAccess  to  ATM  Switched  Virtual  Circuits  (SVCs)  See  the  ATM  on  Linux   HOWTO\n⟨https://www.tldp.org/HOWTO/text/ATM-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\n⟨https://wiki.linuxfoundation.org/networking/llc⟩ 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     ⟨http://tipc.io/programming.html⟩     and     the    protocol    description\n⟨http://tipc.io/protocol.html⟩ for details.\n\nAFBLUETOOTH\nBluetooth low-level socket protocol (since Linux 3.11).  See Bluetooth Management  API\noverview    ⟨https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/mgmt-api.txt⟩\nand    An    Introduction    to    Bluetooth    Programming    by     Albert     Huang\n⟨https://people.csail.mit.edu/albert/bluez-intro/⟩ 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                  ⟨https://www.ibm.com/support/knowledgecenter/en/SSB27U6.4.0\n/com.ibm.zvm.v640.hcpb4/iucv.htm⟩ 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\n⟨http://www.misdn.eu/wiki/MainPage/⟩ for 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   Documenta‐\ntion/crypto/userspace-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\n⟨https://tools.ietf.org/html/rfc7609⟩  for  details  regarding   SMC-R.    See   SMC-D\nReference     Information     ⟨https://www-01.ibm.com/software/network/commserver/SMC-\nD/index.html⟩ 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",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "socket(2), socket(7)\n",
            "subsections": []
        },
        "COLOPHON": {
            "content": "This  page  is  part  of  release  5.10 of the Linux man-pages project.  A description of the\nproject, information about reporting bugs, and the latest version of this page, can be  found\nat https://www.kernel.org/doc/man-pages/.\n\n\n\nLinux                                        2018-10-16                          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"
        }
    ]
}