Annotation of embedaddon/strongswan/src/include/linux/udp.h, revision 1.1
1.1 ! misho 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 _LINUX_UDP_H
! 18: #define _LINUX_UDP_H
! 19:
! 20: #include <linux/types.h>
! 21:
! 22: struct udphdr {
! 23: __u16 source;
! 24: __u16 dest;
! 25: __u16 len;
! 26: __u16 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:
! 33: /* UDP encapsulation types */
! 34: #define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
! 35: #define UDP_ENCAP_ESPINUDP 2 /* draft-ietf-ipsec-udp-encaps-06 */
! 36:
! 37: #ifdef __KERNEL__
! 38: #include <linux/config.h>
! 39: #include <linux/types.h>
! 40:
! 41: #include <net/inet_sock.h>
! 42:
! 43: struct udp_sock {
! 44: /* inet_sock has to be the first member */
! 45: struct inet_sock inet;
! 46: int pending; /* Any pending frames ? */
! 47: unsigned int corkflag; /* Cork is required */
! 48: __u16 encap_type; /* Is this an Encapsulation socket? */
! 49: /*
! 50: * Following member retains the information to create a UDP header
! 51: * when the socket is uncorked.
! 52: */
! 53: __u16 len; /* total length of pending frames */
! 54: };
! 55:
! 56: static __inline__ struct udp_sock *udp_sk(const struct sock *sk)
! 57: {
! 58: return (struct udp_sock *)sk;
! 59: }
! 60:
! 61: #endif
! 62:
! 63: #endif /* _LINUX_UDP_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>