mac802154.h (57205c14ca9147c1907556f77998cf82624d9fd6) | mac802154.h (5a50439775853a8d565115edb63a5ab4bb780479) |
---|---|
1/* 2 * IEEE802.15.4-2003 specification 3 * 4 * Copyright (C) 2007-2012 Siemens AG 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 8 * as published by the Free Software Foundation. --- 38 unchanged lines hidden (view full) --- 47 * addresses and enables transmissions between 48 * devices across independent networks. 49 */ 50 __le16 short_addr; 51 __le64 ieee_addr; 52 u8 pan_coord; 53}; 54 | 1/* 2 * IEEE802.15.4-2003 specification 3 * 4 * Copyright (C) 2007-2012 Siemens AG 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 8 * as published by the Free Software Foundation. --- 38 unchanged lines hidden (view full) --- 47 * addresses and enables transmissions between 48 * devices across independent networks. 49 */ 50 __le16 short_addr; 51 __le64 ieee_addr; 52 u8 pan_coord; 53}; 54 |
55struct ieee802154_dev { | 55struct ieee802154_hw { |
56 /* filled by the driver */ 57 int extra_tx_headroom; 58 u32 flags; 59 struct device *parent; 60 61 /* filled by mac802154 core */ 62 struct ieee802154_hw_addr_filt hw_filt; 63 void *priv; --- 90 unchanged lines hidden (view full) --- 154 * Returns either zero, or negative errno. 155 * 156 * set_frame_retries 157 * Sets the retransmission attempt limit. Called with pib_lock held. 158 * Returns either zero, or negative errno. 159 */ 160struct ieee802154_ops { 161 struct module *owner; | 56 /* filled by the driver */ 57 int extra_tx_headroom; 58 u32 flags; 59 struct device *parent; 60 61 /* filled by mac802154 core */ 62 struct ieee802154_hw_addr_filt hw_filt; 63 void *priv; --- 90 unchanged lines hidden (view full) --- 154 * Returns either zero, or negative errno. 155 * 156 * set_frame_retries 157 * Sets the retransmission attempt limit. Called with pib_lock held. 158 * Returns either zero, or negative errno. 159 */ 160struct ieee802154_ops { 161 struct module *owner; |
162 int (*start)(struct ieee802154_dev *dev); 163 void (*stop)(struct ieee802154_dev *dev); 164 int (*xmit)(struct ieee802154_dev *dev, | 162 int (*start)(struct ieee802154_hw *hw); 163 void (*stop)(struct ieee802154_hw *hw); 164 int (*xmit)(struct ieee802154_hw *hw, |
165 struct sk_buff *skb); | 165 struct sk_buff *skb); |
166 int (*ed)(struct ieee802154_dev *dev, u8 *level); 167 int (*set_channel)(struct ieee802154_dev *dev, | 166 int (*ed)(struct ieee802154_hw *hw, u8 *level); 167 int (*set_channel)(struct ieee802154_hw *hw, |
168 int page, 169 int channel); | 168 int page, 169 int channel); |
170 int (*set_hw_addr_filt)(struct ieee802154_dev *dev, 171 struct ieee802154_hw_addr_filt *filt, | 170 int (*set_hw_addr_filt)(struct ieee802154_hw *hw, 171 struct ieee802154_hw_addr_filt *filt, |
172 unsigned long changed); | 172 unsigned long changed); |
173 int (*ieee_addr)(struct ieee802154_dev *dev, __le64 addr); 174 int (*set_txpower)(struct ieee802154_dev *dev, int db); 175 int (*set_lbt)(struct ieee802154_dev *dev, bool on); 176 int (*set_cca_mode)(struct ieee802154_dev *dev, u8 mode); 177 int (*set_cca_ed_level)(struct ieee802154_dev *dev, | 173 int (*ieee_addr)(struct ieee802154_hw *hw, __le64 addr); 174 int (*set_txpower)(struct ieee802154_hw *hw, int db); 175 int (*set_lbt)(struct ieee802154_hw *hw, bool on); 176 int (*set_cca_mode)(struct ieee802154_hw *hw, u8 mode); 177 int (*set_cca_ed_level)(struct ieee802154_hw *hw, |
178 s32 level); | 178 s32 level); |
179 int (*set_csma_params)(struct ieee802154_dev *dev, | 179 int (*set_csma_params)(struct ieee802154_hw *hw, |
180 u8 min_be, u8 max_be, u8 retries); | 180 u8 min_be, u8 max_be, u8 retries); |
181 int (*set_frame_retries)(struct ieee802154_dev *dev, | 181 int (*set_frame_retries)(struct ieee802154_hw *hw, |
182 s8 retries); 183}; 184 | 182 s8 retries); 183}; 184 |
185/* Basic interface to register ieee802154 device */ 186struct ieee802154_dev * 187ieee802154_alloc_device(size_t priv_data_len, struct ieee802154_ops *ops); 188void ieee802154_free_device(struct ieee802154_dev *dev); 189int ieee802154_register_device(struct ieee802154_dev *dev); 190void ieee802154_unregister_device(struct ieee802154_dev *dev); | 185/* Basic interface to register ieee802154 hwice */ 186struct ieee802154_hw * 187ieee802154_alloc_hw(size_t priv_data_len, struct ieee802154_ops *ops); 188void ieee802154_free_hw(struct ieee802154_hw *hw); 189int ieee802154_register_hw(struct ieee802154_hw *hw); 190void ieee802154_unregister_hw(struct ieee802154_hw *hw); |
191 | 191 |
192void ieee802154_rx_irqsafe(struct ieee802154_dev *dev, struct sk_buff *skb, | 192void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb, |
193 u8 lqi); 194 195#endif /* NET_MAC802154_H */ | 193 u8 lqi); 194 195#endif /* NET_MAC802154_H */ |