udp.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. #include <linux/types.h>
  20. struct udphdr {
  21. __be16 source;
  22. __be16 dest;
  23. __be16 len;
  24. __sum16 check;
  25. };
  26. /* UDP socket options */
  27. #define UDP_CORK 1 /* Never send partially complete segments */
  28. #define UDP_ENCAP 100 /* Set the socket to accept encapsulated packets */
  29. #define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP6X */
  30. #define UDP_NO_CHECK6_RX 102 /* Disable accpeting checksum for UDP6 */
  31. /* UDP encapsulation types */
  32. #define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
  33. #define UDP_ENCAP_ESPINUDP 2 /* draft-ietf-ipsec-udp-encaps-06 */
  34. #define UDP_ENCAP_L2TPINUDP 3 /* rfc2661 */
  35. #endif /* _UAPI_LINUX_UDP_H */