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