1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI_INET_DIAG_H_ 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI_INET_DIAG_H_ 21655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#include <linux/types.h> 22655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define TCPDIAG_GETSOCK 18 23655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DCCPDIAG_GETSOCK 19 24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define INET_DIAG_GETSOCK_MAX 24 25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct inet_diag_sockid { 26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be16 idiag_sport; 27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be16 idiag_dport; 28d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 idiag_src[4]; 29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 idiag_dst[4]; 30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_if; 31d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_cookie[2]; 32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define INET_DIAG_NOCOOKIE (~0U) 33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct inet_diag_req { 35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 idiag_family; 36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 idiag_src_len; 37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 idiag_dst_len; 38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 idiag_ext; 39d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct inet_diag_sockid id; 40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_states; 41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_dbs; 42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct inet_diag_req_v2 { 44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 sdiag_family; 45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 sdiag_protocol; 46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 idiag_ext; 47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 pad; 48d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_states; 49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct inet_diag_sockid id; 50655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 5148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferrisstruct inet_diag_req_raw { 5248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u8 sdiag_family; 5348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u8 sdiag_protocol; 5448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u8 idiag_ext; 5548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u8 sdiag_raw_protocol; 5648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 idiag_states; 5748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris struct inet_diag_sockid id; 5848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris}; 59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum { 60d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_REQ_NONE, 61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_REQ_BYTECODE, 62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define INET_DIAG_REQ_MAX INET_DIAG_REQ_BYTECODE 64655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct inet_diag_bc_op { 65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char code; 66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char yes; 67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned short no; 68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum { 70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_NOP, 71d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_JMP, 72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_S_GE, 73d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_S_LE, 74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_D_GE, 75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_D_LE, 76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_AUTO, 77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_S_COND, 78d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_BC_D_COND, 7949f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris INET_DIAG_BC_DEV_COND, 806a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris INET_DIAG_BC_MARK_COND, 81655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct inet_diag_hostcond { 836a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u8 family; 8449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u8 prefix_len; 85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int port; 86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __be32 addr[0]; 87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 886a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct inet_diag_markcond { 896a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 mark; 906a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 mask; 916a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris}; 9249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisstruct inet_diag_msg { 93d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 idiag_family; 94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 idiag_state; 956a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u8 idiag_timer; 9649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u8 idiag_retrans; 97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct inet_diag_sockid id; 98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_expires; 996a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 idiag_rqueue; 10049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 idiag_wqueue; 101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_uid; 102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_inode; 1036a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris}; 10449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisenum { 105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_NONE, 106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_MEMINFO, 1076a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris INET_DIAG_INFO, 10849f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris INET_DIAG_VEGASINFO, 109d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_CONG, 110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_TOS, 1116a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris INET_DIAG_TCLASS, 11249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris INET_DIAG_SKMEMINFO, 113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_SHUTDOWN, 114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao INET_DIAG_DCTCPINFO, 1156a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris INET_DIAG_PROTOCOL, 11649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris INET_DIAG_SKV6ONLY, 117106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris INET_DIAG_LOCALS, 118106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris INET_DIAG_PEERS, 1196a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris INET_DIAG_PAD, 1206a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris INET_DIAG_MARK, 1216a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris INET_DIAG_BBRINFO, 1221308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris INET_DIAG_CLASS_ID, 1231308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris INET_DIAG_MD5SIG, 12449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __INET_DIAG_MAX, 12505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 126106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define INET_DIAG_MAX (__INET_DIAG_MAX - 1) 12782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisstruct inet_diag_meminfo { 12849f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 idiag_rmem; 129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_wmem; 130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_fmem; 131d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 idiag_tmem; 13249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris}; 133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct tcpvegas_info { 134d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 tcpv_enabled; 135d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 tcpv_rttcnt; 13649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 tcpv_rtt; 137d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 tcpv_minrtt; 138655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 13982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisstruct tcp_dctcp_info { 14049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u16 dctcp_enabled; 141d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 dctcp_ce_state; 142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 dctcp_alpha; 143d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 dctcp_ab_ecn; 14449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 dctcp_ab_tot; 1456a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris}; 1466a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferrisstruct tcp_bbr_info { 1476a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 bbr_bw_lo; 1486a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 bbr_bw_hi; 1496a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 bbr_min_rtt; 1506a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 bbr_pacing_gain; 1516a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 bbr_cwnd_gain; 15282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 15305d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisunion tcp_cc_info { 15405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct tcpvegas_info vegas; 15549f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris struct tcp_dctcp_info dctcp; 1566a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris struct tcp_bbr_info bbr; 15705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 15805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#endif 159