Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * can in net namespaces
0004  */
0005 
0006 #ifndef __NETNS_CAN_H__
0007 #define __NETNS_CAN_H__
0008 
0009 #include <linux/spinlock.h>
0010 #include <linux/timer.h>
0011 
0012 struct can_dev_rcv_lists;
0013 struct can_pkg_stats;
0014 struct can_rcv_lists_stats;
0015 
0016 struct netns_can {
0017 #if IS_ENABLED(CONFIG_PROC_FS)
0018     struct proc_dir_entry *proc_dir;
0019     struct proc_dir_entry *pde_stats;
0020     struct proc_dir_entry *pde_reset_stats;
0021     struct proc_dir_entry *pde_rcvlist_all;
0022     struct proc_dir_entry *pde_rcvlist_fil;
0023     struct proc_dir_entry *pde_rcvlist_inv;
0024     struct proc_dir_entry *pde_rcvlist_sff;
0025     struct proc_dir_entry *pde_rcvlist_eff;
0026     struct proc_dir_entry *pde_rcvlist_err;
0027     struct proc_dir_entry *bcmproc_dir;
0028 #endif
0029 
0030     /* receive filters subscribed for 'all' CAN devices */
0031     struct can_dev_rcv_lists *rx_alldev_list;
0032     spinlock_t rcvlists_lock;
0033     struct timer_list stattimer; /* timer for statistics update */
0034     struct can_pkg_stats *pkg_stats;
0035     struct can_rcv_lists_stats *rcv_lists_stats;
0036 
0037     /* CAN GW per-net gateway jobs */
0038     struct hlist_head cgw_list;
0039 };
0040 
0041 #endif /* __NETNS_CAN_H__ */