aboutsummaryrefslogtreecommitdiffstats
path: root/man7/udp.7
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2008-08-08 16:28:06 +0000
committerMichael Kerrisk <mtk.manpages@gmail.com>2008-08-08 16:28:06 +0000
commit10874173dba2edf045eebd9e85945970182dbaf6 (patch)
treeec42e47e1a8fc25ca4e816fd99a570404f3aa5c5 /man7/udp.7
parentea6ac50ed39e1c963454c837065ef7beeaccb0b8 (diff)
downloadman-pages-10874173dba2edf045eebd9e85945970182dbaf6.tar.gz
s/PF_/AF_/ for socket family conistants. Reasons: the AF_ and
PF_ constants have always had the same values; there never has been a protocol family that had more than one address family, and POSIX.1-2001 only specifies the AF_* constants.
Diffstat (limited to 'man7/udp.7')
-rw-r--r--man7/udp.7201
1 files changed, 8 insertions, 193 deletions
diff --git a/man7/udp.7 b/man7/udp.7
index 243d313467..a3d4e989a5 100644
--- a/man7/udp.7
+++ b/man7/udp.7
@@ -1,193 +1,8 @@
-.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
-.\" Permission is granted to distribute possibly modified copies
-.\" of this page provided the header is included verbatim,
-.\" and in case of nontrivial modification author and date
-.\" of the modification is added to the header.
-.\" $Id: udp.7,v 1.7 2000/01/22 01:55:05 freitag Exp $
-.\"
-.TH UDP 7 1998-10-02 "Linux" "Linux Programmer's Manual"
-.SH NAME
-udp \- User Datagram Protocol for IPv4
-.SH SYNOPSIS
-.B #include <sys/socket.h>
-.br
-.B #include <netinet/in.h>
-.sp
-.B udp_socket = socket(PF_INET, SOCK_DGRAM, 0);
-.SH DESCRIPTION
-This is an implementation of the User Datagram Protocol
-described in RFC\ 768.
-It implements a connectionless, unreliable datagram packet service.
-Packets may be reordered or duplicated before they arrive.
-UDP generates and checks checksums to catch transmission errors.
-
-When a UDP socket is created,
-its local and remote addresses are unspecified.
-Datagrams can be sent immediately using
-.BR sendto (2)
-or
-.BR sendmsg (2)
-with a valid destination address as an argument.
-When
-.BR connect (2)
-is called on the socket the default destination address is set and
-datagrams can now be sent using
-.BR send (2)
-or
-.BR write (2)
-without specifying a destination address.
-It is still possible to send to other destinations by passing an
-address to
-.BR sendto (2)
-or
-.BR sendmsg (2).
-In order to receive packets the socket can be bound to a local
-address first by using
-.BR bind (2).
-Otherwise the socket layer will automatically assign
-a free local port out of the range defined by
-.I net.ipv4.ip_local_port_range
-and bind the socket to
-.BR INADDR_ANY .
-
-All receive operations return only one packet.
-When the packet is smaller than the passed buffer only that much
-data is returned, when it is bigger the packet is truncated and the
-.B MSG_TRUNC
-flag is set.
-.B MSG_WAITALL
-is not supported.
-
-IP options may be sent or received using the socket options described in
-.BR ip (7).
-They are only processed by the kernel when the appropriate sysctl
-is enabled (but still passed to the user even when it is turned off).
-See
-.BR ip (7).
-
-When the
-.B MSG_DONTROUTE
-flag is set on sending the destination address must refer to a local
-interface address and the packet is only sent to that interface.
-
-By default Linux UDP does path MTU (Maximum Transmission Unit) discovery.
-This means the kernel
-will keep track of the MTU to a specific target IP address and return
-.B EMSGSIZE
-when a UDP packet write exceeds it.
-When this happens the application should decrease the packet size.
-Path MTU discovery can be also turned off using the
-.B IP_MTU_DISCOVER
-socket option or the
-.I ip_no_pmtu_disc
-sysctl, see
-.BR ip (7)
-for details.
-When turned off UDP will fragment outgoing UDP packets
-that exceed the interface MTU.
-However disabling it is not recommended
-for performance and reliability reasons.
-.SS "Address Format"
-UDP uses the IPv4
-.I sockaddr_in
-address format described in
-.BR ip (7).
-.SS "Error Handling"
-All fatal errors will be passed to the user as an error return even
-when the socket is not connected.
-This includes asynchronous errors
-received from the network.
-You may get an error for an earlier packet
-that was sent on the same socket.
-This behavior differs from many other BSD socket implementations
-which don't pass any errors unless the socket is connected.
-Linux's behavior is mandated by
-.BR RFC\ 1122 .
-
-For compatibility with legacy code in Linux 2.0 and 2.2
-it was possible to set the
-.B SO_BSDCOMPAT
-.B SOL_SOCKET
-option to receive remote errors only when the socket has been
-connected (except for
-.B EPROTO
-and
-.BR EMSGSIZE ).
-Locally generated errors are always passed.
-Support for this socket option was removed in later kernels; see
-.BR socket (7)
-for further information.
-
-When the
-.B IP_RECVERR
-option is enabled all errors are stored in the socket error queue
-and can be received by
-.BR recvmsg (2)
-with the
-.B MSG_ERRQUEUE
-flag set.
-.SS "Socket Options"
-To set or get a UDP socket option, call
-.BR getsockopt (2)
-to read or
-.BR setsockopt (2)
-to write the option with the option level argument set to
-.BR IPPROTO_UDP .
-.TP
-.BR UDP_CORK " (since Linux 2.5.44)"
-If this option is enabled, then all data output on this socket
-is accumulated into a single datagram that is transmitted when
-the option is disabled.
-This option should not be used in code intended to be
-portable.
-.\" FIXME document UDP_ENCAP (new in kernel 2.5.67)
-.SS Ioctls
-These ioctls can be accessed using
-.BR ioctl (2).
-The correct syntax is:
-.PP
-.RS
-.nf
-.BI int " value";
-.IB error " = ioctl(" udp_socket ", " ioctl_type ", &" value ");"
-.fi
-.RE
-.TP
-.BR FIONREAD " (" SIOCINQ )
-Gets a pointer to an integer as argument.
-Returns the size of the next pending datagram in the integer in bytes,
-or 0 when no datagram is pending.
-.TP
-.BR TIOCOUTQ " (" SIOCOUTQ )
-Returns the number of data bytes in the local send queue.
-Only supported with Linux 2.4 and above.
-.PP
-In addition all ioctls documented in
-.BR ip (7)
-and
-.BR socket (7)
-are supported.
-.SH ERRORS
-All errors documented for
-.BR socket (7)
-or
-.BR ip (7)
-may be returned by a send or receive on a UDP socket.
-
-.B ECONNREFUSED
-No receiver was associated with the destination address.
-This might be caused by a previous packet sent over the socket.
-.SH VERSIONS
-IP_RECVERR is a new feature in Linux 2.2.
-.\" .SH CREDITS
-.\" This man page was written by Andi Kleen.
-.SH "SEE ALSO"
-.BR ip (7),
-.BR raw (7),
-.BR socket (7)
-
-RFC\ 768 for the User Datagram Protocol.
-.br
-RFC\ 1122 for the host requirements.
-.br
-RFC\ 1191 for a description of path MTU discovery.
+.TH UDP 7 2008-08-07 "Linux" "Linux Programmer's Manual"
+.TH UDP 7 2008-08-07 "Linux" "Linux Programmer's Manual"
+.TH UDP 7 2008-08-07 "Linux" "Linux Programmer's Manual"
+.TH UDP 7 2008-08-07 "Linux" "Linux Programmer's Manual"
+.TH UDP 7 2008-08-07 "Linux" "Linux Programmer's Manual"
+.TH UDP 7 2008-08-07 "Linux" "Linux Programmer's Manual"
+.TH UDP 7 2008-08-07 "Linux" "Linux Programmer's Manual"
+.TH UDP 7 2008-08-07 "Linux" "Linux Programmer's Manual"