Annotation of embedaddon/strongswan/src/include/linux/udp.h, revision 1.1.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>