Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 1
#ifndef _LINUX_ERRQUEUE_H
2
#define _LINUX_ERRQUEUE_H 1
3
 
4
struct sock_extended_err
5
{
6
        __u32   ee_errno;      
7
        __u8    ee_origin;
8
        __u8    ee_type;
9
        __u8    ee_code;
10
        __u8    ee_pad;
11
        __u32   ee_info;
12
        __u32   ee_data;
13
};
14
 
15
#define SO_EE_ORIGIN_NONE       0
16
#define SO_EE_ORIGIN_LOCAL      1
17
#define SO_EE_ORIGIN_ICMP       2
18
#define SO_EE_ORIGIN_ICMP6      3
19
 
20
#define SO_EE_OFFENDER(ee)      ((struct sockaddr*)((ee)+1))
21
 
22
#ifdef __KERNEL__
23
 
24
#include <linux/config.h>
25
 
26
#define SKB_EXT_ERR(skb) ((struct sock_exterr_skb *) ((skb)->cb))
27
 
28
struct sock_exterr_skb
29
{
30
        union {
31
                struct inet_skb_parm    h4;
32
#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE)
33
                struct inet6_skb_parm   h6;
34
#endif
35
        } header;
36
        struct sock_extended_err        ee;
37
        u16                             addr_offset;
38
        u16                             port;
39
};
40
 
41
#endif
42
 
43
#endif