1ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#ifndef __NETLINK_DIAG_H__ 2ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#define __NETLINK_DIAG_H__ 3ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 4ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#include <linux/types.h> 5ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 6ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vaginstruct netlink_diag_req { 7ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u8 sdiag_family; 8ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u8 sdiag_protocol; 9ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u16 pad; 10ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndiag_ino; 11ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndiag_show; 12ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndiag_cookie[2]; 13ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin}; 14ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 15ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vaginstruct netlink_diag_msg { 16ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u8 ndiag_family; 17ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u8 ndiag_type; 18ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u8 ndiag_protocol; 19ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u8 ndiag_state; 20ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 21ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndiag_portid; 22ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndiag_dst_portid; 23ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndiag_dst_group; 24ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndiag_ino; 25ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndiag_cookie[2]; 26ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin}; 27ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 28ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vaginstruct netlink_diag_ring { 29ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndr_block_size; 30ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndr_block_nr; 31ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndr_frame_size; 32ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __u32 ndr_frame_nr; 33ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin}; 34ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 35ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vaginenum { 364a79c7a2dcefc1fc16b27303a88622b5539751cbStephen Hemminger /* NETLINK_DIAG_NONE, standard nl API requires this attribute! */ 37ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin NETLINK_DIAG_MEMINFO, 38ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin NETLINK_DIAG_GROUPS, 39ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin NETLINK_DIAG_RX_RING, 40ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin NETLINK_DIAG_TX_RING, 41ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 42ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin __NETLINK_DIAG_MAX, 43ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin}; 44ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 45ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#define NETLINK_DIAG_MAX (__NETLINK_DIAG_MAX - 1) 46ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 47ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#define NDIAG_PROTO_ALL ((__u8) ~0) 48ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 49ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#define NDIAG_SHOW_MEMINFO 0x00000001 /* show memory info of a socket */ 50ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#define NDIAG_SHOW_GROUPS 0x00000002 /* show groups of a netlink socket */ 51ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#define NDIAG_SHOW_RING_CFG 0x00000004 /* show ring configuration */ 52ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin 53ecb928c876a8f21526b136d2d2b79c4cfc8b4c63Andrey Vagin#endif 54