1525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris/**************************************************************************** 2525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris **************************************************************************** 3525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** 4525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** This header was automatically generated from a Linux kernel header 5525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** of the same name, to make information necessary for userspace to 6525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** call into the kernel available to libc. It contains only constants, 7525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** structures, and macros generated from the original header, and thus, 8525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** contains no copyrightable information. 9525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** 10525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** To edit the content of this header, modify the corresponding 11525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** source file (e.g. under external/kernel-headers/original/) then 12525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** run bionic/libc/kernel/tools/update_all.py 13525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** 14525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** Any manual change here will be lost the next time this script will 15525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** be run. You've been warned! 16525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris *** 17525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris **************************************************************************** 18525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris ****************************************************************************/ 19525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#ifndef _UAPI_SMC_DIAG_H_ 20525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#define _UAPI_SMC_DIAG_H_ 21525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#include <linux/types.h> 22525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#include <linux/inet_diag.h> 23525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#include <rdma/ib_user_verbs.h> 24525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisstruct smc_diag_req { 25525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 diag_family; 26525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 pad[2]; 27525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 diag_ext; 28525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct inet_diag_sockid id; 29525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris}; 30525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisstruct smc_diag_msg { 31525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 diag_family; 32525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 diag_state; 33525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 diag_fallback; 34525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 diag_shutdown; 35525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct inet_diag_sockid id; 36525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u32 diag_uid; 37525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u64 diag_inode; 38525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris}; 39525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisenum { 40525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris SMC_DIAG_NONE, 41525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris SMC_DIAG_CONNINFO, 42525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris SMC_DIAG_LGRINFO, 43525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris SMC_DIAG_SHUTDOWN, 44525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __SMC_DIAG_MAX, 45525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris}; 46525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#define SMC_DIAG_MAX (__SMC_DIAG_MAX - 1) 47525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisstruct smc_diag_cursor { 48525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u16 reserved; 49525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u16 wrap; 50525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u32 count; 51525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris}; 52525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisstruct smc_diag_conninfo { 53525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u32 token; 54525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u32 sndbuf_size; 55525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u32 rmbe_size; 56525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u32 peer_rmbe_size; 57525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct smc_diag_cursor rx_prod; 58525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct smc_diag_cursor rx_cons; 59525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct smc_diag_cursor tx_prod; 60525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct smc_diag_cursor tx_cons; 61525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 rx_prod_flags; 62525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 rx_conn_state_flags; 63525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 tx_prod_flags; 64525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 tx_conn_state_flags; 65525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct smc_diag_cursor tx_prep; 66525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct smc_diag_cursor tx_sent; 67525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct smc_diag_cursor tx_fin; 68525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris}; 69525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisstruct smc_diag_linkinfo { 70525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 link_id; 71525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 ibname[IB_DEVICE_NAME_MAX]; 72525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 ibport; 73525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 gid[40]; 74525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 peer_gid[40]; 75525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris}; 76525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferrisstruct smc_diag_lgrinfo { 77525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris struct smc_diag_linkinfo lnk[1]; 78525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris __u8 role; 79525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris}; 80525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#endif 81