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 #include <linux/android_kabi.h> 12 13 struct can_dev_rcv_lists; 14 struct can_pkg_stats; 15 struct can_rcv_lists_stats; 16 17 struct netns_can { 18 #if IS_ENABLED(CONFIG_PROC_FS) 19 struct proc_dir_entry *proc_dir; 20 struct proc_dir_entry *pde_stats; 21 struct proc_dir_entry *pde_reset_stats; 22 struct proc_dir_entry *pde_rcvlist_all; 23 struct proc_dir_entry *pde_rcvlist_fil; 24 struct proc_dir_entry *pde_rcvlist_inv; 25 struct proc_dir_entry *pde_rcvlist_sff; 26 struct proc_dir_entry *pde_rcvlist_eff; 27 struct proc_dir_entry *pde_rcvlist_err; 28 struct proc_dir_entry *bcmproc_dir; 29 #endif 30 31 /* receive filters subscribed for 'all' CAN devices */ 32 struct can_dev_rcv_lists *rx_alldev_list; 33 spinlock_t rcvlists_lock; 34 struct timer_list stattimer; /* timer for statistics update */ 35 struct can_pkg_stats *pkg_stats; 36 struct can_rcv_lists_stats *rcv_lists_stats; 37 38 /* CAN GW per-net gateway jobs */ 39 struct hlist_head cgw_list; 40 41 ANDROID_KABI_RESERVE(1); 42 }; 43 44 #endif /* __NETNS_CAN_H__ */ 45