1*de1e4e89SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*de1e4e89SAndroid Build Coastguard Worker #ifndef __NETLINK_DIAG_H__ 3*de1e4e89SAndroid Build Coastguard Worker #define __NETLINK_DIAG_H__ 4*de1e4e89SAndroid Build Coastguard Worker 5*de1e4e89SAndroid Build Coastguard Worker #include <linux/types.h> 6*de1e4e89SAndroid Build Coastguard Worker 7*de1e4e89SAndroid Build Coastguard Worker struct netlink_diag_req { 8*de1e4e89SAndroid Build Coastguard Worker __u8 sdiag_family; 9*de1e4e89SAndroid Build Coastguard Worker __u8 sdiag_protocol; 10*de1e4e89SAndroid Build Coastguard Worker __u16 pad; 11*de1e4e89SAndroid Build Coastguard Worker __u32 ndiag_ino; 12*de1e4e89SAndroid Build Coastguard Worker __u32 ndiag_show; 13*de1e4e89SAndroid Build Coastguard Worker __u32 ndiag_cookie[2]; 14*de1e4e89SAndroid Build Coastguard Worker }; 15*de1e4e89SAndroid Build Coastguard Worker 16*de1e4e89SAndroid Build Coastguard Worker struct netlink_diag_msg { 17*de1e4e89SAndroid Build Coastguard Worker __u8 ndiag_family; 18*de1e4e89SAndroid Build Coastguard Worker __u8 ndiag_type; 19*de1e4e89SAndroid Build Coastguard Worker __u8 ndiag_protocol; 20*de1e4e89SAndroid Build Coastguard Worker __u8 ndiag_state; 21*de1e4e89SAndroid Build Coastguard Worker 22*de1e4e89SAndroid Build Coastguard Worker __u32 ndiag_portid; 23*de1e4e89SAndroid Build Coastguard Worker __u32 ndiag_dst_portid; 24*de1e4e89SAndroid Build Coastguard Worker __u32 ndiag_dst_group; 25*de1e4e89SAndroid Build Coastguard Worker __u32 ndiag_ino; 26*de1e4e89SAndroid Build Coastguard Worker __u32 ndiag_cookie[2]; 27*de1e4e89SAndroid Build Coastguard Worker }; 28*de1e4e89SAndroid Build Coastguard Worker 29*de1e4e89SAndroid Build Coastguard Worker struct netlink_diag_ring { 30*de1e4e89SAndroid Build Coastguard Worker __u32 ndr_block_size; 31*de1e4e89SAndroid Build Coastguard Worker __u32 ndr_block_nr; 32*de1e4e89SAndroid Build Coastguard Worker __u32 ndr_frame_size; 33*de1e4e89SAndroid Build Coastguard Worker __u32 ndr_frame_nr; 34*de1e4e89SAndroid Build Coastguard Worker }; 35*de1e4e89SAndroid Build Coastguard Worker 36*de1e4e89SAndroid Build Coastguard Worker enum { 37*de1e4e89SAndroid Build Coastguard Worker /* NETLINK_DIAG_NONE, standard nl API requires this attribute! */ 38*de1e4e89SAndroid Build Coastguard Worker NETLINK_DIAG_MEMINFO, 39*de1e4e89SAndroid Build Coastguard Worker NETLINK_DIAG_GROUPS, 40*de1e4e89SAndroid Build Coastguard Worker NETLINK_DIAG_RX_RING, 41*de1e4e89SAndroid Build Coastguard Worker NETLINK_DIAG_TX_RING, 42*de1e4e89SAndroid Build Coastguard Worker NETLINK_DIAG_FLAGS, 43*de1e4e89SAndroid Build Coastguard Worker 44*de1e4e89SAndroid Build Coastguard Worker __NETLINK_DIAG_MAX, 45*de1e4e89SAndroid Build Coastguard Worker }; 46*de1e4e89SAndroid Build Coastguard Worker 47*de1e4e89SAndroid Build Coastguard Worker #define NETLINK_DIAG_MAX (__NETLINK_DIAG_MAX - 1) 48*de1e4e89SAndroid Build Coastguard Worker 49*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_PROTO_ALL ((__u8) ~0) 50*de1e4e89SAndroid Build Coastguard Worker 51*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_SHOW_MEMINFO 0x00000001 /* show memory info of a socket */ 52*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_SHOW_GROUPS 0x00000002 /* show groups of a netlink socket */ 53*de1e4e89SAndroid Build Coastguard Worker /* deprecated since 4.6 */ 54*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_SHOW_RING_CFG 0x00000004 /* show ring configuration */ 55*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_SHOW_FLAGS 0x00000008 /* show flags of a netlink socket */ 56*de1e4e89SAndroid Build Coastguard Worker 57*de1e4e89SAndroid Build Coastguard Worker /* flags */ 58*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_FLAG_CB_RUNNING 0x00000001 59*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_FLAG_PKTINFO 0x00000002 60*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_FLAG_BROADCAST_ERROR 0x00000004 61*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_FLAG_NO_ENOBUFS 0x00000008 62*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_FLAG_LISTEN_ALL_NSID 0x00000010 63*de1e4e89SAndroid Build Coastguard Worker #define NDIAG_FLAG_CAP_ACK 0x00000020 64*de1e4e89SAndroid Build Coastguard Worker 65*de1e4e89SAndroid Build Coastguard Worker #endif 66