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
       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), ]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 fur-
              ther 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)
              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 ]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  Net-
              works:  Logical  Link  Control (The Institute of Electronics and
              Electronics Engineers, Inc., New York, New York, 1985)  for  de-
              tails.   See  also  ]8;;https://wiki.linuxfoundation.org/networking/llc\some historical notes]8;;\ regarding its develop-
              ment.

       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
              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 ]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 Information]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.7               2024-01-28               address_families(7)

Generated by dwww version 1.16 on Tue Dec 16 11:16:12 CET 2025.