Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
inet_diag.h
Go to the documentation of this file.
1 #ifndef _UAPI_INET_DIAG_H_
2 #define _UAPI_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 */
20 #define INET_DIAG_NOCOOKIE (~0U)
21 };
22 
23 /* Request structure */
24 
25 struct inet_diag_req {
26  __u8 idiag_family; /* Family of addresses. */
29  __u8 idiag_ext; /* Query extended information */
30 
32 
33  __u32 idiag_states; /* States to dump */
34  __u32 idiag_dbs; /* Tables to dump (NI) */
35 };
36 
44 };
45 
46 enum {
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 
60  unsigned char code;
61  unsigned char yes;
62  unsigned short no;
63 };
64 
65 enum {
75 };
76 
80  int port;
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 {
91 
93 
99 };
100 
101 /* Extensions */
102 
103 enum {
112 };
113 
114 #define INET_DIAG_MAX INET_DIAG_SKMEMINFO
115 
116 
117 /* INET_DIAG_MEM */
118 
124 };
125 
126 /* INET_DIAG_VEGASINFO */
127 
133 };
134 
135 
136 #endif /* _UAPI_INET_DIAG_H_ */