# address_families - socket address families (domains) - man(7) - [phpMan]

[_address_families_(7)](https://www.chedong.com/phpMan.php/man/addressfamilies/7/markdown)               Miscellaneous Information Manual               [_address_families_(7)](https://www.chedong.com/phpMan.php/man/addressfamilies/7/markdown)

## 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)](https://www.chedong.com/phpMan.php/man/socket/2/markdown) specifies a communication domain; this selects the pro‐
       tocol  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)](https://www.chedong.com/phpMan.php/man/unix/7/markdown).

       **AF_INET**
              IPv4 Internet protocols.  For further information, see [**ip**(7)](https://www.chedong.com/phpMan.php/man/ip/7/markdown).

       **AF_AX25**
              Amateur radio AX.25 protocol.  For further information, see [**ax25**(4)](https://www.chedong.com/phpMan.php/man/ax25/4/markdown).

       **AF_IPX **IPX - Novell protocols.

       **AF_APPLETALK**
              AppleTalk For further information, see [**ddp**(7)](https://www.chedong.com/phpMan.php/man/ddp/7/markdown).

       **AF_NETROM**
              AX.25 packet layer protocol.  For further information, see [**netrom**(4)](https://www.chedong.com/phpMan.php/man/netrom/4/markdown), _The_ _Packet_ _Radio_
              _Protocols_ _and_ _Linux_  and  the _AX.25_, _NET/ROM_, and _ROSE_ _network_ _programming_ chapters of
              the [_Linux_ _Amateur_ _Radio_ _AX.25_ _HOWTO_](<https://www.tldp.org/HOWTO/AX25-HOWTO/x2107.html>).

       **AF_BRIDGE**
              Can't be used for creating sockets; mostly used for bridge links in [**rtnetlink**(7)](https://www.chedong.com/phpMan.php/man/rtnetlink/7/markdown)  pro‐
              tocol commands.

       **AF_ATMPVC**
              Access to raw ATM Permanent Virtual Circuits (PVCs).  For further information, see the
              [_ATM_ _on_ _Linux_ _HOWTO_](<https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO>).

       **AF_X25 **ITU-T X.25 / ISO/IEC 8208 protocol.  For further information, see [**x25**(7)](https://www.chedong.com/phpMan.php/man/x25/7/markdown).

       **AF_INET6**
              IPv6 Internet protocols.  For further information, see [**ipv6**(7)](https://www.chedong.com/phpMan.php/man/ipv6/7/markdown).

       **AF_ROSE**
              RATS  (Radio  Amateur  Telecommunications  Society).   Open Systems environment (ROSE)
              AX.25 packet layer protocol.  For further information, 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 fire‐
              wall upcalls.

       **AF_KEY **Key management protocol, originally  developed  for  usage  with  IPsec  (since  Linux
              2.1.38).   This  has  no relation to [**keyctl**(2)](https://www.chedong.com/phpMan.php/man/keyctl/2/markdown) and the in-kernel key storage facility.
              See [RFC 2367 _PF_KEY_ _Key_ _Management_ _API,_ _Version_ _2_](<https://tools.ietf.org/html/rfc2367>) for details.

       **AF_NETLINK**
              Kernel user interface device.  For further information, see [**netlink**(7)](https://www.chedong.com/phpMan.php/man/netlink/7/markdown).

       **AF_PACKET**
              Low-level packet interface.  For further information, see [**packet**(7)](https://www.chedong.com/phpMan.php/man/packet/7/markdown).

       **AF_ECONET**
              Acorn Econet protocol (removed in Linux 3.5).  See the  [Econet documentation](<http://www.8bs.com/othrdnld/manuals/econet.shtml>)  for  de‐
              tails.

       **AF_ATMSVC**
              Access to ATM Switched Virtual Circuits (SVCs) See the [_ATM_ _on_ _Linux_ _HOWTO_](<https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO>) 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)](https://www.chedong.com/phpMan.php/man/rds/7/markdown),  [**rds-rdma**(7)](https://www.chedong.com/phpMan.php/man/rds-rdma/7/markdown),  and
              _Documentation/networking/rds.txt_ in the Linux kernel source tree.

       **AF_IRDA**
              Socket  interface  over  IrDA (moved to staging in Linux 4.14, removed in Linux 4.17).
              For further information, see [**irda**(7)](https://www.chedong.com/phpMan.php/man/irda/7/markdown).

       **AF_PPPOX**
              Generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE).  See _Documen‐_
              _tation/networking/l2tp.txt_ in the Linux kernel 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_  _Con‐_
              _trol_  (The  Institute  of  Electronics  and Electronics Engineers, Inc., New York, New
              York, 1985) for details.  See also [some historical notes](<https://wiki.linuxfoundation.org/networking/llc>) 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)](https://www.chedong.com/phpMan.php/man/netlink/7/markdown), 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 _Documenta‐_
              _tion/networking/can.rst_ in the Linux kernel source tree for details.

       **AF_TIPC**
              TIPC, "cluster domain sockets" protocol (since Linux 2.6.16).   See  _TIPC_ _Programmer's_
              _Guide_ and the [protocol description](<http://tipc.io/protocol.html>) for details.

       **AF_BLUETOOTH**
              Bluetooth  low-level socket protocol (since Linux 3.11).  See _Bluetooth_ _Management_ _API_
              _overview_ and [_An_ _Introduction_ _to_ _Bluetooth_ _Programming_ by Albert Huang](<https://people.csail.mit.edu/albert/bluez-intro/>) for details.

       **AF_IUCV**
              IUCV (inter-user communication vehicle) z/VM protocol for hypervisor-guest interaction
              (since Linux 2.6.21); has no relation to  **AF_VSOCK  **and/or  **AF_SMC  **See  _IUCV_ _protocol_
              _overview_ for details.

       **AF_RXRPC**
              Rx, Andrew File System remote procedure call protocol (since Linux 2.6.22).  See _Docu‐_
              _mentation/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 [mISDN wiki](<http://www.misdn.eu/wiki/Main_Page/>)
              for details.

       **AF_PHONET**
              Nokia  cellular  modem IPC/RPC interface (since Linux 2.6.31).  See _Documentation/net‐_
              _working/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/networking/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/networking/caif/Linux-CAIF.txt_ in the Linux kernel  source
              tree for details.

       **AF_ALG **Interface  to  kernel crypto API (since Linux 2.6.38).  See _Documentation/crypto/user‐_
              _space-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)](https://www.chedong.com/phpMan.php/man/vsock/7/markdown).

       **AF_KCM **KCM  (kernel  connection  multiplexer)  interface  (since  Linux 4.6).  See _Documenta‐_
              _tion/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 [RFC 7609 _IBM's_ _Shared_ _Memory_ _Communications_ _over_ _RDMA_ _(SMC-R)_ _Protocol_](<https://tools.ietf.org/html/rfc7609>) for details
              regarding SMC-R.  See [_SMC-D_ _Reference_ _Information_](<https://www-01.ibm.com/software/network/commserver/SMC-D/index.html>) for details regarding SMC-D.

       **AF_XDP **XDP  (express  data  path)  interface  (since Linux 4.18).  See _Documentation/network‐_
              _ing/af_xdp.rst_ in the Linux kernel source tree for details.

## SEE ALSO
       [**socket**(2)](https://www.chedong.com/phpMan.php/man/socket/2/markdown), [**socket**(7)](https://www.chedong.com/phpMan.php/man/socket/7/markdown)

Linux man-pages 6.7                          2024-01-28                          [_address_families_(7)](https://www.chedong.com/phpMan.php/man/addressfamilies/7/markdown)
