inet man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

INET(7P)							      INET(7P)

       inet - Internet protocol family

       #include <sys/types.h>

       #include <netinet/in.h>

       The Internet protocol family implements a collection of protocols which
       are centered around the Internet Protocol ("IP") and which share a com‐
       mon address format. The Internet family protocols can be accessed using
       the socket interface, where they support the  SOCK_STREAM,  SOCK_DGRAM,
       and  SOCK_RAW  socket  types,  or  the Transport Level Interface (TLI),
       where they support the connectionless (T_CLTS)  and connection oriented
       (T_COTS_ORD) service types.

       The  Internet  protocol	family	is  comprised of the Internet Protocol
       ("IP"), the Address Resolution Protocol ("ARP"), the  Internet  Control
       Message	Protocol  ("ICMP"), the Transmission Control Protocol ("TCP"),
       and the User Datagram Protocol ("UDP").

       TCP supports the socket interface's SOCK_STREAM abstraction  and	 TLI's
       T_COTS_ORD service type. UDP supports the SOCK_DGRAM socket abstraction
       and the TLI T_CLTS service type. See  tcp(7P)  and  udp(7P).  A	direct
       interface  to  IP  is available using both TLI and the socket interface
       (see ip(7P)).  ICMP is used by the kernel to handle and	report	errors
       in  protocol  processing.  It  is also accessible to user programs (see
       icmp(7P)).  ARP is used to translate 32-bit IP  addresses  into	48-bit
       Ethernet addresses. See arp(7P).

       The  32-bit  IP	address is divided into network number and host number
       parts. It is frequency-encoded. The most-significant  bit  is  zero  in
       Class A addresses, in which the high-order 8 bits represent the network
       number. Class B addresses have their high order two bits set to 10  and
       use  the	 high-order  16	 bits  as  the	network	 number field. Class C
       addresses have a 24-bit network number part of  which  the  high	 order
       three  bits  are	 110. Sites with a cluster of IP networks may chose to
       use a single network number for the cluster; this is done by using sub‐
       net  addressing. The host number portion of the address is further sub‐
       divided into subnet number and host number 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 follow‐
       ing ioctl(2) commands. They have the same form as the SIOCSIFADDR  com‐

			 Set  interface network mask. The network mask defines
			 the network part of the address; if it contains  more
			 of  the address than the address type would indicate,
			 then subnets are in use.

			 Get interface network mask.

       IP addresses are four byte quantities, stored in	 network  byte	order.
       IP addresses should be manipulated using the byte order conversion rou‐
       tines. See  byteorder(3SOCKET).

       Addresses in the Internet protocol family use the   sockaddr_in	struc‐
       ture, which has that following members:

	 short	  sin_family;
	 ushort_t sin_port;
	 struct	  in_addr  sin_addr;
	 char	  sin_zero[8];

       Library	routines  are  provided to manipulate structures of this form;
       See inet(3SOCKET).

       The sin_addr field of the sockaddr_in structure specifies  a  local  or
       remote  IP  address.   Each  network  interface	has  its own unique IP
       address.	 The special value INADDR_ANY may be used  in  this  field  to
       effect  "wildcard"  matching. Given in a bind(3SOCKET) call, this value
       leaves the local IP address of the  socket  unspecified,	 so  that  the
       socket  will  receive  connections  or  messages directed at any of the
       valid IP addresses of the system. This can prove useful when a  process
       neither	knows nor cares what the local IP address is or when a process
       wishes to receive requests using all of	its  network  interfaces.  The
       sockaddr_in  structure  given in the bind(3SOCKET) call must specify an
       in_addr value of either INADDR_ANY or one  of  the  system's  valid  IP
       addresses.   Requests  to  bind any other address will elicit the error
       EADDRNOTAVAIL.  When a connect(3SOCKET) call is made for a socket  that
       has a wildcard local address, the system sets the sin_addr field of the
       socket to the IP address of the network interface that the packets  for
       that connection are routed through.

       The sin_port field of the sockaddr_in structure specifies a port number
       used by TCP or UDP. The local port address specified in a bind(3SOCKET)
       call  is	 restricted  to	 be  greater  than IPPORT_RESERVED (defined in
       <<netinet/in.h>>) unless the creating process is running as  the	 supe‐
       ruser,  providing  a  space of protected port numbers. In addition, the
       local port address must not be in use by any  socket  of	 same  address
       family and type. Requests to bind sockets to port numbers being used by
       other sockets return the error EADDRINUSE. If the local port address is
       specified  as  0,  then	the system picks a unique port address greater
       than IPPORT_RESERVED.  A unique local port address is also picked  when
       a  socket  which	 is  not bound is used in a connect(3SOCKET) or sendto
       (see send(3SOCKET)) call. This allows programs which do not care	 which
       local  port  number is used to set up TCP connections by simply calling
       socket(3SOCKET) and then connect(3SOCKET), and to  send	UDP  datagrams
       with a socket(3SOCKET) call followed by a sendto() call.

       Although	 this  implementation  restricts  sockets to unique local port
       numbers, TCP allows multiple  simultaneous  connections	involving  the
       same  local port number so long as the remote IP addresses or port num‐
       bers are different for each connection. Programs may  explicitly	 over‐
       ride  the  socket restriction by setting the SO_REUSEADDR socket option
       with setsockopt (see getsockopt(3SOCKET)).

       TLI applies somewhat different semantics to the binding of  local  port
       numbers.	 These semantics apply when Internet family protocols are used
       using the TLI.

       ioctl(2), bind(3SOCKET), byteorder(3SOCKET), connect(3SOCKET), gethost‐
       byname(3NSL),   getnetbyname(3SOCKET),	getprotobyname(3SOCKET),  get‐
       servbyname(3SOCKET),	   getsockopt(3SOCKET),		send(3SOCKET),
       socket(3SOCKET), arp(7P), icmp(7P), ip(7P), tcp(7P), udp(7P)

       Network	Information  Center,  DDN Protocol Handbook (3 vols.), Network
       Information Center, SRI International, Menlo Park, Calif., 1985.

       The Internet protocol support is subject to change as the Internet pro‐
       tocols  develop.	  Users	 should	 not  depend on details of the current
       implementation, but rather the services exported.

				  Aug 3, 2000			      INET(7P)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net