GNU Linux-libre 4.19.304-gnu1
[releases.git] / include / net / netns / can.h
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__ */