icmp(7)icmp(7)NAMEicmp - Internet Control Message Protocol
SYNOPSIS
#include <sys/socket.h> #include <netinet/in.h>
The following is the socket call for sockets using the IPv4 address
format:
s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
The following is the socket call for sockets using the IPv6 address
format:
s = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6);
DESCRIPTION
The Internet Control Message Protocol (ICMP) is the error and control
message protocol used by the Internet Protocol (IP) and the Internet
Protocol family. It may be accessed through a raw socket for network
monitoring and diagnostic functions. ICMP sockets are connectionless,
and are normally used with the sendto() and recvfrom() functions. The
connect() function may also be used to fix the destination for future
packets, in which case the read() or recv() and write() or send() func‐
tions may be used.
Outgoing packets automatically have an IP header prepended to them
(based on the destination address). Incoming packets are received with
the IP header and options intact.
ERRORS
If a socket operation fails, errno may be set to one of the following
values: The socket is already connected. This error occurs when trying
to establish connection on a socket or when trying to send a datagram
with the destination address specified. The destination address of a
datagram was not specified, and the socket has not been connected. The
system ran out of memory for an internal data structure. An attempt
was made to create a socket with a network address for which no network
interface exists.
SEE ALSO
Functions: send(2), recv(2)
Files: netintro(7), inet(7), ip(7)
RFC 792, Internet Control Message Protocol
RFC 2463, Internet Control Message Protocol (ICMPv6) for the Internet
Protocol Version 6 (IPv6)
icmp(7)