OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [inet_diag.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
#ifndef _INET_DIAG_H_
2
#define _INET_DIAG_H_
3
 
4
#include <linux/types.h>
5
 
6
/* Just some random number */
7
#define TCPDIAG_GETSOCK 18
8
#define DCCPDIAG_GETSOCK 19
9
 
10
#define INET_DIAG_GETSOCK_MAX 24
11
 
12
/* Socket identity */
13
struct inet_diag_sockid {
14
        __be16  idiag_sport;
15
        __be16  idiag_dport;
16
        __be32  idiag_src[4];
17
        __be32  idiag_dst[4];
18
        __u32   idiag_if;
19
        __u32   idiag_cookie[2];
20
#define INET_DIAG_NOCOOKIE (~0U)
21
};
22
 
23
/* Request structure */
24
 
25
struct inet_diag_req {
26
        __u8    idiag_family;           /* Family of addresses. */
27
        __u8    idiag_src_len;
28
        __u8    idiag_dst_len;
29
        __u8    idiag_ext;              /* Query extended information */
30
 
31
        struct inet_diag_sockid id;
32
 
33
        __u32   idiag_states;           /* States to dump */
34
        __u32   idiag_dbs;              /* Tables to dump (NI) */
35
};
36
 
37
struct inet_diag_req_v2 {
38
        __u8    sdiag_family;
39
        __u8    sdiag_protocol;
40
        __u8    idiag_ext;
41
        __u8    pad;
42
        __u32   idiag_states;
43
        struct inet_diag_sockid id;
44
};
45
 
46
enum {
47
        INET_DIAG_REQ_NONE,
48
        INET_DIAG_REQ_BYTECODE,
49
};
50
 
51
#define INET_DIAG_REQ_MAX INET_DIAG_REQ_BYTECODE
52
 
53
/* Bytecode is sequence of 4 byte commands followed by variable arguments.
54
 * All the commands identified by "code" are conditional jumps forward:
55
 * to offset cc+"yes" or to offset cc+"no". "yes" is supposed to be
56
 * length of the command and its arguments.
57
 */
58
 
59
struct inet_diag_bc_op {
60
        unsigned char   code;
61
        unsigned char   yes;
62
        unsigned short  no;
63
};
64
 
65
enum {
66
        INET_DIAG_BC_NOP,
67
        INET_DIAG_BC_JMP,
68
        INET_DIAG_BC_S_GE,
69
        INET_DIAG_BC_S_LE,
70
        INET_DIAG_BC_D_GE,
71
        INET_DIAG_BC_D_LE,
72
        INET_DIAG_BC_AUTO,
73
        INET_DIAG_BC_S_COND,
74
        INET_DIAG_BC_D_COND,
75
};
76
 
77
struct inet_diag_hostcond {
78
        __u8    family;
79
        __u8    prefix_len;
80
        int     port;
81
        __be32  addr[0];
82
};
83
 
84
/* Base info structure. It contains socket identity (addrs/ports/cookie)
85
 * and, alas, the information shown by netstat. */
86
struct inet_diag_msg {
87
        __u8    idiag_family;
88
        __u8    idiag_state;
89
        __u8    idiag_timer;
90
        __u8    idiag_retrans;
91
 
92
        struct inet_diag_sockid id;
93
 
94
        __u32   idiag_expires;
95
        __u32   idiag_rqueue;
96
        __u32   idiag_wqueue;
97
        __u32   idiag_uid;
98
        __u32   idiag_inode;
99
};
100
 
101
/* Extensions */
102
 
103
enum {
104
        INET_DIAG_NONE,
105
        INET_DIAG_MEMINFO,
106
        INET_DIAG_INFO,
107
        INET_DIAG_VEGASINFO,
108
        INET_DIAG_CONG,
109
        INET_DIAG_TOS,
110
        INET_DIAG_TCLASS,
111
        INET_DIAG_SKMEMINFO,
112
        INET_DIAG_SHUTDOWN,
113
};
114
 
115
#define INET_DIAG_MAX INET_DIAG_SHUTDOWN
116
 
117
 
118
/* INET_DIAG_MEM */
119
 
120
struct inet_diag_meminfo {
121
        __u32   idiag_rmem;
122
        __u32   idiag_wmem;
123
        __u32   idiag_fmem;
124
        __u32   idiag_tmem;
125
};
126
 
127
/* INET_DIAG_VEGASINFO */
128
 
129
struct tcpvegas_info {
130
        __u32   tcpv_enabled;
131
        __u32   tcpv_rttcnt;
132
        __u32   tcpv_rtt;
133
        __u32   tcpv_minrtt;
134
};
135
 
136
 
137
#endif /* _INET_DIAG_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.