diff options
Diffstat (limited to 'net/ieee802154/6lowpan/6lowpan_i.h')
-rw-r--r-- | net/ieee802154/6lowpan/6lowpan_i.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/net/ieee802154/6lowpan/6lowpan_i.h b/net/ieee802154/6lowpan/6lowpan_i.h index edbe80314b7..29ec61b0175 100644 --- a/net/ieee802154/6lowpan/6lowpan_i.h +++ b/net/ieee802154/6lowpan/6lowpan_i.h @@ -1,6 +1,8 @@ #ifndef __IEEE802154_6LOWPAN_I_H__ #define __IEEE802154_6LOWPAN_I_H__ +#include <linux/list.h> + #include <net/inet_frag.h> struct lowpan_create_arg { @@ -34,8 +36,31 @@ static inline u32 ieee802154_addr_hash(const struct ieee802154_addr *a) } } +struct lowpan_dev_record { + struct net_device *ldev; + struct list_head list; +}; + +/* private device info */ +struct lowpan_dev_info { + struct net_device *real_dev; /* real WPAN device ptr */ + struct mutex dev_list_mtx; /* mutex for list ops */ + u16 fragment_tag; +}; + +static inline struct +lowpan_dev_info *lowpan_dev_info(const struct net_device *dev) +{ + return netdev_priv(dev); +} + +extern struct list_head lowpan_devices; + int lowpan_frag_rcv(struct sk_buff *skb, const u8 frag_type); void lowpan_net_frag_exit(void); int lowpan_net_frag_init(void); +void lowpan_rx_init(void); +void lowpan_rx_exit(void); + #endif /* __IEEE802154_6LOWPAN_I_H__ */ |