xref: /aosp_15_r20/external/strace/linux/netlink_diag.h (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker #ifndef STRACE_LINUX_NETLINK_DIAG_H
2*cf84ac9aSAndroid Build Coastguard Worker #define STRACE_LINUX_NETLINK_DIAG_H
3*cf84ac9aSAndroid Build Coastguard Worker 
4*cf84ac9aSAndroid Build Coastguard Worker struct netlink_diag_req {
5*cf84ac9aSAndroid Build Coastguard Worker 	uint8_t sdiag_family;
6*cf84ac9aSAndroid Build Coastguard Worker 	uint8_t sdiag_protocol;
7*cf84ac9aSAndroid Build Coastguard Worker 	uint16_t pad;
8*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndiag_ino;
9*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndiag_show;
10*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndiag_cookie[2];
11*cf84ac9aSAndroid Build Coastguard Worker };
12*cf84ac9aSAndroid Build Coastguard Worker 
13*cf84ac9aSAndroid Build Coastguard Worker struct netlink_diag_msg {
14*cf84ac9aSAndroid Build Coastguard Worker 	uint8_t ndiag_family;
15*cf84ac9aSAndroid Build Coastguard Worker 	uint8_t ndiag_type;
16*cf84ac9aSAndroid Build Coastguard Worker 	uint8_t ndiag_protocol;
17*cf84ac9aSAndroid Build Coastguard Worker 	uint8_t ndiag_state;
18*cf84ac9aSAndroid Build Coastguard Worker 
19*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndiag_portid;
20*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndiag_dst_portid;
21*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndiag_dst_group;
22*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndiag_ino;
23*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndiag_cookie[2];
24*cf84ac9aSAndroid Build Coastguard Worker };
25*cf84ac9aSAndroid Build Coastguard Worker 
26*cf84ac9aSAndroid Build Coastguard Worker struct netlink_diag_ring {
27*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndr_block_size;
28*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndr_block_nr;
29*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndr_frame_size;
30*cf84ac9aSAndroid Build Coastguard Worker 	uint32_t ndr_frame_nr;
31*cf84ac9aSAndroid Build Coastguard Worker };
32*cf84ac9aSAndroid Build Coastguard Worker 
33*cf84ac9aSAndroid Build Coastguard Worker enum {
34*cf84ac9aSAndroid Build Coastguard Worker 	NETLINK_DIAG_MEMINFO,
35*cf84ac9aSAndroid Build Coastguard Worker 	NETLINK_DIAG_GROUPS,
36*cf84ac9aSAndroid Build Coastguard Worker 	NETLINK_DIAG_RX_RING,
37*cf84ac9aSAndroid Build Coastguard Worker 	NETLINK_DIAG_TX_RING,
38*cf84ac9aSAndroid Build Coastguard Worker 	NETLINK_DIAG_FLAGS,
39*cf84ac9aSAndroid Build Coastguard Worker };
40*cf84ac9aSAndroid Build Coastguard Worker 
41*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_SHOW_MEMINFO		0x00000001
42*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_SHOW_GROUPS		0x00000002
43*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_SHOW_RING_CFG		0x00000004 /* deprecated since 4.6 */
44*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_SHOW_FLAGS		0x00000008
45*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_PROTO_ALL			((uint8_t) ~0)
46*cf84ac9aSAndroid Build Coastguard Worker 
47*cf84ac9aSAndroid Build Coastguard Worker /* flags */
48*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_FLAG_CB_RUNNING		0x00000001
49*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_FLAG_PKTINFO		0x00000002
50*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_FLAG_BROADCAST_ERROR	0x00000004
51*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_FLAG_NO_ENOBUFS		0x00000008
52*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_FLAG_LISTEN_ALL_NSID	0x00000010
53*cf84ac9aSAndroid Build Coastguard Worker #define NDIAG_FLAG_CAP_ACK		0x00000020
54*cf84ac9aSAndroid Build Coastguard Worker 
55*cf84ac9aSAndroid Build Coastguard Worker #endif /* !STRACE_LINUX_NETLINK_DIAG_H */
56