can.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * can in net namespaces
  4. */
  5. #ifndef __NETNS_CAN_H__
  6. #define __NETNS_CAN_H__
  7. #include <linux/spinlock.h>
  8. #include <linux/timer.h>
  9. #include <linux/android_kabi.h>
  10. struct can_dev_rcv_lists;
  11. struct can_pkg_stats;
  12. struct can_rcv_lists_stats;
  13. struct netns_can {
  14. #if IS_ENABLED(CONFIG_PROC_FS)
  15. struct proc_dir_entry *proc_dir;
  16. struct proc_dir_entry *pde_stats;
  17. struct proc_dir_entry *pde_reset_stats;
  18. struct proc_dir_entry *pde_rcvlist_all;
  19. struct proc_dir_entry *pde_rcvlist_fil;
  20. struct proc_dir_entry *pde_rcvlist_inv;
  21. struct proc_dir_entry *pde_rcvlist_sff;
  22. struct proc_dir_entry *pde_rcvlist_eff;
  23. struct proc_dir_entry *pde_rcvlist_err;
  24. struct proc_dir_entry *bcmproc_dir;
  25. #endif
  26. /* receive filters subscribed for 'all' CAN devices */
  27. struct can_dev_rcv_lists *rx_alldev_list;
  28. spinlock_t rcvlists_lock;
  29. struct timer_list stattimer; /* timer for statistics update */
  30. struct can_pkg_stats *pkg_stats;
  31. struct can_rcv_lists_stats *rcv_lists_stats;
  32. /* CAN GW per-net gateway jobs */
  33. struct hlist_head cgw_list;
  34. ANDROID_KABI_RESERVE(1);
  35. };
  36. #endif /* __NETNS_CAN_H__ */