Lines Matching +full:hw +full:- +full:device +full:- +full:address

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * IEEE802.15.4-2003 specification
5 * Copyright (C) 2007-2012 Siemens AG
18 * enum ieee802154_hw_addr_filt_flags - hardware address filtering flags
20 * The following flags are used to indicate changed address settings from
23 * @IEEE802154_AFILT_SADDR_CHANGED: Indicates that the short address will be
26 * @IEEE802154_AFILT_IEEEADDR_CHANGED: Indicates that the extended address
31 * @IEEE802154_AFILT_PANC_CHANGED: Indicates that the address filter will
32 * do frame address filtering as a pan coordinator.
42 * struct ieee802154_hw_addr_filt - hardware address filtering settings
44 * @pan_id: pan_id which should be set to the hardware address filter.
46 * @short_addr: short_addr which should be set to the hardware address filter.
48 * @ieee_addr: extended address which should be set to the hardware address
61 * struct ieee802154_hw - ieee802154 hardware
68 * @parent: parent device of the hardware.
79 struct device *parent;
87 * enum ieee802154_hw_flags - hardware flags
108 * address filter setting.
129 /* struct ieee802154_ops - callbacks from mac802154 to the driver
135 * start: Handler that 802.15.4 module calls for device initialization.
138 * stop: Handler that 802.15.4 module calls for device cleanup.
144 * The low-level driver should send the frame based on available
156 * The low-level driver should send the frame based on available
162 * (usually device-dependant) in the level pointer and return
167 * Set the device for listening on specified channel.
171 * Set radio for listening on specific address.
172 * Set the device for listening on specified address.
180 * Enables or disables listen before talk on the device. Called with
185 * Sets the CCA mode used by the device. Called with pib_lock held.
206 int (*start)(struct ieee802154_hw *hw);
207 void (*stop)(struct ieee802154_hw *hw);
208 int (*xmit_sync)(struct ieee802154_hw *hw,
210 int (*xmit_async)(struct ieee802154_hw *hw,
212 int (*ed)(struct ieee802154_hw *hw, u8 *level);
213 int (*set_channel)(struct ieee802154_hw *hw, u8 page,
215 int (*set_hw_addr_filt)(struct ieee802154_hw *hw,
218 int (*set_txpower)(struct ieee802154_hw *hw, s32 mbm);
219 int (*set_lbt)(struct ieee802154_hw *hw, bool on);
220 int (*set_cca_mode)(struct ieee802154_hw *hw,
222 int (*set_cca_ed_level)(struct ieee802154_hw *hw, s32 mbm);
223 int (*set_csma_params)(struct ieee802154_hw *hw,
225 int (*set_frame_retries)(struct ieee802154_hw *hw,
227 int (*set_promiscuous_mode)(struct ieee802154_hw *hw,
232 * ieee802154_get_fc_from_skb - get the frame control field from an skb
241 (skb_tail_pointer(skb) - in ieee802154_get_fc_from_skb()
250 * ieee802154_skb_dst_pan - get the pointer to destination pan field
279 * ieee802154_skb_src_pan - get the pointer to source pan field
294 /* if intra-pan and source addr mode is non none, in ieee802154_skb_src_pan()
338 * ieee802154_skb_is_intra_pan_addressing - checks whenever the mac addressing
357 * ieee802154_be64_to_le64 - copies and convert be64 to le64
367 * ieee802154_le64_to_be64 - copies and convert le64 to be64
377 * ieee802154_le16_to_be16 - copies and convert le16 to be16
387 * ieee802154_be16_to_le16 - copies and convert be16 to le16
397 * ieee802154_alloc_hw - Allocate a new hardware device
399 * This must be called once for each hardware device. The returned pointer
400 * must be used to refer to this device when calling other functions.
406 * @ops: callbacks for this device
408 * Return: A pointer to the new hardware device, or %NULL on error.
414 * ieee802154_free_hw - free hardware descriptor
420 * @hw: the hardware to free
422 void ieee802154_free_hw(struct ieee802154_hw *hw);
425 * ieee802154_register_hw - Register hardware device
431 * @hw: the device to register as returned by ieee802154_alloc_hw()
435 int ieee802154_register_hw(struct ieee802154_hw *hw);
438 * ieee802154_unregister_hw - Unregister a hardware device
443 * @hw: the hardware to unregister
445 void ieee802154_unregister_hw(struct ieee802154_hw *hw);
448 * ieee802154_rx_irqsafe - receive frame
453 * @hw: the hardware this frame came in on
457 void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb,
461 * ieee802154_xmit_complete - frame transmission complete
463 * @hw: pointer as obtained from ieee802154_alloc_hw().
467 void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb,
471 * ieee802154_xmit_error - offloaded frame transmission failed
473 * @hw: pointer as obtained from ieee802154_alloc_hw().
477 void ieee802154_xmit_error(struct ieee802154_hw *hw, struct sk_buff *skb,
481 * ieee802154_xmit_hw_error - frame could not be offloaded to the transmitter
484 * @hw: pointer as obtained from ieee802154_alloc_hw().
487 void ieee802154_xmit_hw_error(struct ieee802154_hw *hw, struct sk_buff *skb);