]>
git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - include/uapi/linux/inet_diag.h
1 #ifndef _UAPI_INET_DIAG_H_
2 #define _UAPI_INET_DIAG_H_
4 #include <linux/types.h>
6 /* Just some random number */
7 #define TCPDIAG_GETSOCK 18
8 #define DCCPDIAG_GETSOCK 19
10 #define INET_DIAG_GETSOCK_MAX 24
13 struct inet_diag_sockid
{
19 __u32 idiag_cookie
[2];
20 #define INET_DIAG_NOCOOKIE (~0U)
23 /* Request structure */
25 struct inet_diag_req
{
26 __u8 idiag_family
; /* Family of addresses. */
29 __u8 idiag_ext
; /* Query extended information */
31 struct inet_diag_sockid id
;
33 __u32 idiag_states
; /* States to dump */
34 __u32 idiag_dbs
; /* Tables to dump (NI) */
37 struct inet_diag_req_v2
{
43 struct inet_diag_sockid id
;
48 INET_DIAG_REQ_BYTECODE
,
51 #define INET_DIAG_REQ_MAX INET_DIAG_REQ_BYTECODE
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.
59 struct inet_diag_bc_op
{
75 INET_DIAG_BC_DEV_COND
, /* u32 ifindex */
76 INET_DIAG_BC_MARK_COND
,
79 struct inet_diag_hostcond
{
86 struct inet_diag_markcond
{
91 /* Base info structure. It contains socket identity (addrs/ports/cookie)
92 * and, alas, the information shown by netstat. */
93 struct inet_diag_msg
{
99 struct inet_diag_sockid id
;
121 INET_DIAG_PROTOCOL
, /* response attribute only */
129 #define INET_DIAG_MAX (__INET_DIAG_MAX - 1)
133 struct inet_diag_meminfo
{
140 /* INET_DIAG_VEGASINFO */
142 struct tcpvegas_info
{
149 /* INET_DIAG_DCTCPINFO */
151 struct tcp_dctcp_info
{
153 __u16 dctcp_ce_state
;
160 struct tcpvegas_info vegas
;
161 struct tcp_dctcp_info dctcp
;
163 #endif /* _UAPI_INET_DIAG_H_ */