4.3BSD-UWisc/man/cat4/ip.4p




IP(4P)              UNIX Programmer's Manual               IP(4P)



NAME
     ip - Internet Protocol

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

     s = socket(AF_INET, SOCK_RAW, proto);

DESCRIPTION
     IP is the transport layer protocol used by the Internet pro-
     tocol 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.

     A single generic option is supported at the IP level,
     IP_OPTIONS, that may be used to provide IP options to be
     transmitted in the IP header of each outgoing packet.
     Options are set with _s_e_t_s_o_c_k_o_p_t(2) and examined with _g_e_t_-
     _s_o_c_k_o_p_t(2).  The format of IP options to be sent is that
     specified by the IP protocol specification, with one excep-
     tion: 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 accord-
     ingly before use.  IP options may be used with any socket
     type in the Internet family.

     Raw IP sockets are connectionless, and are normally used
     with the _s_e_n_d_t_o and _r_e_c_v_f_r_o_m calls, though the _c_o_n_n_e_c_t(2)
     call may also be used to fix the destination for future
     packets (in which case the _r_e_a_d(2) or _r_e_c_v(2) and _w_r_i_t_e(2)
     or _s_e_n_d(2) system calls may be used).

     If _p_r_o_t_o is 0, the default protocol IPPROTO_RAW is used for
     outgoing packets, and only incoming packets destined for
     that protocol are received.  If _p_r_o_t_o is non-zero, that pro-
     tocol 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).  Incoming packets are
     received with IP header and options intact.

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

     [EISCONN]      when trying to establish a connection on a
                    socket which already has one, or when trying



Printed 12/27/86          May 16, 1986                          1






IP(4P)              UNIX Programmer's Manual               IP(4P)



                    to send a datagram with the destination
                    address specified and the socket is already
                    connected;

     [ENOTCONN]     when trying to send a datagram, but no desti-
                    nation 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 pro-
                    vided.

SEE ALSO
     getsockopt(2), send(2), recv(2), intro(4N), icmp(4P),
     inet(4F)


























Printed 12/27/86          May 16, 1986                          2