summaryrefslogtreecommitdiffstats
path: root/man/man7/address_families.7
diff options
context:
space:
mode:
Diffstat (limited to 'man/man7/address_families.7')
-rw-r--r--man/man7/address_families.7392
1 files changed, 392 insertions, 0 deletions
diff --git a/man/man7/address_families.7 b/man/man7/address_families.7
new file mode 100644
index 000000000..16fed6a2a
--- /dev/null
+++ b/man/man7/address_families.7
@@ -0,0 +1,392 @@
+.\" Copyright (c) 2018 by Eugene Syromyatnikov <evgsyr@gmail.com>,
+.\" and Copyright (c) 2018 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH address_families 7 (date) "Linux man-pages (unreleased)"
+.SH NAME
+address_families \- socket address families (domains)
+.SH SYNOPSIS
+.nf
+.BR "#include <sys/types.h>" " /* See NOTES */"
+.B #include <sys/socket.h>
+.P
+.BI "int socket(int " domain ", int " type ", int " protocol );
+.fi
+.SH DESCRIPTION
+The
+.I domain
+argument of the
+.BR socket (2)
+specifies a communication domain; this selects the protocol
+family which will be used for communication.
+These families are defined in
+.IR <sys/socket.h> .
+The formats currently understood by the Linux kernel include:
+.TP
+.B AF_UNIX
+.TQ
+.B AF_LOCAL
+Local communication.
+For further information, see
+.BR unix (7).
+.TP
+.B AF_INET
+IPv4 Internet protocols.
+For further information, see
+.BR ip (7).
+.TP
+.B AF_AX25
+Amateur radio AX.25 protocol.
+For further information, see
+.BR ax25 (4).
+.\" Part of ax25-tools
+.TP
+.B AF_IPX
+IPX \- Novell protocols.
+.TP
+.B AF_APPLETALK
+AppleTalk
+For further information, see
+.BR ddp (7).
+.TP
+.B AF_NETROM
+AX.25 packet layer protocol.
+For further information, see
+.BR netrom (4),
+.\" Part of ax25-tools package
+.UR https://www.tldp.org/HOWTO/AX25-HOWTO/x61.html
+.I The Packet Radio Protocols and Linux
+.UE
+and the
+.IR AX.25 ", " NET/ROM ", and " "ROSE network programming"
+chapters of the
+.UR https://www.tldp.org/HOWTO/AX25-HOWTO/x2107.html
+.I Linux Amateur Radio AX.25 HOWTO
+.UE .
+.TP
+.B AF_BRIDGE
+Can't be used for creating sockets;
+mostly used for bridge links in
+.BR rtnetlink (7)
+protocol commands.
+.TP
+.B AF_ATMPVC
+Access to raw ATM Permanent Virtual Circuits (PVCs).
+For further information, see the
+.UR https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO
+.I ATM on Linux HOWTO
+.UE .
+.TP
+.B AF_X25
+ITU-T X.25 / ISO/IEC\~8208 protocol.
+For further information, see
+.BR x25 (7).
+.TP
+.B AF_INET6
+IPv6 Internet protocols.
+For further information, see
+.BR ipv6 (7).
+.TP
+.B AF_ROSE
+RATS (Radio Amateur Telecommunications Society).
+Open Systems environment (ROSE) AX.25 packet layer protocol.
+For further information, see the resources listed for
+.BR AF_NETROM .
+.TP
+.B AF_DECnet
+DECet protocol sockets.
+See
+.I Documentation/networking/decnet.txt
+in the Linux kernel source tree for details.
+.TP
+.B AF_NETBEUI
+Reserved for "802.2LLC project"; never used.
+.TP
+.B AF_SECURITY
+This was a short-lived (between Linux 2.1.30 and 2.1.99pre2) protocol family
+for firewall upcalls.
+.TP
+.B AF_KEY
+Key management protocol, originally developed for usage with IPsec
+(since Linux 2.1.38).
+This has no relation to
+.BR keyctl (2)
+and the in-kernel key storage facility.
+See
+.UR https://tools.ietf.org/html/rfc2367
+RFC 2367
+.I PF_KEY Key Management API, Version 2
+.UE
+for details.
+.TP
+.B AF_NETLINK
+Kernel user interface device.
+For further information, see
+.BR netlink (7).
+.TP
+.B AF_PACKET
+Low-level packet interface.
+For further information, see
+.BR packet (7).
+.\" .TP
+.\" .B AF_ASH
+.\" Asynchronous Serial Host protocol (?)
+.\" Notes from Eugene Syromyatnikov:
+.\" I haven't found any concrete information about this one;
+.\" it never was implemented in Linux, at least, judging by historical
+.\" repos. There is also this file (and its variations):
+.\" https://github.com/ecki/net-tools/blob/master/lib/ash.c
+.\" ( https://github.com/ecki/net-tools/commits/master/lib/ash.c )
+.\" it mentions "NET-2 distribution" (BSD Net/2?), but, again, I failed
+.\" to find any mentions of "ash" protocol there.
+.\" (for the reference:
+.\" ftp://pdp11.org.ru/pub/unix-archive/Distributions/UCB/Net2/net2.tar.gz )
+.\" Another source that mentions it is
+.\" https://www.silabs.com/documents/public/user-guides/ug101-uart-gateway-protocol-reference.pdf
+.\" https://www.silabs.com/documents/public/user-guides/ug115-ashv3-protocol-reference.pdf
+.\" but I doubt that it's related, as former files use 64-byte addresses and
+.\" "Hamming-encode of hops", and that's barely combines with a protocol
+.\" that is mainly used over serial connection.
+.TP
+.B AF_ECONET
+.\" commit: 349f29d841dbae854bd7367be7c250401f974f47
+Acorn Econet protocol (removed in Linux 3.5).
+See the
+.UR http://www.8bs.com/othrdnld/manuals/econet.shtml
+Econet documentation
+.UE
+for details.
+.TP
+.B AF_ATMSVC
+Access to ATM Switched Virtual Circuits (SVCs)
+See the
+.UR https://www.tldp.org/HOWTO/text/ATM-Linux-HOWTO
+.I ATM on Linux HOWTO
+.UE
+for details.
+.TP
+.B AF_RDS
+.\" commit: 639b321b4d8f4e412bfbb2a4a19bfebc1e68ace4
+Reliable Datagram Sockets (RDS) protocol (since Linux 2.6.30).
+RDS over RDMA has no relation to
+.B AF_SMC
+or
+.BR AF_XDP .
+For further information, see
+.\" rds-tools: https://github.com/oracle/rds-tools/blob/master/rds.7
+.\" rds-tools: https://github.com/oracle/rds-tools/blob/master/rds-rdma.7
+.BR rds (7),
+.BR rds\-rdma (7),
+and
+.I Documentation/networking/rds.txt
+in the Linux kernel source tree.
+.TP
+.B AF_IRDA
+.\" commits: 1ca163afb6fd569b, d64c2a76123f0300
+Socket interface over IrDA
+(moved to staging in Linux 4.14, removed in Linux 4.17).
+.\" irda-utils: https://sourceforge.net/p/irda/code/HEAD/tree/tags/IRDAUTILS_0_9_18/irda-utils/man/irda.7.gz?format=raw
+For further information, see
+.BR irda (7).
+.TP
+.B AF_PPPOX
+Generic PPP transport layer, for setting up L2 tunnels
+(L2TP and PPPoE).
+See
+.I Documentation/networking/l2tp.txt
+in the Linux kernel source tree for details.
+.TP
+.B AF_WANPIPE
+.\" commits: ce0ecd594d78710422599918a608e96dd1ee6024
+Legacy protocol for wide area network (WAN) connectivity
+that was used by Sangoma WAN cards (called "WANPIPE");
+removed in Linux 2.6.21.
+.TP
+.B AF_LLC
+.\" linux-history commit: 34beb106cde7da233d4df35dd3d6cf4fee937caa
+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
+.BR AF_PACKET .
+See chapter
+.I 13.5.3. Logical Link Control
+in
+.I Understanding Linux Kernel Internals
+(O'Reilly Media, 2006)
+and
+.I IEEE Standards for Local Area Networks: Logical Link Control
+(The Institute of Electronics and Electronics Engineers, Inc.,
+New York, New York, 1985)
+for details.
+See also
+.UR https://wiki.linuxfoundation.org/networking/llc
+some historical notes
+.UE
+regarding its development.
+.TP
+.B AF_IB
+.\" commits: 8d36eb01da5d371f..ce117ffac2e93334
+InfiniBand native addressing (since Linux 3.11).
+.TP
+.B AF_MPLS
+.\" commits: 0189197f441602acdca3f97750d392a895b778fd
+Multiprotocol Label Switching (since Linux 4.1);
+mostly used for configuring MPLS routing via
+.BR netlink (7),
+as it doesn't expose ability to create sockets to user space.
+.TP
+.B AF_CAN
+.\" commits: 8dbde28d9711475a..5423dd67bd0108a1
+Controller Area Network automotive bus protocol (since Linux 2.6.25).
+See
+.I Documentation/networking/can.rst
+in the Linux kernel source tree for details.
+.TP
+.B AF_TIPC
+.\" commits: b97bf3fd8f6a16966d4f18983b2c40993ff937d4
+TIPC, "cluster domain sockets" protocol (since Linux 2.6.16).
+See
+.UR http://tipc.io/programming.html
+.I TIPC Programmer's Guide
+.UE
+and the
+.UR http://tipc.io/protocol.html
+protocol description
+.UE
+for details.
+.TP
+.B AF_BLUETOOTH
+.\" commits: 8d36eb01da5d371f..ce117ffac2e93334
+Bluetooth low-level socket protocol (since Linux 3.11).
+See
+.UR https://git.kernel.org\:/pub/scm\:/bluetooth/bluez.git\:/tree/doc/mgmt-api.txt
+.I Bluetooth Management API overview
+.UE
+and
+.UR https://people.csail.mit.edu/albert/bluez-intro/
+.I An Introduction to Bluetooth Programming
+by Albert Huang
+.UE
+for details.
+.TP
+.B AF_IUCV
+.\" commit: eac3731bd04c7131478722a3c148b78774553116
+IUCV (inter-user communication vehicle) z/VM protocol
+for hypervisor-guest interaction (since Linux 2.6.21);
+has no relation to
+.B AF_VSOCK
+and/or
+.B AF_SMC
+See
+.UR https://www.ibm.com\:/support\:/knowledgecenter\:/en/SSB27U_6.4.0\:/com.ibm.zvm.v640.hcpb4\:/iucv.htm
+.I IUCV protocol overview
+.UE
+for details.
+.TP
+.B AF_RXRPC
+.\" commit: 17926a79320afa9b95df6b977b40cca6d8713cea
+.\" http://people.redhat.com/~dhowells/rxrpc/
+.\" https://www.infradead.org/~dhowells/kafs/af_rxrpc_client.html
+.\" http://workshop.openafs.org/afsbpw09/talks/thu_2/kafs.pdf
+.\" http://pages.cs.wisc.edu/~remzi/OSTEP/dist-afs.pdf
+.\" http://web.mit.edu/kolya/afs/rx/rx-spec
+Rx, Andrew File System remote procedure call protocol
+(since Linux 2.6.22).
+See
+.I Documentation/networking/rxrpc.txt
+in the Linux kernel source tree for details.
+.TP
+.B AF_ISDN
+.\" commit: 1b2b03f8e514e4f68e293846ba511a948b80243c
+New "modular ISDN" driver interface protocol (since Linux 2.6.27).
+See the
+.UR http://www.misdn.eu/wiki/Main_Page/
+mISDN wiki
+.UE
+for details.
+.TP
+.B AF_PHONET
+.\" commit: 4b07b3f69a8471cdc142c51461a331226fef248a
+Nokia cellular modem IPC/RPC interface (since Linux 2.6.31).
+See
+.I Documentation/networking/phonet.txt
+in the Linux kernel source tree for details.
+.TP
+.B AF_IEEE802154
+.\" commit: 9ec7671603573ede31207eb5b0b3e1aa211b2854
+IEEE 802.15.4 WPAN (wireless personal area network) raw packet protocol
+(since Linux 2.6.31).
+See
+.I Documentation/networking/ieee802154.txt
+in the Linux kernel source tree for details.
+.TP
+.B AF_CAIF
+.\" commit: 529d6dad5bc69de14cdd24831e2a14264e93daa4
+.\" https://lwn.net/Articles/371017/
+.\" http://read.pudn.com/downloads157/doc/comm/698729/Misc/caif/Com%20CPU%20to%20Appl%20CPU%20Interface%20DESCRIPTION_LZN901%202002_revR1C.pdf
+.\" http://read.pudn.com/downloads157/doc/comm/698729/Misc/caif/Com%20CPU%20to%20Appl%20CPU%20Interface%20PROTOCOL%20SPECIFICATION_LZN901%201708_revR1A.pdf
+Ericsson's Communication CPU to Application CPU interface (CAIF) protocol
+(since Linux 2.6.36).
+See
+.I Documentation/networking/caif/Linux\-CAIF.txt
+in the Linux kernel source tree for details.
+.TP
+.B AF_ALG
+Interface to kernel crypto API (since Linux 2.6.38).
+See
+.I Documentation/crypto/userspace\-if.rst
+in the Linux kernel source tree for details.
+.TP
+.B AF_VSOCK
+.\" commit: d021c344051af91f42c5ba9fdedc176740cbd238
+VMWare VSockets protocol for hypervisor-guest interaction (since Linux 3.9);
+has no relation to
+.B AF_IUCV
+and
+.BR AF_SMC .
+For further information, see
+.BR vsock (7).
+.TP
+.B AF_KCM
+.\" commit: 03c8efc1ffeb6b82a22c1af8dd908af349563314
+KCM (kernel connection multiplexer) interface (since Linux 4.6).
+See
+.I Documentation/networking/kcm.txt
+in the Linux kernel source tree for details.
+.TP
+.B AF_QIPCRTR
+.\" commit: bdabad3e363d825ddf9679dd431cca0b2c30f881
+Qualcomm IPC router interface protocol (since Linux 4.7).
+.TP
+.B AF_SMC
+.\" commit: f3a3e248f3f7cd9a4bed334022704d7e7fc781bf
+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
+.BR AF_RDS ", " AF_IUCV
+or
+.BR AF_VSOCK .
+See
+.UR https://tools.ietf.org/html/rfc7609
+RFC 7609
+.I IBM's Shared Memory Communications over RDMA (SMC-R) Protocol
+.UE
+for details regarding SMC-R.
+See
+.UR https://www-01.ibm.com\:/software/network\:/commserver\:/SMC-D/index.html
+.I SMC-D Reference Information
+.UE
+for details regarding SMC-D.
+.TP
+.B AF_XDP
+.\" commit: c0c77d8fb787cfe0c3fca689c2a30d1dad4eaba7
+XDP (express data path) interface (since Linux 4.18).
+See
+.I Documentation/networking/af_xdp.rst
+in the Linux kernel source tree for details.
+.SH SEE ALSO
+.BR socket (2),
+.BR socket (7)