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