+#ifndef STRACE_LINUX_NETLINK_DIAG_H
+#define STRACE_LINUX_NETLINK_DIAG_H
+
struct netlink_diag_req {
uint8_t sdiag_family;
uint8_t sdiag_protocol;
uint32_t ndiag_cookie[2];
};
-#define NDIAG_SHOW_MEMINFO 0x00000001
-#define NDIAG_PROTO_ALL ((uint8_t) ~0)
+struct netlink_diag_ring {
+ uint32_t ndr_block_size;
+ uint32_t ndr_block_nr;
+ uint32_t ndr_frame_size;
+ uint32_t ndr_frame_nr;
+};
+
+enum {
+ NETLINK_DIAG_MEMINFO,
+ NETLINK_DIAG_GROUPS,
+ NETLINK_DIAG_RX_RING,
+ NETLINK_DIAG_TX_RING,
+ NETLINK_DIAG_FLAGS,
+};
+
+#define NDIAG_SHOW_MEMINFO 0x00000001
+#define NDIAG_SHOW_GROUPS 0x00000002
+#define NDIAG_SHOW_RING_CFG 0x00000004 /* deprecated since 4.6 */
+#define NDIAG_SHOW_FLAGS 0x00000008
+#define NDIAG_PROTO_ALL ((uint8_t) ~0)
+
+/* flags */
+#define NDIAG_FLAG_CB_RUNNING 0x00000001
+#define NDIAG_FLAG_PKTINFO 0x00000002
+#define NDIAG_FLAG_BROADCAST_ERROR 0x00000004
+#define NDIAG_FLAG_NO_ENOBUFS 0x00000008
+#define NDIAG_FLAG_LISTEN_ALL_NSID 0x00000010
+#define NDIAG_FLAG_CAP_ACK 0x00000020
+
+#endif /* !STRACE_LINUX_NETLINK_DIAG_H */