1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_INET_DIAG_H_
20#define _UAPI_INET_DIAG_H_
21#include <linux/types.h>
22#define TCPDIAG_GETSOCK 18
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define DCCPDIAG_GETSOCK 19
25#define INET_DIAG_GETSOCK_MAX 24
26struct inet_diag_sockid {
27  __be16 idiag_sport;
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29  __be16 idiag_dport;
30  __be32 idiag_src[4];
31  __be32 idiag_dst[4];
32  __u32 idiag_if;
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  __u32 idiag_cookie[2];
35#define INET_DIAG_NOCOOKIE (~0U)
36};
37struct inet_diag_req {
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  __u8 idiag_family;
40  __u8 idiag_src_len;
41  __u8 idiag_dst_len;
42  __u8 idiag_ext;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  struct inet_diag_sockid id;
45  __u32 idiag_states;
46  __u32 idiag_dbs;
47};
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49struct inet_diag_req_v2 {
50  __u8 sdiag_family;
51  __u8 sdiag_protocol;
52  __u8 idiag_ext;
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  __u8 pad;
55  __u32 idiag_states;
56  struct inet_diag_sockid id;
57};
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59enum {
60  INET_DIAG_REQ_NONE,
61  INET_DIAG_REQ_BYTECODE,
62};
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define INET_DIAG_REQ_MAX INET_DIAG_REQ_BYTECODE
65struct inet_diag_bc_op {
66  unsigned char code;
67  unsigned char yes;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  unsigned short no;
70};
71enum {
72  INET_DIAG_BC_NOP,
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  INET_DIAG_BC_JMP,
75  INET_DIAG_BC_S_GE,
76  INET_DIAG_BC_S_LE,
77  INET_DIAG_BC_D_GE,
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  INET_DIAG_BC_D_LE,
80  INET_DIAG_BC_AUTO,
81  INET_DIAG_BC_S_COND,
82  INET_DIAG_BC_D_COND,
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84};
85struct inet_diag_hostcond {
86  __u8 family;
87  __u8 prefix_len;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  int port;
90  __be32 addr[0];
91};
92struct inet_diag_msg {
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  __u8 idiag_family;
95  __u8 idiag_state;
96  __u8 idiag_timer;
97  __u8 idiag_retrans;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  struct inet_diag_sockid id;
100  __u32 idiag_expires;
101  __u32 idiag_rqueue;
102  __u32 idiag_wqueue;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  __u32 idiag_uid;
105  __u32 idiag_inode;
106};
107enum {
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  INET_DIAG_NONE,
110  INET_DIAG_MEMINFO,
111  INET_DIAG_INFO,
112  INET_DIAG_VEGASINFO,
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  INET_DIAG_CONG,
115  INET_DIAG_TOS,
116  INET_DIAG_TCLASS,
117  INET_DIAG_SKMEMINFO,
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  INET_DIAG_SHUTDOWN,
120  INET_DIAG_DCTCPINFO,
121  INET_DIAG_PROTOCOL,
122  INET_DIAG_SKV6ONLY,
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124};
125#define INET_DIAG_MAX INET_DIAG_SKV6ONLY
126struct inet_diag_meminfo {
127  __u32 idiag_rmem;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  __u32 idiag_wmem;
130  __u32 idiag_fmem;
131  __u32 idiag_tmem;
132};
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134struct tcpvegas_info {
135  __u32 tcpv_enabled;
136  __u32 tcpv_rttcnt;
137  __u32 tcpv_rtt;
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  __u32 tcpv_minrtt;
140};
141struct tcp_dctcp_info {
142  __u16 dctcp_enabled;
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  __u16 dctcp_ce_state;
145  __u32 dctcp_alpha;
146  __u32 dctcp_ab_ecn;
147  __u32 dctcp_ab_tot;
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149};
150union tcp_cc_info {
151  struct tcpvegas_info vegas;
152  struct tcp_dctcp_info dctcp;
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154};
155#endif
156