net: ieee802154: Allow event callback configuration
Implement a way to pass handler for various events from radio driver Signed-off-by: Marek Porwisz <marek.porwisz@nordicsemi.no>
This commit is contained in:
parent
093fec62e7
commit
bca112f073
1 changed files with 18 additions and 2 deletions
|
@ -26,8 +26,6 @@ extern "C" {
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef void (*energy_scan_done_cb_t)(struct device *dev, s16_t max_ed);
|
|
||||||
|
|
||||||
enum ieee802154_hw_caps {
|
enum ieee802154_hw_caps {
|
||||||
IEEE802154_HW_FCS = BIT(0), /* Frame Check-Sum supported */
|
IEEE802154_HW_FCS = BIT(0), /* Frame Check-Sum supported */
|
||||||
IEEE802154_HW_PROMISC = BIT(1), /* Promiscuous mode supported */
|
IEEE802154_HW_PROMISC = BIT(1), /* Promiscuous mode supported */
|
||||||
|
@ -48,6 +46,16 @@ enum ieee802154_filter_type {
|
||||||
IEEE802154_FILTER_TYPE_SRC_SHORT_ADDR,
|
IEEE802154_FILTER_TYPE_SRC_SHORT_ADDR,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum ieee802154_event {
|
||||||
|
IEEE802154_EVENT_TX_STARTED /* Data transmission started */
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef void (*energy_scan_done_cb_t)(struct device *dev, s16_t max_ed);
|
||||||
|
|
||||||
|
typedef void (*ieee802154_event_cb_t)(struct device *dev,
|
||||||
|
enum ieee802154_event evt,
|
||||||
|
void *event_params);
|
||||||
|
|
||||||
struct ieee802154_filter {
|
struct ieee802154_filter {
|
||||||
/** @cond ignore */
|
/** @cond ignore */
|
||||||
union {
|
union {
|
||||||
|
@ -98,6 +106,11 @@ enum ieee802154_config_type {
|
||||||
|
|
||||||
/** Enable/disable promiscuous mode. */
|
/** Enable/disable promiscuous mode. */
|
||||||
IEEE802154_CONFIG_PROMISCUOUS,
|
IEEE802154_CONFIG_PROMISCUOUS,
|
||||||
|
|
||||||
|
/** Specifies new radio event handler. Specifying NULL as a handler
|
||||||
|
* will disable radio events notification.
|
||||||
|
*/
|
||||||
|
IEEE802154_CONFIG_EVENT_HANDLER
|
||||||
};
|
};
|
||||||
|
|
||||||
/** IEEE802.15.4 driver configuration data. */
|
/** IEEE802.15.4 driver configuration data. */
|
||||||
|
@ -121,6 +134,9 @@ struct ieee802154_config {
|
||||||
|
|
||||||
/** ``IEEE802154_CONFIG_PROMISCUOUS`` */
|
/** ``IEEE802154_CONFIG_PROMISCUOUS`` */
|
||||||
bool promiscuous;
|
bool promiscuous;
|
||||||
|
|
||||||
|
/** ``IEEE802154_CONFIG_EVENT_HANDLER`` */
|
||||||
|
ieee802154_event_cb_t event_handler;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue