1/*
2 * INET		An implementation of the TCP/IP protocol suite for the LINUX
3 *		operating system.  INET is implemented using the  BSD Socket
4 *		interface as the means of communication with the user level.
5 *
6 *		Definitions for the UDP protocol.
7 *
8 * Version:	@(#)udp.h	1.0.2	04/28/93
9 *
10 * Author:	Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
11 *
12 *		This program is free software; you can redistribute it and/or
13 *		modify it under the terms of the GNU General Public License
14 *		as published by the Free Software Foundation; either version
15 *		2 of the License, or (at your option) any later version.
16 */
17#ifndef _UAPI_LINUX_UDP_H
18#define _UAPI_LINUX_UDP_H
19
20#include <linux/types.h>
21
22struct udphdr {
23	__be16	source;
24	__be16	dest;
25	__be16	len;
26	__sum16	check;
27};
28
29/* UDP socket options */
30#define UDP_CORK	1	/* Never send partially complete segments */
31#define UDP_ENCAP	100	/* Set the socket to accept encapsulated packets */
32#define UDP_NO_CHECK6_TX 101	/* Disable sending checksum for UDP6X */
33#define UDP_NO_CHECK6_RX 102	/* Disable accpeting checksum for UDP6 */
34
35/* UDP encapsulation types */
36#define UDP_ENCAP_ESPINUDP_NON_IKE	1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
37#define UDP_ENCAP_ESPINUDP	2 /* draft-ietf-ipsec-udp-encaps-06 */
38#define UDP_ENCAP_L2TPINUDP	3 /* rfc2661 */
39#define UDP_ENCAP_GTP0		4 /* GSM TS 09.60 */
40#define UDP_ENCAP_GTP1U		5 /* 3GPP TS 29.060 */
41
42#endif /* _UAPI_LINUX_UDP_H */
43