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 s_stats;
13 struct s_pstats;
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_version;
19 	struct proc_dir_entry *pde_stats;
20 	struct proc_dir_entry *pde_reset_stats;
21 	struct proc_dir_entry *pde_rcvlist_all;
22 	struct proc_dir_entry *pde_rcvlist_fil;
23 	struct proc_dir_entry *pde_rcvlist_inv;
24 	struct proc_dir_entry *pde_rcvlist_sff;
25 	struct proc_dir_entry *pde_rcvlist_eff;
26 	struct proc_dir_entry *pde_rcvlist_err;
27 	struct proc_dir_entry *bcmproc_dir;
28 #endif
29 
30 	/* receive filters subscribed for 'all' CAN devices */
31 	struct can_dev_rcv_lists *can_rx_alldev_list;
32 	spinlock_t can_rcvlists_lock;
33 	struct timer_list can_stattimer;/* timer for statistics update */
34 	struct s_stats *can_stats;	/* packet statistics */
35 	struct s_pstats *can_pstats;	/* receive list statistics */
36 
37 	/* CAN GW per-net gateway jobs */
38 	struct hlist_head cgw_list;
39 };
40 
41 #endif /* __NETNS_CAN_H__ */
42