*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> ip (7)              
Title
Content
Arch
Section
 

Contents


IP(7P)									IP(7P)


NAME    [Toc]    [Back]

     ip	- Internet Protocol

SYNOPSIS    [Toc]    [Back]

     #include <sys/socket.h>
     #include <netinet/in.h>

     s = socket(AF_INET, SOCK_RAW, proto);

DESCRIPTION    [Toc]    [Back]

     IP	is the network layer protocol used by the Internet protocol family.
     Options may be set	at the IP level	when using higher-level	protocols that
     are based on IP (such as TCP and UDP).  It	may also be accessed through a
     "raw socket" when developing new protocols, or special purpose
     applications.

     There are several IP-level	setsockopt(2)/getsockopt(2) options.
     IP_OPTIONS	may be used to provide IP header options to be transmitted in
     each outgoing packet or to	examine	the header options on incoming
     packets.  IP_OPTIONS may be used with any socket type in the Internet
     family.  The format of IP options to be sent is that specified by the IP
     protocol specification (RFC-791), with one	exception:  the	list of
     addresses for Source Route	options	must include the first-hop gateway at
     the beginning of the list of gateways.  The first-hop gateway address
     will be extracted from the	option list and	the size adjusted accordingly
     before use.  To disable previously	specified options, use a zero-length
     buffer:

	  setsockopt(s,	IPPROTO_IP, IP_OPTIONS,	NULL, 0);

     IP_TOS and	IP_TTL may be used to set the type-of-service and time-to-live
     fields in the IP header for SOCK_STREAM and SOCK_DGRAM sockets. For
     example,

	  int tos = IPTOS_LOWDELAY;	/* see <netinet/ip.h> */
	  int ttl = 60;		   /* max = 255	*/
	  setsockopt(s,	IPPROTO_IP, IP_TOS, &tos, sizeof(tos));
	  setsockopt(s,	IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));

     IP_HDRINCL	indicates the complete IP header is included with the data and
     may be used only with the SOCK_RAW	type.

	  int hincl = 1;	   /* 1	= on, 0	= off */
	  setsockopt(s,	IPPROTO_IP, IP_HDRINCL,	&hincl,	sizeof(hincl));


   Raw IP Sockets    [Toc]    [Back]
     Raw IP sockets are	connectionless,	and are	normally used with the sendto
     and recvfrom calls, though	the connect(2) call may	also be	used to	fix
     the destination for future	packets	(in which case the read(2) or recv(2)
     and write(2) or send(2) system calls may be used).	 Only the super-user
     can create	raw IP sockets.



									Page 1






IP(7P)									IP(7P)



     If	proto is 0, the	default	protocol IPPROTO_RAW is	used for outgoing
     packets, and only incoming	packets	destined for that protocol are
     received.	If proto is non-zero, that protocol number will	be used	on
     outgoing packets and to filter incoming packets.

     Outgoing packets automatically have an IP header prepended	to them	(based
     on	the destination	address	and the	protocol number	the socket is created
     with), unless the IP_HDRINCL option has been set.	Incoming packets are
     received with IP header and options intact.

DIAGNOSTICS    [Toc]    [Back]

     A socket operation	may fail with one of the following errors returned:

     [EACESS]	    Permission to create a raw IP socket is denied.

     [EISCONN]	    when trying	to establish a connection on a socket which
		    already has	one, or	when trying to send a datagram with
		    the	destination address specified and the socket is
		    already connected;

     [ENOTCONN]	    when trying	to send	a datagram, but	no destination address
		    is specified, and the socket hasn't	been connected;

     [ENOBUFS]	    when the system runs out of	memory for an internal data
		    structure;

     [EADDRNOTAVAIL]
		    when an attempt is made to create a	socket with a network
		    address for	which no network interface exists.

     The following errors specific to IP may occur when	setting	or getting IP
     options:

     [EINVAL]	    An unknown socket option name was given.

     [EINVAL]	    The	IP option field	was improperly formed; an option field
		    was	shorter	than the minimum value or longer than the
		    option buffer provided.

SEE ALSO    [Toc]    [Back]

      
      
     getsockopt(2), send(2), recv(2), intro(3),	icmp(7P), inet(7F), route(7F),
     IRIX Network Programming Guide
     RFC-791


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
inet IRIX Internet protocol family
inet OpenBSD Internet protocol family
inet Tru64 Internet Protocol family
inet FreeBSD Internet protocol family
tcp FreeBSD Internet Transmission Control Protocol
udp FreeBSD Internet User Datagram Protocol
icmp OpenBSD Internet Control Message Protocol
bootpd HP-UX Internet Boot Protocol server
ip6 OpenBSD Internet Protocol version 6 (IPv6)
tcp OpenBSD Internet Transmission Control Protocol
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service