INET(4) | Device Drivers Manual | INET(4) |
inet
—
#include <sys/types.h>
#include <netinet/in.h>
SOCK_STREAM
, SOCK_DGRAM
, and
SOCK_RAW
socket types; the
SOCK_RAW
interface provides access to the IP protocol.
<netinet/in.h>
defines this
address as a discriminated union.
Sockets bound to the Internet protocol family use the following addressing structure,
struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; int8_t sin_zero[8]; };
Sockets may be created with the local address
INADDR_ANY
to effect “wildcard”
matching on incoming messages. The address in a
connect(2) or
sendto(2) call may be given as
INADDR_ANY
to mean “this host”. The
distinguished address INADDR_BROADCAST
is allowed as
a shorthand for the broadcast address on the primary network if the first
network configured supports broadcast.
SOCK_STREAM
abstraction while UDP is used to support
the SOCK_DGRAM
abstraction. A raw interface to IP is
available by creating an Internet socket of type
SOCK_RAW
. The ICMP message protocol is accessible from
a raw socket.
The 32-bit Internet address contains both network and host parts.
It is frequency-encoded; the most-significant bit is clear in Class A
addresses, in which the high-order 8 bits are the network number. Class B
addresses use the high-order 16 bits as the network field, and Class C
addresses have a 24-bit network part. Sites with a cluster of local networks
and a connection to the Internet may chose to use a single network number
for the cluster; this is done by using subnet addressing. The local (host)
portion of the address is further subdivided into subnet and host parts.
Within a subnet, each subnet appears to be an individual network;
externally, the entire cluster appears to be a single, uniform network
requiring only a single routing entry. Subnet addressing is enabled and
examined by the following
ioctl(2) commands on a datagram
socket in the Internet domain; they have the same form as the
SIOCIFADDR
command (see
netintro(4)).
SIOCSIFNETMASK
SIOCGIFNETMASK
Stuart Sechrest, An Introductory 4.4BSD Interprocess Communication Tutorial. (see /usr/share/doc/psd/20.ipctut)
Samuel J. Leffler, Robert S. Fabry, William N. Joy, Phil Lapsley, Steve Miller, and Chris Torek, Advanced 4.4BSD IPC Tutorial. (see /usr/share/doc/psd/21.ipc)
inet
protocol interface appeared in
4.2BSD.
May 15, 2003 | NetBSD 9.4 |