xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/inet_diag.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_INET_DIAG_H_
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_INET_DIAG_H_
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define TCPDIAG_GETSOCK 18
11*8d67ca89SAndroid Build Coastguard Worker #define DCCPDIAG_GETSOCK 19
12*8d67ca89SAndroid Build Coastguard Worker #define INET_DIAG_GETSOCK_MAX 24
13*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_sockid {
14*8d67ca89SAndroid Build Coastguard Worker   __be16 idiag_sport;
15*8d67ca89SAndroid Build Coastguard Worker   __be16 idiag_dport;
16*8d67ca89SAndroid Build Coastguard Worker   __be32 idiag_src[4];
17*8d67ca89SAndroid Build Coastguard Worker   __be32 idiag_dst[4];
18*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_if;
19*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_cookie[2];
20*8d67ca89SAndroid Build Coastguard Worker #define INET_DIAG_NOCOOKIE (~0U)
21*8d67ca89SAndroid Build Coastguard Worker };
22*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_req {
23*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_family;
24*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_src_len;
25*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_dst_len;
26*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_ext;
27*8d67ca89SAndroid Build Coastguard Worker   struct inet_diag_sockid id;
28*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_states;
29*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_dbs;
30*8d67ca89SAndroid Build Coastguard Worker };
31*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_req_v2 {
32*8d67ca89SAndroid Build Coastguard Worker   __u8 sdiag_family;
33*8d67ca89SAndroid Build Coastguard Worker   __u8 sdiag_protocol;
34*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_ext;
35*8d67ca89SAndroid Build Coastguard Worker   __u8 pad;
36*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_states;
37*8d67ca89SAndroid Build Coastguard Worker   struct inet_diag_sockid id;
38*8d67ca89SAndroid Build Coastguard Worker };
39*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_req_raw {
40*8d67ca89SAndroid Build Coastguard Worker   __u8 sdiag_family;
41*8d67ca89SAndroid Build Coastguard Worker   __u8 sdiag_protocol;
42*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_ext;
43*8d67ca89SAndroid Build Coastguard Worker   __u8 sdiag_raw_protocol;
44*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_states;
45*8d67ca89SAndroid Build Coastguard Worker   struct inet_diag_sockid id;
46*8d67ca89SAndroid Build Coastguard Worker };
47*8d67ca89SAndroid Build Coastguard Worker enum {
48*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_REQ_NONE,
49*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_REQ_BYTECODE,
50*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_REQ_SK_BPF_STORAGES,
51*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_REQ_PROTOCOL,
52*8d67ca89SAndroid Build Coastguard Worker   __INET_DIAG_REQ_MAX,
53*8d67ca89SAndroid Build Coastguard Worker };
54*8d67ca89SAndroid Build Coastguard Worker #define INET_DIAG_REQ_MAX (__INET_DIAG_REQ_MAX - 1)
55*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_bc_op {
56*8d67ca89SAndroid Build Coastguard Worker   unsigned char code;
57*8d67ca89SAndroid Build Coastguard Worker   unsigned char yes;
58*8d67ca89SAndroid Build Coastguard Worker   unsigned short no;
59*8d67ca89SAndroid Build Coastguard Worker };
60*8d67ca89SAndroid Build Coastguard Worker enum {
61*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_NOP,
62*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_JMP,
63*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_S_GE,
64*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_S_LE,
65*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_D_GE,
66*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_D_LE,
67*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_AUTO,
68*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_S_COND,
69*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_D_COND,
70*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_DEV_COND,
71*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_MARK_COND,
72*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_S_EQ,
73*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_D_EQ,
74*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BC_CGROUP_COND,
75*8d67ca89SAndroid Build Coastguard Worker };
76*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_hostcond {
77*8d67ca89SAndroid Build Coastguard Worker   __u8 family;
78*8d67ca89SAndroid Build Coastguard Worker   __u8 prefix_len;
79*8d67ca89SAndroid Build Coastguard Worker   int port;
80*8d67ca89SAndroid Build Coastguard Worker   __be32 addr[];
81*8d67ca89SAndroid Build Coastguard Worker };
82*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_markcond {
83*8d67ca89SAndroid Build Coastguard Worker   __u32 mark;
84*8d67ca89SAndroid Build Coastguard Worker   __u32 mask;
85*8d67ca89SAndroid Build Coastguard Worker };
86*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_msg {
87*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_family;
88*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_state;
89*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_timer;
90*8d67ca89SAndroid Build Coastguard Worker   __u8 idiag_retrans;
91*8d67ca89SAndroid Build Coastguard Worker   struct inet_diag_sockid id;
92*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_expires;
93*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_rqueue;
94*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_wqueue;
95*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_uid;
96*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_inode;
97*8d67ca89SAndroid Build Coastguard Worker };
98*8d67ca89SAndroid Build Coastguard Worker enum {
99*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_NONE,
100*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_MEMINFO,
101*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_INFO,
102*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_VEGASINFO,
103*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_CONG,
104*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_TOS,
105*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_TCLASS,
106*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_SKMEMINFO,
107*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_SHUTDOWN,
108*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_DCTCPINFO,
109*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_PROTOCOL,
110*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_SKV6ONLY,
111*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_LOCALS,
112*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_PEERS,
113*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_PAD,
114*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_MARK,
115*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_BBRINFO,
116*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_CLASS_ID,
117*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_MD5SIG,
118*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_ULP_INFO,
119*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_SK_BPF_STORAGES,
120*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_CGROUP_ID,
121*8d67ca89SAndroid Build Coastguard Worker   INET_DIAG_SOCKOPT,
122*8d67ca89SAndroid Build Coastguard Worker   __INET_DIAG_MAX,
123*8d67ca89SAndroid Build Coastguard Worker };
124*8d67ca89SAndroid Build Coastguard Worker #define INET_DIAG_MAX (__INET_DIAG_MAX - 1)
125*8d67ca89SAndroid Build Coastguard Worker enum {
126*8d67ca89SAndroid Build Coastguard Worker   INET_ULP_INFO_UNSPEC,
127*8d67ca89SAndroid Build Coastguard Worker   INET_ULP_INFO_NAME,
128*8d67ca89SAndroid Build Coastguard Worker   INET_ULP_INFO_TLS,
129*8d67ca89SAndroid Build Coastguard Worker   INET_ULP_INFO_MPTCP,
130*8d67ca89SAndroid Build Coastguard Worker   __INET_ULP_INFO_MAX,
131*8d67ca89SAndroid Build Coastguard Worker };
132*8d67ca89SAndroid Build Coastguard Worker #define INET_ULP_INFO_MAX (__INET_ULP_INFO_MAX - 1)
133*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_meminfo {
134*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_rmem;
135*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_wmem;
136*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_fmem;
137*8d67ca89SAndroid Build Coastguard Worker   __u32 idiag_tmem;
138*8d67ca89SAndroid Build Coastguard Worker };
139*8d67ca89SAndroid Build Coastguard Worker struct inet_diag_sockopt {
140*8d67ca89SAndroid Build Coastguard Worker   __u8 recverr : 1, is_icsk : 1, freebind : 1, hdrincl : 1, mc_loop : 1, transparent : 1, mc_all : 1, nodefrag : 1;
141*8d67ca89SAndroid Build Coastguard Worker   __u8 bind_address_no_port : 1, recverr_rfc4884 : 1, defer_connect : 1, unused : 5;
142*8d67ca89SAndroid Build Coastguard Worker };
143*8d67ca89SAndroid Build Coastguard Worker struct tcpvegas_info {
144*8d67ca89SAndroid Build Coastguard Worker   __u32 tcpv_enabled;
145*8d67ca89SAndroid Build Coastguard Worker   __u32 tcpv_rttcnt;
146*8d67ca89SAndroid Build Coastguard Worker   __u32 tcpv_rtt;
147*8d67ca89SAndroid Build Coastguard Worker   __u32 tcpv_minrtt;
148*8d67ca89SAndroid Build Coastguard Worker };
149*8d67ca89SAndroid Build Coastguard Worker struct tcp_dctcp_info {
150*8d67ca89SAndroid Build Coastguard Worker   __u16 dctcp_enabled;
151*8d67ca89SAndroid Build Coastguard Worker   __u16 dctcp_ce_state;
152*8d67ca89SAndroid Build Coastguard Worker   __u32 dctcp_alpha;
153*8d67ca89SAndroid Build Coastguard Worker   __u32 dctcp_ab_ecn;
154*8d67ca89SAndroid Build Coastguard Worker   __u32 dctcp_ab_tot;
155*8d67ca89SAndroid Build Coastguard Worker };
156*8d67ca89SAndroid Build Coastguard Worker struct tcp_bbr_info {
157*8d67ca89SAndroid Build Coastguard Worker   __u32 bbr_bw_lo;
158*8d67ca89SAndroid Build Coastguard Worker   __u32 bbr_bw_hi;
159*8d67ca89SAndroid Build Coastguard Worker   __u32 bbr_min_rtt;
160*8d67ca89SAndroid Build Coastguard Worker   __u32 bbr_pacing_gain;
161*8d67ca89SAndroid Build Coastguard Worker   __u32 bbr_cwnd_gain;
162*8d67ca89SAndroid Build Coastguard Worker };
163*8d67ca89SAndroid Build Coastguard Worker union tcp_cc_info {
164*8d67ca89SAndroid Build Coastguard Worker   struct tcpvegas_info vegas;
165*8d67ca89SAndroid Build Coastguard Worker   struct tcp_dctcp_info dctcp;
166*8d67ca89SAndroid Build Coastguard Worker   struct tcp_bbr_info bbr;
167*8d67ca89SAndroid Build Coastguard Worker };
168*8d67ca89SAndroid Build Coastguard Worker #endif
169