dwww Home | Manual pages | Find package

address_families(7)     Miscellaneous Information Manual    address_families(7)

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 un-
       derstood 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),  ]8;;https://www.tldp.org/HOWTO/AX25-HOWTO/x61.html\The Packet Radio Protocols and Linux]8;;\  and  the AX.25,
              NET/ROM, and ROSE network programming chapters of the  ]8;;https://www.tldp.org/HOWTO/AX25-HOWTO/x2107.html\Linux Ama-
              teur Radio AX.25 HOWTO]8;;\.

       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 ]8;;https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO\ATM on Linux HOWTO]8;;\.

       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 in-
              formation, 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) pro-
              tocol 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 ]8;;https://tools.ietf.org/html/rfc2367\RFC 2367 PF_KEY Key
              Management API, Version 2]8;;\ 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  ]8;;http://www.8bs.com/othrdnld/manuals/econet.shtml\Econet
              documentation]8;;\ for details.

       AF_ATMSVC
              Access  to  ATM  Switched  Virtual Circuits (SVCs) See the ]8;;https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO\ATM on
              Linux HOWTO]8;;\ 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/network-
              ing/rds.txt in the Linux kernel source tree.

       AF_IRDA
              Socket  interface  over IrDA (moved to staging in Linux 4.14, re-
              moved 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 ker-
              nel 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 Engi-
              neers, Inc., New York, New York, 1985)  for  details.   See  also
              ]8;;https://wiki.linuxfoundation.org/networking/llc\some historical notes]8;;\ 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  ker-
              nel source tree for details.

       AF_TIPC
              TIPC,  "cluster  domain  sockets"  protocol (since Linux 2.6.16).
              See ]8;;http://tipc.io/programming.html\TIPC Programmer's Guide]8;;\ and the ]8;;http://tipc.io/protocol.html\protocol description]8;;\ for  de-
              tails.

       AF_BLUETOOTH
              Bluetooth  low-level  socket  protocol  (since  Linux 3.11).  See
              ]8;;https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/mgmt-api.txt\Bluetooth Management API overview]8;;\  and   ]8;;https://people.csail.mit.edu/albert/bluez-intro/\An Introduction to Blue-
              tooth Programming by Albert Huang]8;;\ for details.

       AF_IUCV
              IUCV  (inter-user communication vehicle) z/VM protocol for hyper-
              visor-guest interaction (since Linux 2.6.21); has no relation  to
              AF_VSOCK and/or AF_SMC See ]8;;https://www.ibm.com/support/knowledgecenter/en/SSB27U_6.4.0/com.ibm.zvm.v640.hcpb4/iucv.htm\IUCV protocol overview]8;;\ 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 ]8;;http://www.misdn.eu/wiki/Main_Page/\mISDN wiki]8;;\ 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/network-
              ing/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/network-
              ing/caif/Linux-CAIF.txt  in  the Linux kernel source tree for de-
              tails.

       AF_ALG Interface to kernel crypto API (since Linux 2.6.38).   See  Docu-
              mentation/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 mem-
              ory 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
              ]8;;https://tools.ietf.org/html/rfc7609\RFC 7609 IBM's Shared Memory  Communications  over  RDMA  (SMC-R)
              Protocol]8;;\ for details regarding SMC-R.  See ]8;;https://www-01.ibm.com/software/network/commserver/SMC-D/index.html\SMC-D Reference Infor-
              mation]8;;\ for details regarding SMC-D.

       AF_XDP XDP  (express data path) interface (since Linux 4.18).  See Docu-
              mentation/networking/af_xdp.rst in the Linux kernel  source  tree
              for details.

SEE ALSO
       socket(2), socket(7)

Linux man-pages 6.9.1              2024-06-11               address_families(7)

Generated by dwww version 1.16 on Tue Dec 16 04:48:52 CET 2025.