X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=include%2Flinux%2Fudp.h;h=6de445c31a6492ae2aee3d1a906a7e993c3b64cb;hb=bc95f3669f5e6f63cf0b84fe4922c3c6dd4aa775;hp=014b41d1e308ca27f01e7f94bf46d906dc97252d;hpb=12e36b2f41b6cbc67386fcb9c59c32a3e2033905;p=powerpc.git diff --git a/include/linux/udp.h b/include/linux/udp.h index 014b41d1e3..6de445c31a 100644 --- a/include/linux/udp.h +++ b/include/linux/udp.h @@ -23,9 +23,18 @@ struct udphdr { __be16 source; __be16 dest; __be16 len; - __be16 check; + __sum16 check; }; +#ifdef __KERNEL__ +#include + +static inline struct udphdr *udp_hdr(const struct sk_buff *skb) +{ + return (struct udphdr *)skb_transport_header(skb); +} +#endif + /* UDP socket options */ #define UDP_CORK 1 /* Never send partially complete segments */ #define UDP_ENCAP 100 /* Set the socket to accept encapsulated packets */ @@ -38,6 +47,7 @@ struct udphdr { #include #include +#define UDP_HTABLE_SIZE 128 struct udp_sock { /* inet_sock has to be the first member */ @@ -50,12 +60,23 @@ struct udp_sock { * when the socket is uncorked. */ __u16 len; /* total length of pending frames */ + /* + * Fields specific to UDP-Lite. + */ + __u16 pcslen; + __u16 pcrlen; +/* indicator bits used by pcflag: */ +#define UDPLITE_BIT 0x1 /* set by udplite proto init function */ +#define UDPLITE_SEND_CC 0x2 /* set via udplite setsockopt */ +#define UDPLITE_RECV_CC 0x4 /* set via udplite setsocktopt */ + __u8 pcflag; /* marks socket as UDP-Lite if > 0 */ }; static inline struct udp_sock *udp_sk(const struct sock *sk) { return (struct udp_sock *)sk; } +#define IS_UDPLITE(__sk) (udp_sk(__sk)->pcflag) #endif