Protocol and Address Families
The socket API is a general interface for Unix networking and allows the use of various network protocols and addressing architectures.
The following lists a sampling of protocol families (preceded by the standard symbolic identifier) defined in a modern Linux or BSD implementation:
PF_LOCAL, PF_UNIX, PF_FILE Local to host (pipes and file-domain) PF_INET IP protocol family PF_AX25 Amateur Radio AX.25 PF_IPX Novell Internet Protocol PF_APPLETALK Appletalk DDP PF_NETROM Amateur radio NetROM PF_BRIDGE Multiprotocol bridge PF_ATMPVC ATM PVCs PF_X25 Reserved for X.25 project PF_INET6 IP version 6 PF_ROSE Amateur Radio X.25 PLP PF_DECnet Reserved for DECnet project PF_NETBEUI Reserved for 802.2LLC project PF_SECURITY Security callback pseudo AF PF_KEY PF_KEY key management API PF_NETLINK, PF_ROUTE routing API PF_PACKET Packet family PF_ASH Ash PF_ECONET Acorn Econet PF_ATMSVC ATM SVCs PF_SNA Linux SNA Project PF_IRDA IrDA sockets PF_PPPOX PPP over X sockets PF_WANPIPE Wanpipe API sockets PF_BLUETOOTH Bluetooth socketsA socket for communications using any family is created with the socket function (see above), by specifying the desired protocol family (PF_-identifier) as an argument.
The original design concept of the socket interface distinguished between protocol types (families) and the specific address types that each may use. It was envisioned that a protocol family may have several address types. Address types were defined by additional symbolic constants, using the prefix AF_ instead of PF_. The AF_-identifiers are intended for all data structures that specifically deal with the address type and not the protocol family. However, this concept of separation of protocol and address type has not found implementation support and the AF_-constants were simply defined by the corresponding protocol identifier, rendering the distinction between AF_ versus PF_ constants a technical argument of no significant practical consequence. Indeed, much confusion exists in the proper usage of both forms.
However, the current POSIX.1—2008 specification doesn't specify any of PF_-constants, but only AF_-constants
Read more about this topic: Berkeley Sockets
Famous quotes containing the words address and/or families:
“Classic remorse, as all the moralists are agreed, is a most undesirable sentiment. If you have behaved badly, repent, make what amends you can and address yourself to the task of behaving better next time. On no account brood over your wrongdoing. ROLLING IN THE MUCK IS NOT THE BEST WAY OF GETTING CLEAN.”
—Aldous Huxley (18941963)
“Family jokes, though rightly cursed by strangers, are the bond that keeps most families alive.”
—Stella Benson (18921933)