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




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



NAME
     icmp - Internet Control Message Protocol

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

     s = socket(AF_INET, SOCK_RAW, proto);

DESCRIPTION
     ICMP is the error and control message protocol used by IP
     and the Internet protocol family.  It may be accessed
     through a "raw socket" for network monitoring and diagnostic
     functions.  The _p_r_o_t_o parameter to the socket call to create
     an ICMP socket is obtained from _g_e_t_p_r_o_t_o_b_y_n_a_m_e(3N).  ICMP
     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).

     Outgoing packets automatically have an IP header prepended
     to them (based on the destination address).  Incoming pack-
     ets are received with the 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
                    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.

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






Printed 12/27/86          May 16, 1986                          1