#include <linux/module.h>
#include <linux/rtnetlink.h>
#include <net/mac802154.h>
#include "ieee802154_i.h"
#include "driver-ops.h"
#include "../ieee802154/nl802154.h"
#define IEEE802154_BEACON_MHR_SZ …
#define IEEE802154_BEACON_PL_SZ …
#define IEEE802154_MAC_CMD_MHR_SZ …
#define IEEE802154_MAC_CMD_PL_SZ …
#define IEEE802154_BEACON_SKB_SZ …
#define IEEE802154_MAC_CMD_SKB_SZ …
static int mac802154_scan_cleanup_locked(struct ieee802154_local *local,
struct ieee802154_sub_if_data *sdata,
bool aborted)
{ … }
int mac802154_abort_scan_locked(struct ieee802154_local *local,
struct ieee802154_sub_if_data *sdata)
{ … }
static unsigned int mac802154_scan_get_channel_time(u8 duration_order,
u8 symbol_duration)
{ … }
static void mac802154_flush_queued_beacons(struct ieee802154_local *local)
{ … }
static void
mac802154_scan_get_next_channel(struct ieee802154_local *local,
struct cfg802154_scan_request *scan_req,
u8 *channel)
{ … }
static int mac802154_scan_find_next_chan(struct ieee802154_local *local,
struct cfg802154_scan_request *scan_req,
u8 page, u8 *channel)
{ … }
static int mac802154_scan_prepare_beacon_req(struct ieee802154_local *local)
{ … }
static int mac802154_transmit_beacon_req(struct ieee802154_local *local,
struct ieee802154_sub_if_data *sdata)
{ … }
void mac802154_scan_worker(struct work_struct *work)
{ … }
int mac802154_trigger_scan_locked(struct ieee802154_sub_if_data *sdata,
struct cfg802154_scan_request *request)
{ … }
int mac802154_process_beacon(struct ieee802154_local *local,
struct sk_buff *skb,
u8 page, u8 channel)
{ … }
static int mac802154_transmit_beacon(struct ieee802154_local *local,
struct wpan_dev *wpan_dev)
{ … }
void mac802154_beacon_worker(struct work_struct *work)
{ … }
int mac802154_stop_beacons_locked(struct ieee802154_local *local,
struct ieee802154_sub_if_data *sdata)
{ … }
int mac802154_send_beacons_locked(struct ieee802154_sub_if_data *sdata,
struct cfg802154_beacon_request *request)
{ … }
int mac802154_perform_association(struct ieee802154_sub_if_data *sdata,
struct ieee802154_pan_device *coord,
__le16 *short_addr)
{ … }
int mac802154_process_association_resp(struct ieee802154_sub_if_data *sdata,
struct sk_buff *skb)
{ … }
int mac802154_send_disassociation_notif(struct ieee802154_sub_if_data *sdata,
struct ieee802154_pan_device *target,
u8 reason)
{ … }
static int
mac802154_send_association_resp_locked(struct ieee802154_sub_if_data *sdata,
struct ieee802154_pan_device *target,
struct ieee802154_assoc_resp_pl *assoc_resp_pl)
{ … }
int mac802154_process_association_req(struct ieee802154_sub_if_data *sdata,
struct sk_buff *skb)
{ … }
int mac802154_process_disassociation_notif(struct ieee802154_sub_if_data *sdata,
struct sk_buff *skb)
{ … }