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