• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef __PACKET_DIAG_H__
7 #define __PACKET_DIAG_H__
8 #include <linux/types.h>
9 struct packet_diag_req {
10 	__u8	sdiag_family;
11 	__u8	sdiag_protocol;
12 	__u16	pad;
13 	__u32	pdiag_ino;
14 	__u32	pdiag_show;
15 	__u32	pdiag_cookie[2];
16 };
17 #define PACKET_SHOW_INFO	0x00000001
18 #define PACKET_SHOW_MCLIST	0x00000002
19 #define PACKET_SHOW_RING_CFG	0x00000004
20 #define PACKET_SHOW_FANOUT	0x00000008
21 #define PACKET_SHOW_MEMINFO	0x00000010
22 #define PACKET_SHOW_FILTER	0x00000020
23 struct packet_diag_msg {
24 	__u8	pdiag_family;
25 	__u8	pdiag_type;
26 	__u16	pdiag_num;
27 	__u32	pdiag_ino;
28 	__u32	pdiag_cookie[2];
29 };
30 enum {
31 
32 	PACKET_DIAG_INFO,
33 	PACKET_DIAG_MCLIST,
34 	PACKET_DIAG_RX_RING,
35 	PACKET_DIAG_TX_RING,
36 	PACKET_DIAG_FANOUT,
37 	PACKET_DIAG_UID,
38 	PACKET_DIAG_MEMINFO,
39 	PACKET_DIAG_FILTER,
40 	__PACKET_DIAG_MAX,
41 };
42 #define PACKET_DIAG_MAX (__PACKET_DIAG_MAX - 1)
43 struct packet_diag_info {
44 	__u32	pdi_index;
45 	__u32	pdi_version;
46 	__u32	pdi_reserve;
47 	__u32	pdi_copy_thresh;
48 	__u32	pdi_tstamp;
49 	__u32	pdi_flags;
50 #define PDI_RUNNING	0x1
51 #define PDI_AUXDATA	0x2
52 #define PDI_ORIGDEV	0x4
53 #define PDI_VNETHDR	0x8
54 #define PDI_LOSS	0x10
55 };
56 struct packet_diag_mclist {
57 	__u32	pdmc_index;
58 	__u32	pdmc_count;
59 	__u16	pdmc_type;
60 	__u16	pdmc_alen;
61 	__u8	pdmc_addr[32];
62 };
63 struct packet_diag_ring {
64 	__u32	pdr_block_size;
65 	__u32	pdr_block_nr;
66 	__u32	pdr_frame_size;
67 	__u32	pdr_frame_nr;
68 	__u32	pdr_retire_tmo;
69 	__u32	pdr_sizeof_priv;
70 	__u32	pdr_features;
71 };
72 #endif
73