Blame view

kernel/linux-rt-4.4.41/net/hsr-prp/hsr_prp_slave.h 1.13 KB
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  /* Copyright 2011-2014 Autronica Fire and Security AS
   *
   * This program is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License as published by the Free
   * Software Foundation; either version 2 of the License, or (at your option)
   * any later version.
   *
   * Author(s):
   *	2011-2014 Arvid Brodin, arvid.brodin@alten.se
   */
  
  #ifndef __HSR_PRP_SLAVE_H
  #define __HSR_PRP_SLAVE_H
  
  #include <linux/skbuff.h>
  #include <linux/netdevice.h>
  #include <linux/rtnetlink.h>
  #include "hsr_prp_main.h"
  
  int hsr_prp_add_port(struct hsr_prp_priv *priv, struct net_device *dev,
  		     enum hsr_prp_port_type pt);
  void hsr_prp_del_port(struct hsr_prp_port *port);
  bool hsr_prp_port_exists(const struct net_device *dev);
  
  static inline struct hsr_prp_port
  *hsr_prp_port_get_rtnl(const struct net_device *dev)
  {
  	ASSERT_RTNL();
  	return hsr_prp_port_exists(dev) ?
  				rtnl_dereference(dev->rx_handler_data) : NULL;
  }
  
  static inline struct hsr_prp_port
  *hsr_prp_port_get_rcu(const struct net_device *dev)
  {
  	return hsr_prp_port_exists(dev) ?
  				rcu_dereference(dev->rx_handler_data) : NULL;
  }
  
  #endif /* __HSR_PRP_SLAVE_H */