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 #include <linux/timer.h> 11 12 struct can_dev_rcv_lists; 13 struct can_pkg_stats; 14 struct can_rcv_lists_stats; 15 16 struct netns_can { 17 #if IS_ENABLED(CONFIG_PROC_FS) 18 struct proc_dir_entry *proc_dir; 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 *rx_alldev_list; 32 spinlock_t rcvlists_lock; 33 struct timer_list stattimer; /* timer for statistics update */ 34 struct can_pkg_stats *pkg_stats; 35 struct can_rcv_lists_stats *rcv_lists_stats; 36 37 /* CAN GW per-net gateway jobs */ 38 struct hlist_head cgw_list; 39 }; 40 41 #endif /* __NETNS_CAN_H__ */ 42