xref: /aosp_15_r20/external/iproute2/include/uapi/linux/netlink_diag.h (revision de1e4e894b0c224df933550f0afdecc354b238c4)
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