linux-bk/include/linux/udp.h
<<
>>
Prefs
   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
  22struct 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      2 /* draft-ietf-ipsec-udp-encaps-06 */
  35
  36#ifdef __KERNEL__
  37
  38#include <linux/config.h>
  39#include <net/sock.h>
  40#include <linux/ip.h>
  41
  42struct udp_opt {
  43        int             pending;        /* Any pending frames ? */
  44        unsigned int    corkflag;       /* Cork is required */
  45        __u16           encap_type;     /* Is this an Encapsulation socket? */
  46        /*
  47         * Following member retains the infomation to create a UDP header
  48         * when the socket is uncorked.
  49         */
  50        __u16           len;            /* total length of pending frames */
  51};
  52
  53/* WARNING: don't change the layout of the members in udp_sock! */
  54struct udp_sock {
  55        struct sock       sk;
  56#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
  57        struct ipv6_pinfo *pinet6;
  58#endif
  59        struct inet_opt   inet;
  60        struct udp_opt    udp;
  61};
  62
  63static inline struct udp_opt * udp_sk(const struct sock *__sk)
  64{
  65        return &((struct udp_sock *)__sk)->udp;
  66}
  67
  68#endif
  69
  70#endif  /* _LINUX_UDP_H */
  71
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.