Provided by: freebsd-manpages_9.2+1-1_all bug

NAME

       udp — Internet User Datagram Protocol

SYNOPSIS

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

       int
       socket(AF_INET, SOCK_DGRAM, 0);

DESCRIPTION

       UDP is a simple, unreliable datagram protocol which is used to support the SOCK_DGRAM abstraction for the
       Internet  protocol  family.  UDP sockets are connectionless, and are normally used with the sendto(2) and
       recvfrom(2) calls, though the connect(2) call may also be used to fix the destination for future  packets
       (in which case the recv(2) or read(2) and send(2) or write(2) system calls may be used).

       UDP  address formats are identical to those used by TCP.  In particular UDP provides a port identifier in
       addition to the normal Internet address format.  Note that the UDP port space is separate  from  the  TCP
       port space (i.e., a UDP port may not be “connected” to a TCP port).  In addition broadcast packets may be
       sent  (assuming  the  underlying  network  supports  this)  by using a reserved “broadcast address”; this
       address is network interface dependent.

       Options at the IP transport level may be used with UDP; see ip(4).

ERRORS

       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  destination  address  is  specified,  and  the
                          socket has not been connected;

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

       [EADDRINUSE]       when  an  attempt  is  made  to  create  a  socket  with a port which has already been
                          allocated;

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

MIB VARIABLES

       The udp protocol implements a number of variables in the net.inet branch of the sysctl(3) MIB.

       UDPCTL_CHECKSUM    (udp.checksum) Enable udp checksums (enabled by default).

       UDPCTL_MAXDGRAM    (udp.maxdgram) Maximum outgoing UDP datagram size

       UDPCTL_RECVSPACE   (udp.recvspace) Maximum space for incoming UDP datagrams

       udp.log_in_vain    For all udp datagrams, to ports on  which  there  is  no  socket  listening,  log  the
                          connection attempt (disabled by default).

       udp.blackhole      When  a  datagram  is  received  on  a port where there is no socket listening, do not
                          return an ICMP port unreachable message.  (Disabled by default.  See blackhole(4).)

SEE ALSO

       getsockopt(2), recv(2), send(2), socket(2), blackhole(4), inet(4), intro(4), ip(4)

HISTORY

       The udp protocol appeared in 4.2BSD.

Debian                                            June 5, 1993                                            UDP(4)