1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * can in net namespaces
4  */
5 
6 #ifndef __NETNS_CAN_H__
7 #define __NETNS_CAN_H__
8 
9 #include <linux/spinlock.h>
10 
11 struct can_dev_rcv_lists;
12 struct can_pkg_stats;
13 struct can_rcv_lists_stats;
14 
15 struct netns_can {
16 #if IS_ENABLED(CONFIG_PROC_FS)
17 	struct proc_dir_entry *proc_dir;
18 	struct proc_dir_entry *pde_stats;
19 	struct proc_dir_entry *pde_reset_stats;
20 	struct proc_dir_entry *pde_rcvlist_all;
21 	struct proc_dir_entry *pde_rcvlist_fil;
22 	struct proc_dir_entry *pde_rcvlist_inv;
23 	struct proc_dir_entry *pde_rcvlist_sff;
24 	struct proc_dir_entry *pde_rcvlist_eff;
25 	struct proc_dir_entry *pde_rcvlist_err;
26 	struct proc_dir_entry *bcmproc_dir;
27 #endif
28 
29 	/* receive filters subscribed for 'all' CAN devices */
30 	struct can_dev_rcv_lists *rx_alldev_list;
31 	spinlock_t rcvlists_lock;
32 	struct timer_list stattimer; /* timer for statistics update */
33 	struct can_pkg_stats *pkg_stats;
34 	struct can_rcv_lists_stats *rcv_lists_stats;
35 
36 	/* CAN GW per-net gateway jobs */
37 	struct hlist_head cgw_list;
38 };
39 
40 #endif /* __NETNS_CAN_H__ */
41