home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / linux / udp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.7 KB  |  63 lines

  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/types.h>
  39.  
  40. #include <net/inet_sock.h>
  41.  
  42. struct udp_sock {
  43.     /* inet_sock has to be the first member */
  44.     struct inet_sock inet;
  45.     int         pending;    /* Any pending frames ? */
  46.     unsigned int     corkflag;    /* Cork is required */
  47.       __u16         encap_type;    /* Is this an Encapsulation socket? */
  48.     /*
  49.      * Following member retains the infomation to create a UDP header
  50.      * when the socket is uncorked.
  51.      */
  52.     __u16         len;        /* total length of pending frames */
  53. };
  54.  
  55. static inline struct udp_sock *udp_sk(const struct sock *sk)
  56. {
  57.     return (struct udp_sock *)sk;
  58. }
  59.  
  60. #endif
  61.  
  62. #endif    /* _LINUX_UDP_H */
  63.